CloudFormation コンソールまたは AWS CLI を使用してスタックインスタンスを削除する - AWS CloudFormation

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

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

サービスマネージド型のアクセス許可を持つスタックセットの場合、最上位の組織単位 (OU) からスタックインスタンスを削除すると、スタックセットのターゲットとして OU が削除されます。

CloudFormation コンソール使用してスタックインスタンスを削除する

  1. AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. 画面の上部のナビゲーションバーで、スタックセットを作成した AWS リージョン を選択します。

  3. ナビゲーションペインから [StackSets] を選択します。[StackSets] ページで、スタックセットを選択します。

  4. スタックセットを選択した状態で、[アクション] メニューから [StackSet からスタックを削除] を選択します。

  5. [デプロイオプションの設定] ページで、スタックインスタンスを削除するアカウントを選択します。

    1. [セルフマネージド型のアクセス許可] [アカウント] で [Deploy stacks in accounts (スタックをアカウントにデプロイ)] を選択します。ターゲットアカウント番号をテキストボックスに貼り付け、複数の数字をカンマで区切ります。

      [サービスマネージド型のアクセス許可] [組織単位 (OU)] では、ターゲット OU ID を指定します。

      注記

      StackSets は、指定したターゲット OU のすべての子 OU からスタックインスタンスを削除します。

    2. [Specify regions (リージョンの指定)] では、スタックインスタンスを削除するリージョンを選択します。

    3. [Deployment options (デプロイメントオプション)] で次のようにします。

      • [Maximum concurrent accounts (同時アカウントの最大数)] では、必要に応じて最大同時アカウント数を変更します。

      • [Failure tolerance (障害耐性)] では、必要に応じて障害耐性を変更します。

      • [Retain stacks (スタックの保持)] では、スタックセットからスタックインスタンスを削除するが、スタックと関連するリソースは保存するためにこのオプションを有効にするかどうかを選択します。[Retain stacks (スタックの保持)] オプションを有効にしてスタックセットからスタックを保存すると、スタックのリソースは現在の状態のままですが、スタックはスタックセットの一部ではなくなります。スタックを再関連付けするか、既存のスタックをスタックセットに追加するには、「スタックをスタックセットにインポートするための要件」を参照してください。

      • [Region concurrency (リージョンの同時実行)] では、必要に応じてリージョンの同時実行数を変更します。

      • [Concurrency mode (同時実行モード)] では、必要に応じて同時実行モードを変更します。

    4. [Next] を選択します。

  6. [確認] ページで選択内容を確認します。変更するには、関連セクションで [編集] をクリックします。

  7. スタックセットからスタックインスタンスを削除する準備ができたら、[送信] を選択します。

    スタックの削除が終了したら、StackSet 詳細ページの [Stack instances (スタックインスタンス)] タブで、スタックセットからスタックインスタンスが削除されたことを確認できます。

AWS CLI を使用してスタックインスタンスを削除する

委任された管理者として行動する場合は、StackSets コマンドを実行するたびに --call-as オプションを DELEGATED_ADMIN に設定する必要があります。

--call-as DELEGATED_ADMIN
  1. delete-stack-instancesコマンドを実行します。--stack-set-name で、スタックセット名を指定します。

    --retain-stacksdelete-stack-instances コマンドに必要なため、スタックを保持 (保存) したくない場合、--no-retain-stacks を追加します。この例では、スタックを保持していないため、--no-retain-stacks オプションを追加します。

    [--regions] では、スタックインスタンスを削除するリージョンを選択します。この場合は、[米国西部 (オレゴン) リージョン] と [米国東部 (バージニア北部) リージョン] を選択します。

    [セルフマネージド型のアクセス許可] --accounts オプションで、スタックセットの作成に使用したアカウントを指定します。

    aws cloudformation delete-stack-instances --stack-set-name my-stackset \ --accounts '["account_ID_1","account_ID_2"]' --regions '["us-west-2","us-east-1"]' \ --no-retain-stacks

    [サービスマネージド型のアクセス許可] --deployment-targets で、スタックインスタンスを作成した組織 (ルート) ID または OU ID を指定します。

    aws cloudformation delete-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5jlwo", "ou-rcuk-slr5lh0a"]' --regions '["us-west-2","us-east-1"]' \ --no-retain-stacks
    注記

    StackSets は、指定したターゲット OU のすべての子 OU からスタックインスタンスを削除します。

    CloudFormation がこのスタックセット操作を実行する方法の設定を指定するには、次の例のように --operation-preferences プションを指定します。この例では、割合ではなくカウントを使用します。代わりに割合を適用するには、FailureTolerancePercentage または MaxConcurrentPercentage を使用します。

    --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1
    注記

    MaxConcurrentCount の値は、FailureToleranceCount の値に依存します。MaxConcurrentCount は、最大で FailureToleranceCount より 1 だけ多くなります。

  2. 必要に応じて、スタックの削除が完了したあと、describe-stack-set-operation コマンドを実行してスタック削除オペレーションのステータスおよび結果を表示し、スタックセットからスタックインスタンスが削除されたことを確認します。--operation-id には、delete-stack-instances コマンドに返されたオペレーション ID を使用します。

    aws cloudformation describe-stack-set-operation --stack-set-name my-stackset \ --operation-id ddf16f54-ad62-4d9b-b0ab-3ed8e9example