ECS(Fargate)でサービスをデプロイできない

1

ECSにサービスをデプロイするところでエラーになってしまいます。 エラーはCloudFormationで確認したところ、Resource handler returned message: "Error occurred during operation 'ECS Deployment Circuit Breaker was triggered'."と出ております。 ネットで確認したところ、実行する環境のCPUアーキテクチャと、イメージのビルド時に設定されたCPUアーキテクチャが違うことで起きる問題ということがわかりました。 私はM1 Macを使用しているため、Dockerfileに--platform=linux/x86_64を追記して、再度ECRにプッシュして、タスクも修正したのですが、エラーが消えませんでした。 また、コンテナ側をARM環境で実行も試みましたが、こちらでも同様にエラーになりました。原因はわかりますでしょうか?CloudFormationのエラーのスクリーンショットです

ishi
gefragt vor 9 Monaten4435 Aufrufe
2 Antworten
1
Akzeptierte Antwort

失礼します。 タスクのロールはどのようになっているでしょうか? 私の方でもタスク作成部分のUIが少し変更されてからエラーが出るようになり、確認したところCloudWatchの権限がなく、同じエラーになりました。 DefaultのecsTaskExcutionRoleを利用するとCloudWatchのlogに入るための権限がないとのことでした。 ですので, ecsTaskExcutionRoleにCloudWatchのFullAccessを追加し、確認したところ問題なく動いたので事象が同じならと思い、共有させていただきます。

ngtmnt
beantwortet vor 9 Monaten
  • ご返信ありがとうございます。コメントをいただいた通りタスクロールのところでCloudWatchの権限を追加したところ、動きました。本当にありがとうございました。ずっと悩んでいたところだったので、動いて安心しました。

  • よかったです。 原因としては旧UIだとタスク作成時にロググループを作成するのに対し、新UIだとサービス作成時にロググループを作っているのが原因みたいですのでデフォルトのポリシーにロググループを作成するポリシーを追加すると動きそうです。 logs:CreateLogGroupだったかな? 最小権限で動かすならそこを調べてみるのをお勧めします。 一応、AWS側のミスだと思うのでいずれ修正されるのではと思います。

  • 詳細をありがとうございます。ポリシーのところまだ理解が不十分なので学習を進めようと思います。 この部分は早く修正されるといいなと思います。本当にありがとうございました!

1

CPUアーキテクチャの違いでもそのエラーは出ます。
他にもサーキット ブレーカーはデプロイに失敗(例えばアプリケーションが正常に動かせていない場合)などでも発生します。
なので、まずはコンテナが正常に動かせるかを確認してみてください。
以下のドキュメントが役に立つかもしれません。
https://repost.aws/knowledge-center/ecs-task-container-health-check-failures

profile picture
EXPERTE
beantwortet vor 9 Monaten
  • いただいたURLを参考にコンテナをローカルでテストして、コンテナのHEALTHCHECKではhealthyと表示できました。正常には動いていると思われます。

  • ご返信ありがとうございます。 コンテナの作成環境をローカルのMacではなくEC2 (Linux) などで行ってもエラーは発生しますか?

  • ご返信ありがとうございます。AWSを使用するのに慣れておらず一点質問です。EC2(Linux)でもエラーが発生するのかというのは、ECSのEC2インスタンスでもエラーが発生するのかという認識で間違いないでしょうか?

  • 言葉足らずで申し訳ございません。 行なって欲しいのはEC2(Linux)でコンテナイメージを作成してECRにプッシュして欲しいと言う事でした。 EC2のインスタンスタイプでt3.microとかを使用してコンテナイメージを作成しても同じエラーが出るのか確認していただきたいです。

  • わかりやすくご返信いただきありがとうございます。大変助かります。 EC2ではどう動かすか調べてからエラーが出るか確かめてみたいと思います。

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen