DELETE_FAILED ステータスのままになっている AWS CloudFormation スタックを削除する方法を教えてください。

最終更新日: 2020 年 9 月 23 日

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

簡単な説明

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

  • スタックリソースに、依存オブジェクト、または削除できないその他の依存関係がある。この問題を解決するには、依存オブジェクト、または削除できないその他の依存関係を持つスタックを削除するセクションにある手順を完了してください。
  • 削除リクエストに含まれているセキュリティトークンが無効であるか、ロールが無効であるか、または引き受けることができない。この問題を解決するには、無効なセキュリティトークン、または無効なロールを持つスタックを削除するセクションにある手順を完了してください。
  • カスタムリソースが予想時間内に安定しなかった。この問題を解決するには、「安定化に失敗したカスタムリソースのスタックを削除する」セクションにある手順を完了してください。

解決方法

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

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

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

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

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

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

無効なセキュリティトークン、または無効なロールを持つスタックを削除する

存在しないサービスロールを使用して作成されたスタックを削除しようとすると、「DeleteStack 操作を呼び出すときにエラーが発生しました (ValidationError): ロール <arn> が無効であるか、または引き受けることができません。」というエラーが表示されます。

このエラーを解決するには、次の手順を実行してください

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

スタックのステータスが DELETE_COMPLETE に変わります。

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


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


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