AWSコラム

AWSエンジニアのためのブログメディア

AWSのECSとは?使い方をコマンドベースで詳しく解説!

 
AWSのECSとは?使い方をコマンドベースで詳しく解説!

AWS ECSとは


AWS ECSとはEC2 Container Serviceといい、EC2におけるコンテナサービスを意味します。ECSを通して、コンテナを用いてAWS上にサービスをアップロードすることができます。

ECSでは、Dockerコンテナを使用するので、環境に依存せずに開発を容易に行うことができます。また、ECSの中でもAWS Fargateという起動タイプではリソースの管理をAWS側で自動に行ってくれるので、リソースの管理が容易になります。

AWS ECSの使い方


ECSの使い方には手順が4つあります。

①Dockerをインストール
②Dockerイメージを作成
③そして作成したDockerイメージをECRにプッシュ
④ECRにアップロードされたDockerコンテナを起動

使い方を順に説明していきます。この記事はAWS CLIを使うことを前提としているので、AWS CLIのセットアップが必要な方は、まずCLIの使い方を調べてみてください。

1. Dockerをインストールする

Dockerのインストールは公式サイトから行うことができます。自分のOSにあったものを公式ページの手順に沿ってインストールしてください。

2. Dockerイメージを作成する

Dockerイメージを作成するためには、docker-compose.ymlとDockerfileの2つを編集する必要があります。

詳しいDockerの使い方は別記事を参考にするようにしてください。Dockerイメージを作成する際に、TAGの名前を設定するようにしてください。後々これを使用します。

3. DockerイメージをECRにプッシュする

AWS ECR(Elastic Container Registry)にDockerイメージをプッシュします。

DockerイメージをECRにプッシュするためには、まずECR上で、リポジトリを作成し、リポジトリのアドレスを入手します。そして以下のコマンドを実行して、AWSにログインします。

そして以下のコマンドを実行し、ECRにプッシュするためにタグ付を行います。

そして最後にECRヘのプッシュを行います。そのために以下のコマンドを実行してください。

4. Dockerコンテナを起動する

以下で説明するコマンドにおいて、[]で囲まれる部分は該当する変数に置き換えてコマンドを実行してください。

下準備

まず、IAMにおいて、AmazonECS_FullAccess、AmazonEC2ContainerRegistryFullAccessの2つのポリシーをユーザーに追加してください。IAMの使い方については別記事を参照してください。

次にecsTaskExecutionRole のロールを作成します。手順はロールの作成、信頼されたエンティティの選択、EC2、アクセス権限ポリシーをアタッチ、AmazonECSTaskExecutionRolePolicyを選択、tagの追加はそのまま、名前にecsTaskExecutionRoleとして追加の順に行います。これでロールを作成することができます。

もしAmazonECSTaskExecutionRolePolicyが存在しない場合、アタッチポリシー、フィルターにAmazonECSTaskExecutionRolePolicy と入力し、AmazonECSTaskExecutionRolePolicy を選択してください。

ECSのConfigファイルを作成する

ecsのconfigファイルを作成します。configファイル自体は~/.ecsにあります。クラスター名は適宜変更してください。

そして以下のコマンドを実行し、AWSの認証情報をECSのconfigファイルに追加します。

クラスターとセキュリティグループを作成する

次に、クラスターとセキュリティグループを作成します。すでに作成済みのクラスターを更新するときは—forceオプションをつけましょう。何度も実行するとセキュリティグループのvpcが許容数を超えるので、その場合はEC2の画面から、セキュリティグループの不必要なキーを削除します。

出力例

そして以下のコマンドを実行し、セキュリティグループを作成します。

出力例

次に以下のコマンドを実行し、セキュリティグループルールを追加します。

ECSの構成ファイルを修正する

次に以下の2つのDockerの構成ファイルを修正します。以下ではNginxを使用する場合のdocker-composeファイルについて紹介しています。

ECSを起動する

このあとマネジメントコンソールに移動し、ECSの画面に移ります。そして、クラスター、タスク、パブリックIPの順にアクセスすることで起動しているコンテナを確認することができます。

まとめ


今回は、AWS ECSについての概要と、その使い方について解説しました。

特にリソースの管理を自動で行ってくれるAWS Fargateという起動タイプにおける使い方について紹介しました。

これまでDockerについて知ってはいても、実際の使い方がわからなかったという方や、Dockerの使い方は知っていたが、管理の手間を感じていた方は、本記事を参考にAWS ECSを使ってみてください。


AWS分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)
FEnetからご応募→夢テクノロジー入社でお祝い金最大120万円プレゼント

Search

Popular

reccomended

Categories

Tags