ECS(Elastic Container Service)
Docker環境を提供するサービス
ECSはDocker環境に必要な設定が含まれたEC2インスタンス(cluster)を起動し、その管理をサポートします
特徴
1つのCluster上では複数のコンテナ(Task)を実行することができる
Cluster上で動作するTaskの定義はTask Definitionで行う
Taskの役割毎にTask Definitionを用意し、それをもとにCluster上でTaskが起動する
また同じTaskを複数用意したい時など、Serviceを利用すれば「Webサーバ用のTaskDefinitionを2つ起動する」ということが可能になる
セキュリティ面での特徴としては
- TaskごとにIAMロールを割り当て可能
- EC2ではインスタンス単位でしか割り当てられない
AWS上の他のコンテナサービス
- AWS Fargate
- EC2を利用しないでコンテナを動かすサービス
- インスタンスの管理が不要になる
- EC2を利用しないでコンテナを動かすサービス
- Amazon Elastic Container Service for Kubernetes(EKS)
- OSSのKubernetesを利用する
- コンテナ管理の自動化のためのオープンソースプラットフォーム
- EC2を利用せず、マスターをサービスとして提供する
- 従来はマスター用のEC2インスタンスを複数用意しての管理が必要だった
- Amazon Elastic Container Registry(ECR)
- コンテナイメージをレジストリ1で管理する
- レジストリへのpush/pull権限をIAMで管理することもできる
用語
- Cluster
- EC2インスタンス
- Task
- EC2インスタンス上で呼ばれるコンテナ
- Task Definition
- Taskの設定ファイル(タスク定義)
- Service
- タスク定義の指定した数 (「必要数」) の同時インスタンスを ECS クラスターで実行する
参考図書:AWS認定資格試験テキスト AWS認定ソリューションアーキテクト[アソシエイト]
-
ストレージとコンテント配送サービス ↩