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