AWS CloudFormation で削除または停止されたアカウントから StackSets を削除するにはどうすればよいですか?

最終更新日: 2020 年 6 月 22 日

AWS CloudFormation StackSet からスタックインスタンスを削除したいのですが、ターゲット AWS アカウントが削除または停止されたため、削除に失敗します。

簡単な説明

削除または停止されたターゲットアカウントのスタックを参照するスタックインスタンスを削除することはできません。削除オペレーションは失敗し、スタックインスタンスは INOPERABLE ステータスに移行します。AWSCloudFormationStackSetAdministrationRoleAWSCloudFormationStackSetExecutionRole ロールを引き受けることができないため、削除オペレーションは失敗します。これは、アカウントが削除または停止されると使用できなくなります。

INOPERABLE スタックインスタンスを削除するには、DeleteStackInstances オペレーションを実行し、RetainStackstrue に設定する必要があります。このオペレーションでは、今後のオペレーション用に、スタックインスタンスを StackSet から疎結合化します。

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

解決方法

注: 次の解決方法は、StackSet の PermissionModelSELF-MANAGED に設定されている場合にのみ適用されます。

INOPERABLE スタックインスタンスは、AWS CloudFormation コンソールまたは AWS CLI を使用して削除できます。

AWS CloudFormation コンソール

1.    [AWS CloudFormation コンソール] を開きます。

2.    ナビゲーションペインで、[StackSets] を選択します。

3.    StackSet 名列から、削除するインスタンスを含むスタックセットを選択します。

4.    [アクション] を選択してから、[StackSets からのスタックの削除] を選択します。

5.    [デプロイオプションの設定] ページの [アカウント番号] に、一時停止または削除された AWS アカウントの 12 桁のアカウント番号を入力します。

6.    [Specify regions] (リージョンの指定) セクションで、スタックインスタンスの AWS リージョンを選択します。

7.    [Deployment options] (デプロイオプション) セクションで、[Retain stacks] (スタックを保持する) をオンにして [Next] (次へ) を選択します。

8.    [Review] (確認) ページで、[Submit] (送信) を選択します。

AWS CLI

AWS CLI で、次のコマンドを実行します。

$ aws cloudformation delete-stack-instances --stack-set-name awsstacksetname123 --accounts stackinstanceaccount --regions stackinstanceregion --retain-stacks

注: awsstacksetname123 を StackSet の名前に置き換えます。stackinstanceaccount を、削除または停止されたアカウントの AWS アカウント番号に置き換えます。stackinstanceregion を、スタックインスタンスがあるリージョンに置き換えます。


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


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