コンテナ楽しいですよね!
本記事ではAmazonECSの概要を確認して実際にアプリケーションをECSにデプロイして動作を確認することをゴールとします。参考にしている資料が最新ではないものも含まれているので、少し古い内容かもしれません。
はじめに
そもそもAmazonECSの概要を確認しておきます。
Amazon ECSのコンポーネント
| コンポーネント | 説明 |
|---|---|
| Task | Instatnce上で実行されている実際のContainer |
| Task Definition | Taskで使うContainer及び周辺設定の定義 |
| Cluster | Taskが実行されているEC2 Instance群 |
| Manager | ClusterのリソースとTaskの状態を管理 |
| Scheduler | Clusterの状態を見て、Taskを配置 |
| Agent | EC2 InstanceとManagerの連携を司る |
Task = コンテナ という意味ということが分かりました。Taskを中心に関連する用語について考えると分かりやすかったです。
Amazon ECSの機能
| 機能名 | 説明 |
|---|---|
| Service | ロングランニングアプリケーション |
| Security | セキュアな環境でコンテナを動かす |
| Simple | インストール不要でAWSネイティブ連携 |
- Service
- Security
- 各TaskにIAMロールを指定することができる
- Task Definitionで指定したり、run-task時に指定したり
- 各TaskにIAMロールを指定することができる
- Simple
- マスターサーバ群が不要
- Amazon CloudWatch Logsと簡単に連携
ECSの機能の中心はServiceで、これはTask DefinitionやTask、Load Balancerと関連するよ~ということですね。
エンティティの関連図

Amazon EC2 Container Service(ECS)の概念整理 - Qiita より引用
構築
軽く試してみるなら以下のクラスメソッドさんの記事が一番分かりやすかったです。
参考資料
- 20180220 AWS Black Belt Online Seminar - Amazon Container Services
- AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
- Amazon ECS入門 〜公式のDockerイメージを使って10分で構築してみる〜 | DevelopersIO
- Amazon EC2 Container Service(ECS)の概念整理 - Qiita
- AWS ECSでDockerコンテナ管理入門(基本的な使い方、Blue/Green Deployment、AutoScalingなどいろいろ試してみた) - Qiita