DELETE_FAILED ステータスのままになっている AWS CloudFormation スタックを削除するにはどうすればよいですか?

最終更新日: 2022 年 4 月 5 日

AWS CloudFormation スタックを削除したいのですが、スタックが DELETE_FAILED ステータスのままになっています。

簡単な説明

以下の理由により、スタックは DELETE_FAILED ステータスのままになっている可能性があります。

  • スタックリソースに、依存オブジェクト、または削除できないその他の依存関係がある。この問題を解決するには、Delete a stack with a dependent object or other dependencies that can't be deleted セクションにある手順を完了してください。
  • 使用されているサービスロールが有効でない、または引き受けられない。この問題を解決するには、「無効なロールを持つスタックを削除する」セクションにある手順を実行してください。
  • カスタムリソースが想定時間内に安定しなかった。この問題を解決するには、「安定化に失敗したカスタムリソースのスタックを削除する」セクションにある手順を完了してください。

解決方法

依存オブジェクト、または削除できないその他の依存関係を持つスタックを削除する

依存関係の問題は通常、帯域外の変更を加えると発生します。たとえば、スタックの一部であるセキュリティグループがスタックの一部ではない Elastic Network Interface に添付されている場合、スタックは失敗します。スタックが失敗するのは、セキュリティグループリソースを削除できないためです。スタックを削除するには、その依存リソースを保持する必要があります。

リソースの保持中にスタックを削除するには、以下の手順を実行します。

AWS CloudFormation コンソール

  1. AWS CloudFormation コンソールを開きます。
  2. DELETE_FAILED ステータスのままになっているスタックを選択します。
  3. [Delete] (削除) を選択します。
    注意: ポップアップウィンドウが開き、削除に失敗したリソースが一覧表示されます。
  4. ウィンドウで、保持するリソースをすべて選択し、[Delete stack] (スタックの削除) を選択します。

AWS コマンドラインインターフェイス

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

次の delete-stack コマンドを実行します。

$ aws cloudformation delete-stack --stack-name my-stack --retain-resources myresource1 myresource2

注: my-stack は、ご使用のスタックの名前に置き換えてください。myresource1myresource2 は、削除に失敗したリソースの論理 ID に置き換えてください。

CloudFormation スタックはスタックの削除を再試行しますが、保持することを選択したリソースは削除しません。スタックのステータスが DELETE_COMPLETE に変わります。

重要: 不要な課金を避けるために、スタックを削除するときに保持しているリソースを手動で削除する必要があります。

無効なロールを持つスタックを削除する

現在存在しないサービスロールを使用して作成されたスタックを削除しようとすると、「An error occurred (ValidationError) when calling the DeleteStack operation: Role is invalid or cannot be assumed. (DeleteStack オペレーションを呼び出すときにエラーが発生しました (ValidationError): ロール が無効であるか、または引き受けることができません) 」というエラーが表示されます。

このエラーを解決するには、次のステップを実行してください。

  1. AWS CloudFormation コンソールを開きます。
  2. 削除するスタックを選択して、その詳細を確認します。
  3. [Stack info] (スタックの情報) タブで、スタックに割り当てられた IAM ロールの名前を書き留めます。
  4. ステップ 3 の IAM ロールと同じ名前を使用して、AWS Identity and Access Management (IAM) ロールを作成します
    重要: IAM ロールの作成時に、スタックのリソースを削除するための適切な許可がその IAM ロールに付与されていることを確認してください。
  5. AWS CloudFormation コンソールで、スタックの削除を再試行します。

安定化に失敗したカスタムリソースのスタックを削除する

想定時間内に安定化できなかったカスタムリソースのスタックを削除するには、How do I troubleshoot an AWS Lambda backed custom resource that's stuck in DELETE_FAILED status or DELETE_IN_PROGRESS status in AWS CloudFormation? を参照してください。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?