開発実装 #62
Lunatic1998 さんが7ヶ月前に更新
#### ECS(Elastic Container Service)とは
- Docker コンテナのデプロイや運用管理を行うための、フルマネージドなコンテナオーケストレーションサービス
#### タスク
- コンテナの実行単位をタスクと呼ぶ。
- どういったコンテナをどんなインスタンスで実行するかをタスク定義にて記す。
#### サービス
- コンテナが実行し処理が完了すると、すぐに終了する。
- ECSサービスは起動するタスクの数を定義して、指定した数のタスクを維持する。
- ALBで受け取ったリクエストとコンテナに引き渡す。
#### 運用上の注意
- ECS を活用して ECR に登録済みのコンテナイメージをもとに Fargate 上にコンテナを稼働させる。
- ユーザーはサーバーのプロビジョニングや管理を行う必要がない。
- コンテナの実行に必要なリソース(CPU、メモリ)のみを指定する。
- そのため運用コストがEC2よりも低い。
- ECSはプライベートサブネットに存在しているため、ECR用のVPCエンドポイントを作成する必要がある。 #63
- ECSにECRへのアクセス権限を付与するには、IAMロールを付与する必要がある。
- [arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolic](https://docs.aws.amazon.com/ja_jp/aws-managed-policy/latest/reference/AmazonECSTaskExecutionRolePolicy.html)
```
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"logs:CreateLogStream",
"logs:PutLogEvents"
```