Update CloudFormation StackSets - AWS CloudFormation

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

Update CloudFormation StackSets

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

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

更新您的 StackSet (主控台)

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

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

  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 的目標帳戶 ID,並以逗號分隔多個 ID。

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

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

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

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

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

      • 針對並行帳戶數目上限,指定並行處理的帳戶數量。

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

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

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

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

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

      • 【服務受管許可】 對於 StackSet 相依性,新增相依的 StackSet ARNs,最多保持在 10 個相依性內。如需詳細資訊,請參閱在 中啟用或停用 StackSets 的自動部署 AWS Organizations

    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。對於以百分比為基礎的設定,請使用 FailureTolerancePercentageMaxConcurrentPercentage

    [自我管理許可] 對於 --accounts 選項,提供更新的目標帳戶 ID。

    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 或組織單位 ID。

    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