Update AWS CloudFormation StackSets - AWS CloudFormation

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

Update AWS CloudFormation StackSets

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

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

更新您的 StackSet (主控台)

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

  2. 在畫面頂端的導覽列上,選擇 AWS 區域 您在其中建立 StackSet 的 。

  3. 從導覽窗格選擇 StackSets

  4. StackSets 頁面上,選取您要更新的 StackSet。

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

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

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

  8. 選擇下一步

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

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

  11. 選擇下一步

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

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

    注意

    請記住,您無法在操作執行或排入佇列時變更執行設定。

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

  15. 選擇下一步

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

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

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

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

      • 選擇 Deploy to organizational units (OUs) (部署至組織單位 (OU))。輸入您用來建立 StackSet 的目標 OUs。

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

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

    3. 對於部署選項,請執行下列動作:

      • 針對最大並行帳戶,指定同時處理的帳戶數量。

      • 針對容錯能力,指定每個區域允許的帳戶失敗數目上限。達到此限制後,操作將停止且不會繼續前往其他區域。

      • 對於區域並行,選擇如何處理區域:循序 (一次一個區域) 或平行 (同時多個區域)。

      • 針對並行模式,選擇並行在操作執行期間的行為方式。

        • 嚴格容錯能力 – 降低發生故障時的帳戶並行層級,保持在容錯能力 +1 內。

        • 軟性容錯能力 – 維護您指定的並行層級 (最大並行帳戶的值),無論失敗為何。

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

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

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

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

更新您的 StackSet (AWS CLI)

注意

做為委派管理員時,您必須在 命令--call-as DELEGATED_ADMIN中包含 。

  1. 更新 StackSet

    使用 update-stack-set命令來變更 StackSet。

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

    使用 --operation-preferences選項設定並行帳戶處理和其他部署偏好設定。這些範例使用計數型設定。請注意, MaxConcurrentCount 不得超過 FailureToleranceCount + 1。對於以百分比為基礎的設定,請MaxConcurrentPercentage改用 FailureTolerancePercentage或 。

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

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template \ --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \ --accounts account_ID_1 account_ID_2 \ --regions us-west-2 us-east-1 \ --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0

    【服務受管許可】 對於 --deployment-targets選項,請提供您要更新的目標組織根 ID 或組織單位 (OU) IDs。

    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 \ --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0

    如需詳細資訊,請參閱《https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html API 參考》中的AWS CloudFormation UpdateStackSet

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

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