誰向けの記事?
こんな人たちへの助けになればと思って書いた記事です。
- ローカルでビルドしたコンテナイメージをECRにプッシュし、それを使ったタスク定義からサービスを作成しようとすると、「Error occurred during operation 'ECS Deployment Circuit Breaker was triggered'.」と CloudFormationに表示されてサービスがデプロイできなかった人
- CPUアーキテクチャ違い※がないことを確認しても上記が発生して、原因がわからない人
-※ https://qiita.com/masaozi3/items/801e07979696051ae93b
結論
私※の場合、下記が原因でデプロイに失敗していました。
※AWS初心者ですので、他に設定ミスがある可能性があります。が、下記に対処するとデプロイに成功することは確認済みです。
-
ECRのエンドポイント(com.amazonaws.region.ecr.dkr, com.amazonaws.region.ecr.api)を設定し、プライベートサブネット両方に関連付けしていた
- 関連付けていたのはプライベートサブネットですが、パブリックサブネットへのサービスのデプロイに失敗していました。
- エンドポイントを削除したら、パブリックサブネットへのデプロイに成功しました。
-
ビルドした環境とは異なる環境(例えばwindows)でdocker commitを行って更新したイメージをECRにプッシュした
- 私の場合、タスク定義のCPUアーキと同じ環境でイメージを作成し、それをdocker desktop for windows上でcommitして更新したイメージを使ってサービスを作成しようとすると、デプロイに失敗しました。
- docker desktopでcommitしなかったイメージを用いると、デプロイに成功しました。