跳至內容

如何在已關閉或暫停的 AWS 帳戶中,從 CloudFormation 堆疊集刪除堆疊執行個體?

2 分的閱讀內容
0

我想從 AWS CloudFormation 堆疊集中刪除堆疊執行個體。刪除失敗,因為目標 AWS 帳戶已關閉或暫停。

簡短說明

若要刪除已關閉或暫停的帳戶之堆疊執行個體,您必須執行 DeleteStackInstances 作業,並將 RetainStacks 選項設定為 true。這會將堆疊執行個體從堆疊集中斷連線,但不會在目標帳戶中刪除該堆疊執行個體。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

若要從已關閉或暫停的帳戶中刪除堆疊執行個體,請使用 CloudFormation 主控台或 AWS CLI。依照您的堆疊集權限模型完成以下解決步驟。

使用自行管理權限刪除堆疊集

使用 CloudFormation 主控台

請完成下列步驟:

  1. 開啟 CloudFormation console (CloudFormation 主控台)。
  2. 在導覽窗格中,選擇 StackSets
  3. StackSet 名稱 欄中,選取該堆疊集。
  4. 選擇 Actions (動作),然後選擇 Delete stacks from StackSet (從 StackSet 刪除堆疊)。
  5. Set deployment options (設定部署選項) 頁面上,於 Account numbers (帳戶號碼) 中輸入已關閉或暫停帳戶的 12 位數 ID。
  6. Specify Regions (指定區域) 中,選擇您的堆疊執行個體所在的 AWS 區域。
  7. Deployment options (部署選項) 區段中,啟用 Retain stacks (保留堆疊),然後選擇 Next (下一步)。
  8. Review (檢閱) 頁面上,選擇 Submit (提交)。

使用 AWS CLI

執行以下 delete-stack-instances AWS CLI 命令:

$ aws cloudformation delete-stack-instances --stack-set-name ExampleStackSetName --accounts 1234567890abcdef0 --regions aa-example-1 --retain-stacks

注意:請將 ExampleStackSetName 替換為您的堆疊集名稱,將1234567890abcdef0 替換為您的堆疊執行個體帳戶 ID,並將 aa-example-1 替換為您的執行個體區域。

使用服務管理權限刪除堆疊集

使用 CloudFormation 主控台

請完成下列步驟:

  1. 開啟 CloudFormation console (CloudFormation 主控台)。
  2. 在導覽窗格中,選擇 StackSets
  3. StackSet 名稱 欄中,選取該堆疊集。
  4. 選擇 Actions (動作),然後選擇 Delete stacks from StackSet (從 StackSet 刪除堆疊)。
  5. Set deployment options (設定部署選項) 頁面上,執行以下動作:
    輸入目標帳戶所在的 AWS Organizations 單位 ID。
    **注意:**如果您不知道已關閉或暫停帳戶的組織單位 ID (OU ID),請改用根 OU ID
    選擇 Account filter type (帳戶篩選類型),然後選擇 Intersection (交集)。
    輸入目標帳戶號碼,以僅刪除 OU 中的個別帳戶,而非整個 AWS Organizations 單位。
  6. Specify Regions (指定區域) 區段中,選擇您的堆疊執行個體所在的區域。
  7. Deployment options (部署選項) 區段中,啟用 Retain stacks (保留堆疊),然後選擇 Next (下一步)。
  8. Review (檢閱) 頁面上,選擇 Submit (提交)。

AWS CLI

執行 delete-stack-instances 命令:

$ aws cloudformation delete-stack-instances --stack-set-name ExampleStackSetName --deployment-targets Accounts=1234567890abcdef0,OrganizationalUnitIds=abcdef01234567890,AccountFilterType=INTERSECTION --regions aa-example-1 --retain-stacks

**注意:**請將 ExampleStackSetName 替換為您的堆疊集名稱,將 1234567890abcdef0 替換為您的堆疊執行個體帳戶 ID,將 abcdef01234567890 替換為您的堆疊執行個體帳戶 OU,並將 aa-example-1 替換為您的執行個體區域。

相關資訊

StackSets 狀態代碼

從 AWS CloudFormation StackSets 刪除堆疊

AWS 官方已更新 6 個月前