本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
覆寫 CloudFormation StackSet 中堆疊的參數值
在某些情況下,您可能希望特定區域或帳戶中的堆疊具有與 StackSet 本身中指定的屬性值不同的屬性值。例如,您可能想要根據帳戶用於開發或生產,為指定的參數指定不同的值。在這些情況下,CloudFormation 可讓您依帳戶和區域覆寫堆疊中的參數值。您可以在第一次建立堆疊時覆寫範本參數值,也可以覆寫現有堆疊的參數值。您只能將先前在堆疊中覆寫的參數設回 StackSet 中指定的值。
參數值覆寫適用於您選取的帳戶和區域中的堆疊。在 StackSet 更新期間,堆疊覆寫的任何參數值都不會更新,但會保留其覆寫的值。
您只能覆寫 StackSet 中指定的參數值;若要新增或刪除參數本身,您需要更新 StackSet 範本。如果您將參數新增至 StackSet 範本,則必須先使用 StackSet 中指定的新參數和值更新所有堆疊,才能覆寫堆疊中的參數值。使用新參數更新所有堆疊後,您可以視需要覆寫個別堆疊中的參數值。
若要了解如何在建立堆疊時覆寫 StackSet 參數值,請參閱 將堆疊新增至 StackSets。
覆寫堆疊上的參數 (主控台)
覆寫特定堆疊的參數
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在畫面頂端的導覽列上,選擇 AWS 區域 您在其中建立 StackSet。
-
從導覽窗格選擇 StackSets。在 StackSets 頁面上,選取您的 StackSet。
-
選取 StackSet 後,從動作功能表中選擇覆寫 StackSet 參數。
-
在設定部署選項頁面上,提供您要為其建立覆寫之堆疊的帳戶和區域。
根據預設,CloudFormation 會在第一個區域內的指定帳戶中部署堆疊,然後移至下一個,以此類推,前提是區域的部署失敗不超過指定的容錯能力。
-
【自我管理許可】 針對部署位置,選擇在帳戶中部署堆疊。貼上您用來建立 StackSet 的部分或全部目標帳戶 IDs。
【服務受管許可】 執行下列其中一項操作:
-
選擇 Deploy to organizational units (OUs) (部署至組織單位 (OU))。輸入您用來建立 StackSet 的一或多個目標 OUs。覆寫的參數值僅套用至目標 OU 及其子 OU 中目前的帳戶。未來新增至目標 OUs 及其子 OUs 的帳戶將使用 StackSet 預設值,而不是覆寫的值。
-
選擇 Deploy to accounts (部署至帳戶)。貼上您用來建立 StackSet 的部分或所有目標 OU IDs 或帳戶 IDs。
-
-
針對指定區域,新增一或多個已部署此 StackSet 堆疊的區域。
如果您新增多個區域,則 Specify regions (指定區域) 下的區域順序決定其部署順序。
-
對於部署選項,請執行下列動作:
-
針對最大並行帳戶,指定同時處理的帳戶數量。
-
針對容錯能力,指定每個區域允許的帳戶失敗次數上限。達到此限制後,操作將停止且不會繼續前往其他區域。
-
對於區域並行,選擇如何處理區域:循序 (一次一個區域) 或平行 (同時多個區域)。
-
針對並行模式,選擇並行在操作執行期間的行為。
-
嚴格容錯能力 – 降低發生故障時的帳戶並行層級,保持在容錯能力 +1 內。
-
軟性容錯能力 – 維護您指定的並行層級 (最大並行帳戶的值),無論失敗為何。
-
-
-
選擇下一步。
-
-
在指定覆寫頁面上,選取要覆寫的參數核取方塊,然後從編輯覆寫值功能表中選擇覆寫 StackSet 值。
-
在覆寫 StackSet 參數值頁面上,進行變更,然後選擇儲存變更。
注意
若要使用 StackSet 中指定的值將任何覆寫的參數設回 ,請檢查所有參數,然後從編輯覆寫值功能表中選擇設為 StackSet 值。 這樣做會在您更新堆疊後移除所有覆寫的值。
-
在 Review (檢閱) 頁面上,檢視您的選擇。若要進行變更,請在相關區段中選擇編輯。
-
當您準備好繼續時,請選擇提交。
CloudFormation 會開始更新您的堆疊。在選擇提交時開啟的 StackSet 詳細資訊頁面中,檢視堆疊的進度和狀態。
覆寫堆疊上的參數 (AWS CLI)
注意
做為委派管理員時,您必須在 命令--call-as DELEGATED_ADMIN
中包含 。
覆寫特定堆疊的參數
-
使用 update-stack-instances AWS CLI 命令並指定
--parameter-overrides
選項。【自我管理許可】 針對
--accounts
選項,提供您要覆寫堆疊參數值的帳戶 IDs。aws cloudformation update-stack-instances --stack-set-name
my-stackset
\ --parameter-overridesParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940
\ --accountsaccount_id
--regionsus-east-1
【服務受管許可】 針對
--deployment-targets
選項,提供您要覆寫堆疊參數的組織根 ID、OU IDs 或 AWS Organizations 帳戶 IDs。在此範例中,我們使用
ID 覆寫 OU 中所有帳戶中堆疊的參數值。ou-rcuk-1x5j1lwo
覆寫的參數值僅套用至目標 OU 及其子 OU 中目前的帳戶。未來新增至目標 OU 及其子 OUs 的帳戶將使用 StackSet 預設值,而不是覆寫的值。
aws cloudformation update-stack-instances --stack-set-name
my-stackset
\ --parameter-overridesParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940
\ --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo
\ --regionsus-east-1
-
執行 describe-stack-set-operation命令以顯示更新操作的狀態和結果,以確認您的參數值在堆疊上已成功覆寫。針對
--operation-id
,使用您的 update-stack-instances 命令所傳回的操作 ID。aws cloudformation describe-stack-set-operation --operation-id
operation_ID