CloudFormation スタックが UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS または UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 状態のままになっているのはなぜですか?

所要時間1分
0

AWS CloudFormation スタックが UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS または UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 状態のままになっています。スタックを UPDATE_ROLLBACK_COMPLETE または UPDATE_COMPLETE 状態にしたいと考えています。

簡単な説明

CloudFormation スタックは、次の場合に UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS または UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 状態のままになります。

  • CloudFormation はまだ古いリソースを削除中であるか、依存関係の問題のためにそれらのリソースを削除できない。
  • ネストされたスタックの兄弟スタックが更新またはロールバックに失敗するため、リソースのクリーンアップが一時停止される。

解決方法

スタックのステータスを確認する

  1. CloudFormation コンソールを開きます。
  2. ナビゲーションペインで、[Stacks (スタック)] をクリックします。
  3. UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS または UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 状態のままになっているスタックを選択します。
  4. スタックの名前の横に NESTED ラベルが付いているかどうかを確認します。
  5. スタックの [Resources (リソース)] タブを選択してから、DELETE_IN_PROGRESS 状態のリソースがあるかどうかを確認します。
    注: [Status] (ステータス) 列には、リソースの状態が表示されます。

スタックの名前の横に NESTESTED ラベルがある場合は、ネストされたスタックのトラブルシューティングセクションの手順を実行します。

スタックの名前の横にラベルが付いていない場合は、ネストされていないスタックのトラブルシューティングセクションの手順を実行します。

ネストされたスタックのトラブルシューティング

スタックに DELETE_IN_PROGRESS 状態のリソースが 1 つ以上ある場合は、リソースのステータスを確認します。または、「CloudFormation スタックが CREATE_IN_PROGRESS、UPDATE_IN_PROGRESS、UPDATE_ROLLBACK_IN_PROGRESS、または DELETE_IN_PROGRESS の状態のままなのはなぜですか?」の「AWS CloudTrail ログを確認する」セクションの手順に従います

次の理由により、リソースが DELETE_IN_PROGRESS 状態のままになる可能性があります。

  • リソースを削除するにはさらに時間が必要。例えば、AWS።RDS።DBInstanceAWS።CloudFront።Distribution などのリソースは 、他のリソースよりも削除に時間がかかります。
  • 他のリソースがユーザーのリソースに依存している。例えば、Amazon Elastic Compute Cloud (Amazon EC2) セキュリティグループは、CloudFormation スタックの外部にある他のリソースで使用できます。AWS マネジメントコンソールを使用して、リソースに対して手動で作成された依存関係がないことを確認します。

注意: CloudFormation は、リソースをスキップしてクリーンアッププロセスを続行する前に、リソースを 3 回削除しようとします。

スタックに DELETE_IN_PROGRESS 状態のリソースがない場合は、次の手順を実行します。

  1. CloudFormation コンソールを開きます。
  2. ナビゲーションペインで [Stacks (スタック)] を選択してから、使用しているスタックを選択します。
  3. スタックの [概要] タブで、[ルートスタック] セクションにあるスタックを選択します。
  4. [ステータス] セクションでルートスタックのステータスを確認します 。

ルートスタックが UPDATE_IN_PROGRESS または UPDATE_ROLLBACK_IN_PROGRESS 状態である場合、スタックに依存する他のリソースは引き続き更新されています。依存するすべてのリソース (ネストされたスタック内のリソースを含む) が更新されると、CloudFormation はクリーンアッププロセスを開始します。

ルートスタックが UPDATE_ROLLBACK_FAILED 状態になっている場合は、スタックが UPDATE_ROLLBACK_IN_PROGRESS 状態になった後にロールバックに失敗した最初のリソースを特定します。このリソースを特定するには、CloudFormation コンソールでルートスタックの [Events (イベント)] タブを確認します。

ロールバックに失敗したリソースがネストされたスタックでない場合は、AWS CloudFormation スタックが UPDATE_ROLLBACK_FAILED 状態のままになっている場合に、このスタックを更新するにはどうすればよいですか? の手順を完了してください。

ロールバックに失敗したリソースがネストされたスタックである場合は、次の手順を実行します。

  1. ネストされたスタックが UPDATE_ROLLBACK_IN_PROGRESS 状態になった後にロールバックに失敗した最初のリソースを特定します。このリソースを特定するには、CloudFormation コンソールでネストされたスタックの [Events (イベント)] タブを確認します。リソースがまだネストされたスタックである場合は、ネストされたスタックではない、ロールバックに失敗したリソースを特定するまで、ネストされたスタックに対してこの手順を繰り返します。
  2. ロールバックプロセスを続行して、スタックを安定した状態にします。

重要: ContinueUpdateRollback オペレーション中にリソースをスキップすると、CloudFormation は指定されたリソースのステータスを UPDATE_COMPLETE にします。その後、CloudFormation はスタックのロールバックを継続します。ロールバックの完了後、スキップしたリソースの状態はスタックテンプレート内のリソースの状態と一致しません。スタックを再度更新する前に、リソースを更新して、相互に整合性を保ちます。これを行わないと、その後のスタック更新が失敗し、スタックが回復不能になる可能性があります。

ネストされていないスタックのトラブルシューティング

スタックに DELETE_IN_PROGRESS 状態のリソースが 1 つ以上ある場合は、AWS マネジメントコンソールを使用してリソースのステータスを確認します。または、「CloudFormation スタックが CREATE_IN_PROGRESS、UPDATE_IN_PROGRESS、UPDATE_ROLLBACK_IN_PROGRESS、または DELETE_IN_PROGRESS の状態のままなのはなぜですか?」の「AWS CloudTrail ログを確認する」セクションの手順に従います

注: [Status] (ステータス) 列には、リソースの状態が表示されます。

DELETE_IN_PROGRESS 状態のリソースがない場合は、CloudFormation の AWS サービスヘルスダッシュボードを使って運用上の問題を探します 。


関連情報

ネストされたスタックの使用

更新のロールバックに失敗しました

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ