在 中啟用或停用 StackSets 的自動部署 AWS Organizations - AWS CloudFormation

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

在 中啟用或停用 StackSets 的自動部署 AWS Organizations

CloudFormation 可以在新增到您的目標組織或組織單位 (OUs) 時,自動將其他堆疊部署到新 AWS Organizations 帳戶。您可以啟用自動部署,並選擇當帳戶從目標 OU 中移除時,是刪除還是保留堆疊及其相關聯的資源。對於使用服務受管許可的 StackSets,這些設定隨時可以修改。

自動部署的運作方式

如果您啟用自動部署,當帳戶新增至目標組織或 OU、從目標組織或 OU 移除,或在目標 OU 之間移動時,將會觸發自動部署。

例如,假設 StackSet1us-east-1 區域的 OU1 為目標,StackSet2us-east-1 區域的 OU2 為目標。OU1 包含 AccountA

在已啟用自動部署的情況下,如果您將 AccountAOU1 移至 OU2,CloudFormation 會自動執行刪除操作以從 AccountA 中移除 StackSet1 堆疊,並將新增 StackSet2 堆疊至 AccountA 的建立操作排入佇列。

考量事項

以下是使用自動部署時的考量事項:

  • 自動部署功能在 StackSet 層級啟用。您無法特別針對 OU、帳戶或區域來調整自動部署。

  • 覆寫的參數值僅套用至目標 OU 及其子 OU 中目前的帳戶。未來新增至目標 OU 及其子 OU 的帳戶將使用 StackSet 預設值,而非覆寫的值。

  • 自動部署不會考慮以帳戶層級為目標的篩選條件。如果您以特定帳戶為目標並啟用自動部署,您的 StackSet 將繼續部署到部署組織內新增的任何帳戶。若要避免向新增帳戶部署,請停用自動部署。

  • 相依性管理:為每個 StackSet 定義最多 10 個相依性,每個帳戶最多 100 個相依性。例如,如果您有五個 StackSets,每個都有五個相依性,則有 25 個相依性計入 100 個相依性限制。您可以透過服務配額主控台請求提高限制。刪除 StackSets 或停用 Organizations 時,會移除相依性。

  • 建議在使用自動部署時啟用受管執行。受管執行將允許多個目標帳戶中的自動部署操作在 StackSet 內同時執行,以提高處理速度,尤其是對於較大的 Organizations。

啟用或停用自動部署 (主控台)

啟用或停用自動部署
  1. 登入 AWS 管理主控台 並在 https://https://console.aws.amazon.com/cloudformation 開啟 CloudFormation 主控台。

  2. 在螢幕上方的導覽列中,選擇您在其中建立 StackSet 所在的 AWS 區域 。

  3. 從導覽窗格選擇 StackSets

  4. StackSets 頁面上,選取要更新的 StackSet 名稱旁的選項。

  5. 在右上角的動作功能表中,選擇編輯自動部署

  6. 在開啟的對話方塊中,執行下列動作:

    1. 針對自動部署,選擇啟用停用

    2. 對於帳戶移除行為,選擇刪除堆疊保留堆疊。保留的資源會保持在當前狀態,但不再是 StackSet 的一部分。

    3. 對於 StackSet 相依性,新增相依的 StackSet ARNs,最多保持在 10 個相依性內。

  7. 選擇儲存

啟用或停用自動部署 (AWS CLI)

啟用或停用自動部署
  1. 使用 update-stack-set 命令搭配 --auto-deployment 選項。

    下列命令會啟用自動部署。

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true,DependsOn=ARN1,ARN2

    或者,要停用自動部署,請將 Enabled=false 指定為 --auto-deployment 選項的值,如下列範例所示。

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template --auto-deployment Enabled=false
  2. 使用 update-stack-set 輸出中傳回的操作 ID,執行 describe-stack-set-operation,以驗證是否已成功更新 StackSet。

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