ちょっと話題の記事

Amazon ECS入門 〜公式のDockerイメージを使って10分で構築してみる〜

2018.05.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Amazon ECS(Amazon Elastic Container Service)を案件で使うことになったので勉強中です。触り始めた時に入門系の記事が少ないなと思ったので、できるだけ簡単に構築できる手順をまとめました。Dockerは触ったことあるけど、ECSは触ったことがない方が対象です。

構築してみる

タスク定義の登録

まずはManagement ConsoleでECSの画面を開いて、左のタスク定義から新しいタスク定義を作成します。複数のコンテナをグループにしたものをタスクとして定義します。タスク単位でCPUやメモリの割り当てを行います。

タスク定義名を入力したら、コンテナを設定します。

赤枠の部分を入力します。イメージは公式のhttpdイメージを使っています。これは docker run するとフォアグラウンドでhttpdを実行するDockerイメージです。メモリ制限は適当な値を入力しています。ポートマッピングは docker run のオプションで指定するものと同じです。

コンテナが設定出来たら、作成ボタンをクリックします。

次にタスクの実行環境となるクラスターを作成します。クラスターとはタスクの実行環境になります。左からクラスターの画面に切り替えて、クラスターの作成ボタンをクリックしてください。

そのまま次のステップボタンをクリックします

この画面でDockerを動かすEC2のスペックやVPC、セキュリティグループなどネットワーク周りの設定をします。

この画面になったらクラスターの作成が完了しています。

最後にサービスを作成します。サービスとはタスクとクラスターを紐づけるものです。以下の画面でサービスの作成ボタンをクリックします。

タスク定義やクラスターの情報は入っていると思いますので、サービス名とタスク数を設定し、次のステップに進みます。

ELBの設定画面になります。今回は何もせずに次のステップに進みます。

Auto Scalingの設定画面になります。今回は何もせずに次のステップに進みます。

確認して作成ボタンをクリックします。

サービスの作成が完了したら、もう使えるようになっています。新しく立ち上がったEC2のパブリックIPを調べてブラウザで接続して見て下さい。It Works!と表示されたら成功です。

最後に

最初はタスクやサービス、クラスターなどDockerにはない用語があるので最初よくわからなかったのですが、簡単な構成で作ってみたところ大体どういうものか理解できました。次はもう少し細かいところを見ていきたいと思います