使用 CloudFormation 主控台或 更新您的堆疊集 AWS CLI - AWS CloudFormation

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

使用 CloudFormation 主控台或 更新您的堆疊集 AWS CLI

您可以使用 CloudFormation 主控台或 來更新堆疊集 AWS CLI。

注意

若要覆寫堆疊執行個體 的參數值,請參閱 覆寫堆疊執行個體上的參數。若要從堆疊集新增和移除帳戶和區域,請參閱 將堆疊新增至堆疊集從堆疊集刪除堆疊執行個體

使用 CloudFormation 主控台更新堆疊集

  1. 登入 AWS Management Console 並在 https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 在畫面頂端的導覽列上,選擇 AWS 區域 您建立堆疊集的 。

  3. 從導覽窗格中,選擇 StackSets

  4. 在頁面上StackSets,選取要更新的堆疊集。

  5. 選取堆疊集後,從動作功能表中選擇編輯 StackSet詳細資訊

  6. 選擇範本頁面上,視需要更新許可區段,或跳至下一個步驟。

  7. 對於先決條件 - 準備範本 ,選擇使用目前範本以使用目前範本,或將目前範本取代為指定 S3 URL至另一個範本或上傳新範本。

  8. 選擇 Next (下一步)

  9. 指定 StackSet 詳細資訊頁面上,針對StackSet 描述 ,視需要更新堆疊集的描述。

  10. 對於參數 ,視需要更新參數值。

  11. 選擇 Next (下一步)

  12. 設定 StackSet 選項頁面上,針對標籤 ,視需要修改標籤。您可以新增、更新或刪除標籤。如需如何在 中使用標籤的詳細資訊 AWS,請參閱 AWS Billing and Cost Management 使用者指南 中的使用成本分配標籤組織和追蹤 AWS 成本

  13. 對於執行組態 ,您可以視需要更新執行組態。

    注意

    如果已經執行或佇列操作, 會 StackSets 佇列所有傳入的操作,即使它們沒有衝突。

    當堆疊集有執行中或排入佇列的操作時,您無法修改堆疊集的執行組態。

  14. 如果您的範本包含IAM資源,對於功能 ,請選擇我確認此範本可能會建立IAM資源,以指定您要在範本中使用IAM資源。如需詳細資訊,請參閱認可 CloudFormation 範本中的 IAM 資源

  15. 選擇 Next (下一步)

  16. 設定部署選項頁面上,提供更新的帳戶和區域。

    CloudFormation 會在第一個區域中的指定帳戶中部署堆疊更新,然後移至下一個,以此類推,只要區域的部署失敗不超過指定的容錯能力即可。

    1. 【自我管理許可】 針對帳戶 部署位置 ,選擇在帳戶 中部署堆疊。在文字方塊中貼上IDs您用來建立堆疊集的目標帳戶,以逗號分隔多個數字。

      【服務受管許可】 執行下列其中一項操作:

      • 選擇部署到組織單位 (OUs)。輸入OUs您用來建立堆疊集的目標。

      • 選擇 Deploy to accounts (部署至帳戶)。貼上IDs您用來建立堆疊集的目標 OU IDs或帳戶。

    2. 針對指定區域 ,指定您要 CloudFormation 部署更新時的順序。

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

      • 對於最大並行帳戶 ,視需要修改最大並行帳戶。

      • 對於容錯能力 ,視需要修改容錯能力。

      • 對於區域並行 ,視需要修改區域並行。

      • 對於並行模式 ,視需要修改並行模式。

    4. 選擇 Next (下一步) 繼續。

  17. Review (檢閱) 頁面上,檢視您的選擇。若要進行變更,請在相關區段中選擇編輯

  18. 當您準備好繼續時,請選擇提交

    CloudFormation 會開始將更新套用至堆疊集,並顯示堆疊集詳細資訊頁面的操作索引標籤。您可以在 Operations (操作) 標籤中檢視更新操作的進度和狀態。

使用 更新堆疊集 AWS CLI

擔任委派管理員時,您必須將 --call-as選項設定為DELEGATED_ADMIN每次執行 StackSets命令時。

--call-as DELEGATED_ADMIN
  1. 使用 update-stack-set 命令來變更堆疊集。

    在下列範例命令中,我們使用 更新堆疊集--parameters。具體而言,我們將交付管道組態的預設快照交付頻率從 變更為 TwentyFour_Hours Twelve_Hours。由於我們仍在使用目前的範本,因此我們新增 --use-previous-template選項。

    【自我管理許可】 針對 --accounts選項,請提供IDs您要更新的目標帳戶。

    aws cloudformation update-stack-set --stack-set-name my-awsconfig-stackset \ --use-previous-template --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \ --accounts '["account_ID_1","account_ID_2"]' \ --regions '["us-west-2","us-east-1"]'

    【服務受管許可】 對於 --deployment-targets選項,請提供IDs您要更新的目標組織 (根) IDIDs、OU 或 AWS Organizations 帳戶。

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template \ --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \ --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo", "ou-rcuk-slr5lh0a"]' \ --regions '["us-west-2","us-east-1"]'

    若要指定如何 CloudFormation 執行此堆疊集操作的偏好設定,請指定 --operation-preferences選項,如下列範例所示。為了此範例的目的,我們使用計數,而不是百分比。若要改為套用百分比,請使用 FailureTolerancePercentageMaxConcurrentPercentage

    --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1
    注意

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

  2. 藉由執行 describe-stack-set-operation 命令以顯示更新操作的狀態和結果,確認您的堆疊集已成功更新。針對 --operation-id,使用您的 update-stack-set 命令所傳回的操作 ID。

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