ECS でコンテナを動作させる前に ECS で使われる基本的な用語を確認します。
既に登場したクラスタ以外に Task Definition (タスク定義)
と Service (サービス)
という概念が新たに出てきます。
タスク定義には 1 つ以上のコンテナの設定等が記述してあり、これ参照して タスク(コンテナ群)
が実行できます。
このタスクを長時間・複数個起動する場合には サービス
を設定します。
今回は、タスク定義として Rails のコンテナを設定し、サービスとして 2 つのタスクを実行するようにします。
まずはタスク定義から設定します。マネージドコンソールで ECS を開きます。
ネットワークモードに関してはこちらのドキュメントをご参考下さい。 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definition_parameters.html#network_mode
イメージの URI
を貼り付ける
更にもう1つコンテナを追加することで、1つのタスク内で2つのコンテナを動かすことも可能です。
タスク定義の作成が完了しました。早速、このタスクを使ってサービスを作成してみます。
タスク定義から直接タスクを実行することもできます。
セキュリティーグループが default
になっていることを再確認して下さい。
ECS は ELB と連携させてタスクを実行させることができます。既に作成してある ALB を指定して設定します。
リスナーが 80番、コンテナが3000番というのは、Cloud9 で実行したパラメータと同様です。
ついにオーケストレーションツールを用いてコンテナを EC2 上で動作させることができました。
最後に、このコンテナの動作を確認していきます。