將堆疊新增至 CloudFormation StackSets - AWS CloudFormation

將堆疊新增至 CloudFormation StackSets

當您建立 StackSet 時,可為該 StackSet 建立堆疊。CloudFormation 也可以讓您在 StackSet 建立之後的任何時間點,為其他帳戶和區域新增更多堆疊。您可以透過 CloudFormation 主控台或 AWS CLI 新增堆疊。

將堆疊新增至 StackSet (主控台)

將堆疊新增至 StackSet
  1. 請登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/cloudformation 的 CloudFormation 主控台。

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

  3. 從導覽窗格選擇 StackSets。在 StackSets 頁面上,選取您建立的 StackSet。

  4. 選擇 StackSet 後,從動作選單選擇將堆疊新增至 StackSet

  5. 設定部署選項頁面上進行以下操作:

    1. 將堆疊新增至 StackSet,選擇部署新堆疊

    2. 接著,根據您 StackSet 的許可設定執行下列操作:

      • [自我管理許可] 對於帳戶部署位置,選擇在帳戶中部署堆疊。在文字方塊中貼上您的目標帳戶號碼,並以逗號分隔多個號碼。

      • [服務受管許可] 針對部署目標,執行下列其中一項:

        • 選擇 Deploy to organization (部署至組織),以部署至組織中的所有帳戶。

        • 選擇 Deploy to organizational units (OUs) (部署至組織單位 (OU)),以部署至特定 OU 中的所有帳戶。選擇 Add another OU (新增另一個 OU),然後將目標 OU ID 貼到文字方塊中。針對每個新的目標 OU 重複上述步驟。CloudFormation 也會以所選目標的任何子 OU 為目標。

        注意

        如果您新增的 OU 已是 StackSet 的目標,CloudFormation 會在 OU 中的任何帳戶中 (尚無 StackSet 的堆疊),建立新的堆疊 (例如,在建立 StackSet 後新增至 OU 且已停用自動部署的帳戶)。

    3. 對於指定區域,指定要在先前步驟指定的目標帳戶中部署至哪些 AWS 區域。根據預設,CloudFormation 會在第一個區域內的指定帳戶中部署堆疊,然後移至下一個區域,以此類推。只要一個區域的部署失敗不超過指定的容錯能力。

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

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

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

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

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

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

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

    5. 選擇下一步

  6. Specify Overrides (指定覆寫) 頁面上,依指定保留屬性值。您不需要覆寫您要建立之堆疊的任何屬性值。選擇下一步

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

  8. 準備好繼續時,請選擇提交

    CloudFormation 開始建立堆疊。在您選擇提交時開啟的“StackSet 詳細資訊”頁面中,查看 StackSet 中的堆疊建立進度和狀態。完成後,您的新堆疊應該會列在堆疊執行個體索引標籤中。

將堆疊新增至 StackSet (AWS CLI)

注意

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

將堆疊新增至具有自我管理許可的 StackSet

使用 create-stack-instances CLI 命令。對於 --accounts 選項,提供您要建立堆疊的帳戶 ID。

aws cloudformation create-stack-instances --stack-set-name my-stackset \ --accounts account_id --regions eu-west-1 us-west-2
使用服務受管許可將堆疊新增至 StackSet

使用 create-stack-instances CLI 命令。針對 --deployment-targets 選項,提供您要為其建立堆疊的組織 (根) ID 或 OU ID。如需目標為特定帳戶的範例命令,請參閱 建立具有服務受管許可的 StackSet (AWS CLI)

aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=ou-rcuk-r1qi0wl7 --regions eu-west-1 us-west-2
注意

如果您新增的 OU 已是 StackSet 的目標,CloudFormation 會在 OU 中的任何帳戶中 (尚無 StackSet 的堆疊),建立新的堆疊 (例如,在建立 StackSet 後新增至 OU 且已停用自動部署的帳戶)。