メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

スタックインスタンスの削除

AWS マネジメントコンソール 内で、または AWS CLI で AWS CloudFormation コマンドを使用することでスタックセットインスタンスを削除できます。この手順では、すべてのスタックを削除します。

AWS マネジメントコンソール を使用してスタックインスタンスを削除するには

  1. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

  2. ページ上部で、[StackSets] を選択します。StackSets ホームページで、「新しいスタックセットの作成」で作成したスタックセットを選択します。このウォークスルーで、my-awsconfig-stackset という名前のスタックセットを作成しました。

     スタックセットの選択
  3. スタックセットを選択した状態で、[Actions] メニューから [Manage stacks in stack set] を選択します。

  4. [Delete stacks]、[Next] の順に選択します。

     スタックセットのスタックの管理、選択したスタックの削除
  5. [Accounts] 領域の [Set deployment options] ページで、[Delete stacks from account] を選択します。

     すべてのアカウントからスタックを削除する
  6. [Delete stacks from account] テキストボックスに、新しいスタックセットの作成 でスタックセットの作成に使用したすべてのターゲットアカウント ID を貼り付けます。

  7. [Regions] 領域で、すべてのリージョンを選択 (リージョンの選択中に [Ctrl] を長押しして複数のリージョンを選択します) し、次に [Add] を選択してリストにすべてのスタックセットリージョンを追加します。すべてのリージョンのすべてのターゲットアカウントのすべてのスタックを削除するよう、AWS CloudFormation に指示しています。

  8. [Preferences] 領域で、デフォルト値の [1] と [Maximum concurrent accounts] の数値をそのままにし、障害耐性の値を [1] に変更します。障害耐性数値に設定されていることを確認してください。

  9. [Retain stacks] 領域で、デフォルト設定の [No] を保持します。

    スタックセットからスタックを削除する際、[Retain stacks] オプションによって、スタックセットからスタックインスタンスを削除するが、スタックと関連するリソースを保存する、という選択を行うことができます。[Retain stacks] オプションを選択してスタックセットからスタックを保存すると、スタックのリソースは現在の状態のままですが、スタックはスタックセットの一部ではなくなります。保持されたスタックを再び関連付けることや、既存の保存されたスタックを新しいスタックセットに追加することはできません。スタックは、スタックセットから永久に独立します。この手順では、スタックセット全体を削除するためにすべてのスタックを削除するため、スタックを保持しません。

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

  11. [Review] ページで選択内容を確認します。各セクションの右上隅にある [Edit] を選択して、必要に応じて戻って変更を行います。スタックを削除する準備ができたら、[Delete stacks] を選択します。

  12. スタックの削除が完了したあと、ホームページ上の StackSets 管理コンソールのスタックセットから、スタックインスタンスが削除されたことを確認できます。

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

スタックインスタンスを削除する準備ができたら、delete-stack-instances AWS CLI コマンドを実行します。

  • 次のコマンドを実行し、account_ID を、新しいスタックセットの作成 でスタックセットの作成に使用したアカウントと置き換えます。stack set name には、スタックセット名 my-awsconfig-stackset を指定します。

    次の例で示している通り、--operation-preferences パラメータで FailureToleranceCount0 に、MaxConcurrentCount1 に設定することで、障害耐性および同時アカウントの最大数を設定します。代わりに割合を適用するには、FailureTolerancePercentage または MaxConcurrentPercentage を使用します。このウォークスルーでは、割合ではなくカウントを使用します。

    --retain-stacksdelete-stack-instances に必要なパラメータであるため、スタックを保持 (保存) したくない場合、--no-retain-stacks を追加します。このウォークスルーでは、スタックを保持しないため、--no-retain-stacks パラメータを追加します。

    Copy
    aws cloudformation delete-stack-instances --stack-set-name my-awsconfig-stackset --accounts '["account_ID_1","account_ID_2"]' --regions '["region_1","region_2"]' --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1 --no-retain-stacks

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

    Copy
    aws cloudformation describe-stack-set-operation --operation-id operation_ID