覆寫 CloudFormation StackSet 中堆疊的參數值 - AWS CloudFormation

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

覆寫 CloudFormation StackSet 中堆疊的參數值

在某些情況下,您可能希望特定區域或帳戶中的堆疊具有與 StackSet 本身中指定的屬性值不同的屬性值。例如,您可能想要根據帳戶用於開發或生產,為指定的參數指定不同的值。在這些情況下,CloudFormation 可讓您依帳戶和區域覆寫堆疊中的參數值。您可以在第一次建立堆疊時覆寫範本參數值,也可以覆寫現有堆疊的參數值。您只能將先前在堆疊中覆寫的參數設回 StackSet 中指定的值。

參數值覆寫適用於您選取的帳戶和區域中的堆疊。在 StackSet 更新期間,堆疊覆寫的任何參數值都不會更新,但會保留其覆寫的值。

您只能覆寫 StackSet 中指定的參數;若要新增或刪除參數本身,您需要更新 StackSet 範本。如果您將參數新增至 StackSet 範本,則必須先使用 StackSet 中指定的新參數和值更新所有堆疊,才能覆寫堆疊中的參數值。使用新參數更新所有堆疊後,您可以視需要覆寫個別堆疊中的參數值。

若要了解如何在建立堆疊時覆寫 StackSet 參數值,請參閱 將堆疊新增至 StackSets

覆寫堆疊上的參數 (主控台)

覆寫特定堆疊的參數
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

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

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

  4. 選取 StackSet 後,從動作功能表中選擇覆寫 StackSet 參數

  5. 設定部署選項頁面上,提供您要為其建立覆寫之堆疊的帳戶和區域。

    根據預設,CloudFormation 會在第一個區域內的指定帳戶中部署堆疊,然後移至下一個,以此類推,前提是區域的部署失敗不超過指定的容錯能力。

    1. 【自我管理許可】 針對部署位置,選擇在帳戶中部署堆疊。貼上您用來建立 StackSet 的部分或全部目標帳戶 IDs。

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

      • 選擇 Deploy to organizational units (OUs) (部署至組織單位 (OU))。輸入您用來建立 StackSet 的一或多個目標 OUs。覆寫的參數值僅套用至目標 OU 及其子 OU 中目前的帳戶。未來新增至目標 OUs 及其子 OUs 的帳戶將使用 StackSet 預設值,而不是覆寫的值。

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

    2. 針對指定區域,新增一或多個已部署此 StackSet 堆疊的區域。

      如果您新增多個區域,則 Specify regions (指定區域) 下的區域順序決定其部署順序。

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

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

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

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

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

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

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

    4. 選擇下一步

  6. 指定覆寫頁面上,選取要覆寫的參數核取方塊,然後從編輯覆寫值功能表中選擇覆寫 StackSet 值。

  7. 覆寫 StackSet 參數值頁面上,進行變更,然後選擇儲存變更

    注意

    若要使用 StackSet 中指定的值將任何覆寫的參數設回 ,請檢查所有參數,然後從編輯覆寫值功能表中選擇設為 StackSet 值。 這樣做會在您更新堆疊後移除所有覆寫的值。

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

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

    CloudFormation 會開始更新您的堆疊。在選擇提交時開啟的 StackSet 詳細資訊頁面中,檢視堆疊的進度和狀態。

覆寫堆疊上的參數 (AWS CLI)

注意

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

覆寫特定堆疊的參數
  1. 使用 update-stack-instances AWS CLI 命令並指定 --parameter-overrides選項。

    【自我管理許可】 針對 --accounts選項,提供您要覆寫堆疊參數值的帳戶 IDs。

    aws cloudformation update-stack-instances --stack-set-name my-stackset \ --parameter-overrides ParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940 \ --accounts account_id --regions us-east-1

    【服務受管許可】 針對 --deployment-targets選項,提供您要覆寫堆疊參數的組織根 ID、OU IDs 或 AWS Organizations 帳戶 IDs。在此範例中,我們使用 ou-rcuk-1x5j1lwo ID 覆寫 OU 中所有帳戶中堆疊的參數值。

    覆寫的參數值僅套用至目標 OU 及其子 OU 中目前的帳戶。未來新增至目標 OU 及其子 OUs 的帳戶將使用 StackSet 預設值,而不是覆寫的值。

    aws cloudformation update-stack-instances --stack-set-name my-stackset \ --parameter-overrides ParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940 \ --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo \ --regions us-east-1
  2. 執行 describe-stack-set-operation命令以顯示更新操作的狀態和結果,以確認您的參數值在堆疊上已成功覆寫。針對 --operation-id,使用您的 update-stack-instances 命令所傳回的操作 ID。

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