ECS(Elastic Container Service)

EC2上でのDockerコンテナを起動/停止を制御してくれる
インフラ(EC2)のプロビジョニングとメンテはユーザが行う必要あり
ALBとの連携が可能

ECSクラスタ 1VPC・マルチAZ・ASG内に配置するグループの名称
ECSサービス 複数のECSタスクをまとめる機能 ALBやASGと連携できる
ECSタスク =Dockerコンテナのこと タスク一つ一つにENIがアタッチされる
 起動タイプ
  EC2起動タイプ:EC2のことをコンテナインスタンスと呼ぶ
    ※ECSエージェント コンテナインスタンス内で働くソフトっぽ
  Fargate起動タイプ
    ※ Fargate サーバレスでDockerコンテナ起動/停止 ECSタスクをFargateに投げるだけ


ECSタスクのオートスケーリング
 基本?:SQSキュー→CloudWatch Metric(キューの長さ)→CloudWatchアラーム→タスクをオートスケーリング
 ※EC2起動タイプの場合:EC2まで自動で増えるわけじゃないので、ECS Capacity ProviderでEC2をスケーリングさせる

起動タイプALBロードバランシングの関係
 EC2起動タイプ:ALB連携の時は、セキュリティグループですべてのポートを許可する必要あり
 Fargate起動タイプ:タスク一つ一つにENIがアタッチされるので、ALB連携の時は、セキュリティグループですべてのポートを許可する必要あり


IAMロールで制御
 EC2インスタンスのIAMロール(ECSエージェントが使用する
  CloudWatchにログ送信、Docker image pull、SSM機密データ参照 等
 ECSタスクのIAMロール(タスク定義
  S3バケットにアクセスする、DynamoDBにアクセスする 等


ECSデータボリューム – EFSファイルシステム連携
 ECSタスクとFargateタスクの両方にマウントできる
 使用例:コンテナ用の永続的なマルチAZ共有ストレージ
 ちょっと高額

Amazon ECR(Elastic Container Resistry)

DockerHubみたいに自分の好きなイメージを置いとくことができるサービス

保管したデータ量・通信したデータ量に応じた課金(そんなに高くない)
ECS及びIAMと完全統合されたセキュリティ、S3によるバックアップ
Dockerイメージの脆弱性スキャン、バージョン、タグ、イメージのライフサイクルサポート(CodeBuild

ECR Public Gallery 


EKS(Elastic Kubernetes Service)