在 中覆寫堆疊執行個體上的參數值 CloudFormation StackSets - AWS CloudFormation

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

在 中覆寫堆疊執行個體上的參數值 CloudFormation StackSets

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

參數值覆寫套用至您選取之帳戶和區域中的堆疊執行個體。在堆疊集更新期間,針對堆疊執行個體覆寫的任何參數值皆不會更新,而是會保留其覆寫值。

您只能覆寫堆疊集中指定的參數,若要新增或刪除參數本身,您必須更新堆疊集範本。如果您將參數新增至堆疊集範本,那麼在您可以覆寫堆疊執行個體中的該參數值之前,您必須先以堆疊集之中指定的新參數與值來更新所有堆疊執行個體。一旦所有堆疊執行個體皆以新參數完成更新,您就能視需要覆寫個別堆疊執行個體中的參數值。

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

覆寫堆疊執行個體上的參數 (主控台)

  1. 登入 AWS Management Console 並在 https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 在畫面頂端的導覽列上,選擇您建立堆疊集的 AWS 區域 。

  3. 從導覽窗格中,選擇 StackSets。在 StackSets 頁面上,選取您的堆疊集。

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

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

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

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

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

      • 選擇部署到組織單位 (OUs)。輸入OUs您用來建立堆疊集的一或多個目標。覆寫的參數值僅適用於目前在目標中的帳戶OUs及其子帳戶OUs。未來新增至目標OUs及其子帳戶OUs將使用堆疊集預設值,而不是覆寫的值。

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

    2. 針對指定區域,新增一或多個已部署堆疊執行個體的區域,以用於此堆疊集。

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

    3. 針對 Deployment options (部署選項)

      • 針對最大並行帳戶,視需要修改最大並行帳戶。

      • 針對容錯能力,視需要修改容錯能力。

      • 對於區域並行,視需要修改區域並行。

      • 對於並行模式,視需要修改並行模式。

    4. 選擇 Next (下一步)

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

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

    注意

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

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

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

    CloudFormation 會開始更新您的堆疊執行個體。在選擇 Submit (提交) 時開啟的堆疊集詳細資訊頁面中,檢視堆疊執行個體的進度和狀態。

覆寫堆疊執行個體上的參數 (AWS CLI)

擔任委派管理員時,每次執行命令DELEGATED_ADMIN時,您必須將 --call-as選項設定為 StackSets。

--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選項,提供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-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