

# CloudFormation StackSets からスタックを削除する
<a name="stackinstances-delete"></a>

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

**Topics**
+ [StackSet からスタックを削除する (コンソール)](#stackinstances-delete-console)
+ [StackSet からスタックを削除する (AWS CLI)](#stackinstances-delete-cli)

**注記**  
最上位の組織単位 (OU) からスタックを削除すると、その OU は StackSet のターゲットとして削除されます。

## StackSet からスタックを削除する (コンソール)
<a name="stackinstances-delete-console"></a>

**スタックを削除するには**

1. AWS マネジメントコンソール にサインインし、CloudFormation コンソール ([https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)) を開きます。

1. 画面の上部のナビゲーションバーで、StackSet を作成した AWS リージョン を選択します。

1. ナビゲーションペインから [**StackSets**] を選択します。[StackSets] ページで、StackSet を選択します。

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

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

   1. [セルフマネージド型のアクセス許可] **[アカウント]** で、**[スタックをアカウントにデプロイ]** または **[スタックを組織単位にデプロイ]** を選択します。

      **[スタックをアカウントにデプロイ]** を選択した場合、ターゲットアカウント番号を (複数の数字はカンマで区切って) **[アカウント番号]** テキストボックスに貼り付けます。

      **[スタックを組織単位にデプロイ]** を選択した場合、**[組織番号]** テキストボックスにターゲット OU ID を貼り付けると、指定された組織の一部であるすべてのアカウントをターゲットにできます。

   1. [サービスマネージド型のアクセス許可] [**組織単位 (OU)**] では、ターゲット OU ID を指定します。
**重要**  
CloudFormation は、指定されたターゲット OU とその子 OU の両方からスタックを削除します。

      **[アカウントフィルタータイプ]** では、次のいずれかのオプションを選択し、アカウント番号を指定することで、スタックを削除するアカウントを絞り込むことができます。
      + **[なし]** (デフォルト) – 指定した OU 内のすべてのアカウントからスタックを削除します。
      + **[共通集合]** – 選択した OU 内の特定の個々のアカウントからのみスタックを削除します。
      + **[差異]** – 特定のアカウントを除く、選択した OU 内のすべてのアカウントからスタックを削除します。
      + **[和集合]** – 指定した OU と追加の個々のアカウントからスタックを削除します。

   1. **[リージョンの指定]** で、ターゲットアカウント内のスタックを削除するリージョンを選択します。

1. **[デプロイオプション]** で、次の操作を行います。
   + **[同時アカウントの最大数]** で、同時に処理されるアカウントの数を指定します。
   + **[耐障害性]** には、リージョンごとに許可されるアカウント障害の最大数を指定します。この制限に達すると、オペレーションは停止し、他のリージョンには進みません。
   + **[スタックを保持]** オプションを有効にすると、StackSet からスタックを削除するときに、スタックとそれに関連付けられたリソースが保存されます。リソースは現在の状態のままですが、StackSet には含まれなくなります。
   + **[リージョンの同時実行]** で、リージョンの処理方法を選択します。**[順次]** (一度に 1 つのリージョン) または **[並列]** (複数のリージョンを同時に) を選択できます。
   + **[同時実行モード]** で、オペレーションの実行中に同時実行がどのように動作するかを選択します。
     + **[厳格な耐障害性]** – 障害発生時の同時実行レベルを下げ、**[耐障害性]** の値を \$11 の範囲内にとどめます。
     + **[ソフトな障害耐性]** – 障害に関係なく、指定された同時実行レベル (**[同時アカウントの最大数]** の値) を維持します。

1. [**次へ**] を選択します。

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

1. StackSet からスタックを削除する準備ができたら、**[送信]** を選択します。

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

## StackSet からスタックを削除する (AWS CLI)
<a name="stackinstances-delete-cli"></a>

**注記**  
委任管理者として操作する場合は、コマンドに `--call-as DELEGATED_ADMIN` を含める必要があります。

StackSet 名を指定した **delete-stack-instances** コマンドを使用します。

これらの例では、スタックを保持していないため、`--no-retain-stacks` オプションを使用します。スタックとそのリソースを保持する場合は、`--no-retain-stacks` ではなく `--retain-stacks` を使用します。

`--regions` で、スタックを削除する AWS リージョン (`us-west-2`、`us-east-1` など) を指定します。

`--operation-preferences` オプションを使用して、同時アカウント処理およびその他の設定を設定します。これらの例では、カウントベースの設定を使用します。`MaxConcurrentCount` は `FailureToleranceCount` \$1 1 を超えることはできません。パーセンテージベースの設定の場合は、代わりに `FailureTolerancePercentage` または `MaxConcurrentPercentage` を使用します。

**スタックを削除するには (セルフマネージド型のアクセス許可)**  
`--accounts` オプションでは、スタックを削除するアカウントの ID を指定します。

```
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 \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

**スタックを削除するには (サービスマネージド型のアクセス許可)**  
`--deployment-targets` では、スタックを削除する組織のルート ID または組織単位 (OU) ID を指定します。

**重要**  
CloudFormation は、指定されたターゲット OU とその子 OU の両方からスタックを削除します。

```
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 \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

詳細については、「AWS CloudFormation API リファレンス」の「[DeleteStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html)」を参照してください。

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

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