

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

# Update CloudFormation StackSets
<a name="stacksets-update"></a>

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

要從 StackSet 新增和移除帳戶和區域，請參閱 [將堆疊新增至 StackSets](stackinstances-create.md) 和 [從 StackSets 刪除堆疊](stackinstances-delete.md)。若要覆寫堆疊的參數值，請參閱 [覆寫堆疊上的參數](stackinstances-override.md)。

**Topics**
+ [更新您的 StackSet (主控台)](#stacksets-update-console)
+ [更新您的 StackSet (AWS CLI)](#stacksets-update-cli)

## 更新您的 StackSet (主控台)
<a name="stacksets-update-console"></a>

**更新 StackSet**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 開啟 CloudFormation 主控台。

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

1. 從導覽窗格選擇 **StackSets**。

1. 在 **StackSets** 頁面上，選取要更新的 StackSet。

1. 選擇 StackSet 後，從**動作**選單選擇**編輯 StackSet 詳細資訊**。

1. 在**選擇範本**頁面上，視需要更新**許可**區段，或跳至下個步驟。

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

1. 選擇**下一步**。

1. 在**指定 StackSet 詳細資訊**頁面上，針對 **StackSet 描述**，根據需要更新 StackSet 的描述。

1. 對於**參數**，根據需要更新參數值。

1. 選擇**下一步**。

1. 在**設定 StackSet 選項**頁面上，針對**標籤**，根據需要修改標籤。您可以新增、更新或刪除標籤。如需如何在 中使用標籤的詳細資訊 AWS，請參閱*AWS 帳單與成本管理 《 使用者指南*》中的[使用成本分配標籤組織和追蹤 AWS 成本](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

1. 對於**執行組態**，您可根據需要更新執行組態。
**注意**  
請注意，當操作正在執行或處於佇列中時，您無法變更執行設定。

1. 如果範本包含 IAM 資源，在**功能**中選擇**我知道此範本可建立 IAM 資源**，以指定您要使用此範本中的 IAM 資源。如需詳細資訊，請參閱[認可 CloudFormation 範本中的 IAM 資源](control-access-with-iam.md#using-iam-capabilities)。

1. 選擇**下一步**。

1. 在**設定部署選項**頁面上，提供要更新的帳戶和區域。

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

   1. [自我管理許可] 對於**帳戶**、**部署位置**，選擇**在帳戶中部署堆疊**。在文字方塊中貼上您用來建立 StackSet 的目標帳戶 ID，並以逗號分隔多個 ID。

      [服務受管許可] 執行下列其中一項操作：
      + 選擇 **Deploy to organizational units (OUs) (部署至組織單位 (OU))**。輸入您用來建立 StackSet 的目標 OU。
      + 選擇 **Deploy to accounts (部署至帳戶)**。貼上您用來建立 StackSet 的目標 OU ID 或帳戶 ID。

   1. 針對**指定區域**，指定希望 CloudFormation 部署更新的順序。

   1. 對於**部署選項**，執行下列動作：
      + 針對**並行帳戶數目上限**，指定並行處理的帳戶數量。
      + 針對**容錯能力**，指定每個區域允許的帳戶失敗數目上限。達到此限制後，操作將停止，且不會繼續前往其他區域。
      + 對於**區域並行**，選擇如何處理區域：**循序** (一次處理一個區域) 或**平行** (同時處理多個區域)。
      + 針對**並行模式**，選擇並行在操作執行期間的行為方式。
        + **嚴格容錯能力** – 降低發生故障時的帳戶並行層級，保持在**容錯能力** \$11 的範圍內。
        + **軟性容錯能力** – 無論失敗為何，維持您指定的並行層級 (**最大並行帳戶**的值)。
      + 【服務受管許可】 對於 StackSet **相依性**，新增相依的 StackSet ARNs，最多保持在 10 個相依性內。如需詳細資訊，請參閱[在 中啟用或停用 StackSets 的自動部署 AWS Organizations](stacksets-orgs-manage-auto-deployment.md)。

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

1. 在 **Review (檢閱)** 頁面上，檢視您的選擇。選擇**編輯**以對相關區段進行變更。

1. 準備好繼續時，請選擇**提交**。

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

## 更新您的 StackSet (AWS CLI)
<a name="stacksets-update-cli"></a>

**注意**  
做為委派管理員時，您必須在命令中包含 `--call-as DELEGATED_ADMIN`。

1. 

**更新 StackSet**

   使用 [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html) 命令以變更您的 StackSet。

   在下列範例中，我們使用 `--parameters` 選項更新 StackSet。尤其是我們將交付管道組態的預設快照交付頻率，從 `TwentyFour_Hours` 變更為 `Twelve_Hours`。因為我們仍使用目前的範本，因此我們新增 `--use-previous-template` 選項。

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

   [自我管理許可] 對於 `--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](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) API 參考*》中的AWS CloudFormation UpdateStackSet*。

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

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