從堆疊集刪除堆疊執行個體 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從堆疊集刪除堆疊執行個體

您可以從中的堆疊集刪除堆疊執行個體 AWS Management Console,或使用中的 AWS CloudFormation 指令 AWS CLI。在此步驟中,我們將刪除所有堆疊。

對於具有服務受管許可的堆疊集,如果您從頂層組織單位 (OU) 刪除堆疊執行個體,則會將 OU 視為堆疊集的目標而移除。

使用 AWS Management Console刪除堆疊執行個體

  1. 請在以下位置開啟 AWS CloudFormation 主控台。 https://console.aws.amazon.com/cloudformation

  2. StackSets從導覽窗格中選擇。在 StackSets 頁面上,選取您在其中建立的堆疊組合建立堆疊集

  3. 選取堆疊組合後,從「動作」選單 StackSet中選擇「刪除堆疊」。

    從「動作」選單 StackSet 中選擇「刪除堆疊」。
  4. Set deployment options (設定部署選項) 頁面上,選擇要從中刪除堆疊執行個體的帳戶。

    1. [自我管理許可] 對於 Accounts (帳戶),選擇 Deploy stacks in accounts (在帳戶中部署堆疊)。在文字方塊中貼上您的目標帳戶號碼,並以逗號分隔多個號碼。

      [服務受管許可] 對於 Accounts (帳戶),選擇 Deploy stacks in organizational units (在組織單位中部署堆疊)。貼上堆疊集的目標 OU 的 ID。

      注意

      StackSets 也會從指定目標 OU 的任何子系 OU 中刪除堆疊執行個體。

      選取要從中刪除堆疊執行個體的組織單位。
    2. 針對 Deployment regions (部署區域),選擇要從中刪除堆疊執行個體的區域。在本例中為美國東部 (維吉尼亞北部) 區域和美國西部 (奧勒岡) 區域。

    3. 針對 Deployment options (部署選項)

      • 針對 Maximum concurrent accounts (同時使用的帳戶上限),保留 Number (數值)1 的預設值。

      • 針對 Failure tolerance (容錯能力),保留預設值 Number (數字)0

      Retain stacks (保留堆疊) 區域中保留停用的預設設定。

      當您從堆疊集刪除堆疊時,Retain stacks (保留堆疊) 選項可讓您選擇從堆疊集移除堆疊執行個體,但儲存堆疊及其相關的資源。當您選擇 Retain stacks (保留堆疊) 選項,從堆疊集儲存堆疊時,該堆疊的資源將保持在其目前狀態,但該堆疊已不再是堆疊的一部分。若要重新關聯堆疊,或將現有堆疊新增至堆疊組合,請參閱將 AWS CloudFormation StackSets堆疊匯入

      選擇下一步

  5. Review (檢閱) 頁面上,檢閱您的選項,然後選擇 Submit (提交)

  6. 堆疊刪除完成後,您可以在 StackSet 詳細資料頁面的 [堆疊執行個體] 索引標籤上,確認堆疊執行個體是否已從堆疊集中刪除。

    使用堆疊集詳細資訊頁面的 Stack instances (堆疊執行個體) 索引標籤,檢視堆疊執行個體的相關資訊。

使用 AWS CLI刪除堆疊執行個體

當您以委派的管理員身分執行時,您必須將--call-as參數設定為DELEGATED_ADMIN每次執行 StackSets命令時。

--call-as DELEGATED_ADMIN
  1. 執行 delete-stack-instances 命令。對於 --stack-set-name,指定堆疊集名稱 my-awsconfig-stackset

    藉由將 FailureToleranceCount 參數中的 0 設定為 MaxConcurrentCount,並將 1 設定為 --operation-preferences,以設定容錯能力和最大並行帳戶,如以下範例所示。若要改為套用百分比,請使用 FailureTolerancePercentageMaxConcurrentPercentage。為了此逐步解說之目的,我們將使用計數而非百分比。

    注意

    MaxConcurrentCount 的值取決於 FailureToleranceCount 的值。MaxConcurrentCount 最多比 FailureToleranceCount 多 1。

    由於 --retain-stacksdelete-stack-instances 的必要參數,如果您不想保留 (儲存) 堆疊,請新增 --no-retain-stacks。在此演練中,我們將新增 --no-retain-stacks 參數,因為我們不會保留任何堆疊。

    [自我管理許可] 以您在建立堆疊集中用來建立堆疊的帳戶取代 account_ID

    aws cloudformation delete-stack-instances --stack-set-name my-awsconfig-stackset --accounts '["0123456789012"]' --regions '["eu-west-1"]' --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1 --no-retain-stacks

    [服務受管許可] 對於 --deployment-targets,指定您要在其中建立堆疊執行個體的組織 (根) ID 或 OU ID。

    注意

    StackSets 也會從指定目標 OU 的任何子系 OU 中刪除堆疊執行個體。

    aws cloudformation delete-stack-instances --stack-set-name my-awsconfig-stackset --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5jlwo", "ou-rcuk-slr5lh0a"]' --regions '["eu-west-1"]' --no-retain-stacks
  2. 在堆疊刪除完成之後,選擇性地執行 describe-stack-set-operation 命令來顯示刪除堆疊操作的狀態和結果,以確認堆疊執行個體已從您的堆疊集刪除。針對 --operation-id,使用您的 delete-stack-instances 命令所傳回的操作 ID。

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