0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSワークショップのサンドボックス環境でCloudFormationスタックがROLLBACK_COMPLETEになった件

0
Last updated at Posted at 2026-08-15

概要

AWS Workshop Studioのサンドボックス環境でStep Functionsワークショップ(sfn-workshop)を進めようとしたところ、CDKでデプロイされる親スタックがROLLBACK_COMPLETE状態で作成失敗していた。原因調査から復旧までの手順を記録する。

環境

  • AWS Workshop Studio(参加者ロール: WSParticipantRole/Participant)
  • リージョン: us-east-1
  • 対象スタック
    • sfn-workshop(Step Functions Workshop Parent Stack、CDK製、ネストスタック多数)
    • CDKToolkit(CDK Bootstrap用、CREATE_COMPLETE)
    • code-editor(ブラウザ版VS Code環境、CREATE_COMPLETE)

症状

CloudFormationコンソールのスタック一覧で、sfn-workshopのステータスがROLLBACK_COMPLETEになっていた。CDKアプリのため、内部にはApigwCwConstructApiGatewayNestedWorkflowNestedStackSyncJobNestedStackStateMachineRoleConstructParallelStateNestedStackなど多数のネストスタックが存在する構成。

image.png

診断

1. ROLLBACK_COMPLETE状態の性質を確認

CloudFormationの仕様として、ROLLBACK_COMPLETE状態のスタックは直接更新(再デプロイ)できない。この状態から取れる操作は削除のみで、更新やスタックアクションによる再試行は選択肢にない。

2. デプロイタイムラインでエラー箇所を特定

スタック詳細画面の「最新のデプロイタイムライン」で、失敗したリソースを時系列で確認した。タイムライン上で赤色(失敗)になっていたのは以下のリソースだった。

  • 失敗日時: 21:25:46
  • 障害理由:
    Embedded stack arn:aws:cloudformation:us-east-1:911167911122:stack/sfn-workshop-AgenticDocTriageNestedStackAgenticDocTriageNestedStackResource5073FC2B-1UGTZOQE99AG/fb44d740-98a3-11f1-ac08-12ac9eff3c35 was not successfully created: null
    

この障害理由は「ネストスタックの作成に失敗した」という事実のみを示しており、具体的な原因(null)は含まれていなかった。CDKで生成されるスタックはネストが多段になりやすく、親スタックのイベントだけでは根本原因が分からないケースが典型的にある。
image.png

3. 根本原因の追跡方針

このケースでは、CloudFormationコンソールの「デプロイタイムライン」機能に「根本原因を表示」ボタンが用意されていた。通常は以下のいずれかで追跡する。

  • 「根本原因を表示」ボタンでCloudFormation側の自動追跡を使う
  • 手動でネストスタック(AgenticDocTriageNestedStackなど)を検索し、そのスタック自身のイベントタブを開いて、さらにCREATE_FAILEDの理由を確認する。理由が再度「Embedded stack ... null」であれば、もう一段深いネストスタックを同様に辿る

対処

ネストスタックの詳細原因を深追いする前に、実務上の判断として次の対応を優先した。

  1. ROLLBACK_COMPLETE状態のsfn-workshopスタックを削除
  2. ワークショップ用に用意されたcode-editor環境(ブラウザ版VS Code)のターミナルから、CDKデプロイコマンドを再実行

結果として、コードエディタからの再デプロイでスタック作成は成功した。

原因の推定

コンソールから直接スタックを再作成するのではなく、元々ワークショップが想定しているデプロイ経路(code-editor環境からのcdk deploy)を使って再実行したところ成功したことから、以下が有力な原因と考えられる。

  • IAMロールやポリシーの反映遅延(結果整合性)による一過性の失敗。CDKのネストスタックはリソース間の依存が多く、IAMロールが直前に作成された場合、それを参照する後続リソースの作成が一時的に失敗することがある
  • コンソールでの直接操作ではなく、ワークショップが用意した実行環境・パラメータ経由でデプロイすることで、CDK Context等の整合性が保たれた

いずれも単発の再試行で解消する性質の問題であり、テンプレート自体の恒久的な不備ではなかったと判断できる。

まとめ

  • ROLLBACK_COMPLETE状態のスタックは更新不可。復旧の第一手は削除であり、原因調査より先に確定させてよい判断
  • CDK製の多段ネストスタックでは、親スタックのイベントに具体的なエラー理由が出ないことがある(null表記)。原因追跡には子スタックへの手動ドリルダウン、またはCloudFormationの「根本原因を表示」機能が有効
  • ワークショップ環境では、コンソールでの再作成よりも、想定されたデプロイ経路(用意されたエディタ環境・CLI)からの再実行を先に試す方が復旧が早いケースがある
  • 今回の事象は、IAMロール反映遅延などの一過性要因による失敗であり、再デプロイのみで解消した
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?