🎉

CloudFormation(SAM)のスタック作成に失敗した場合に確認するべきこと

2023/04/06に公開

CloudFormation(SAM)のスタック作成に失敗した場合に確認するべきこと

  1. SAM のテンプレートにエラーがないか確認
  2. Lambda などで ECR を使用している場合に、エラー発生時のコンテナイメージが残っていないかどうかを確認

エラー内容

私の場合は、以下のようなエラーが発生しました。

Error: Failed to create/update the stack: *****, Waiter StackCreateComplete failed: Waiter encountered a terminal failure state: For expression "Stacks[].StackStatus" we matched expected path: "ROLLBACK_COMPLETE" at least once

1. SAMのテンプレートにエラーがないか確認する

おそらく、これが一番多い原因です。

SAM テンプレートのエラーは、sam validateで確認できますが、完璧ではありません。
バリデーションをクリアしても、実際にスタックを作成時にエラー発生の可能性があります。

これでエラーが発生した場合は具体的にどこが間違っているのかがわかりません。
単に以下のエラーが表示されます。

Error: Failed to create/update the stack: *****, Waiter StackCreateComplete failed: Waiter encountered a terminal failure state: For expression "Stacks[].StackStatus" we matched expected path: "ROLLBACK_COMPLETE" at least once

2. LambdaなどでECRを使用している場合に、エラー発生時のコンテナイメージが残っていないかどうかを確認する

Lambda などで ECR を使用している場合に、エラー発生時のコンテナイメージが残っていないかどうかを確認する必要があります。
メニューでECRと検索し、リポジトリ(Elastic Container Registry)を選択し、該当の古いイメージを削除してください。

Discussion