前提
- CDK を使い始めて一ヶ月
- TypeScript で CDK を書く
- ECS を触るの初めて
やりたいこと
- 他の人が書いた CDK のコードに ECS on EC2 のコードを追加する
- ECS on Fargate のコードは既にある
詰まった箇所
- サービスを作成しようとすると「[サービス名] was unable to place a task because no container instance met all of its requirements. Reason: No Container Instances were found in your cluster.」のエラーが出る
- クラスタ用に作成した EC2 インスタンスがクラスタに認識されていない…?
原因
EC2 インスタンスから ECS へ通信するには以下の三つの ECS 用のエンドポイントが必要だった
- com.amazonaws.region.ecs-agent
- com.amazonaws.region.ecs-telemetry
- com.amazonaws.region.ecs
困ったこと
- ググって出てくるコードはほぼパブリックサブネットに作られていてエンドポイントが必要なことにすぐに辿り着けなかった
- ECS on Fargate では上記の三つのエンドポイントは不要であることに気づけなかった