for AWS CloudFormation StackSets 的自我管理堆疊匯入 - AWS CloudFormation

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

for AWS CloudFormation StackSets 的自我管理堆疊匯入

CloudFormation 堆疊匯入操作可以將現有堆疊匯入新的或現有的 StackSets,讓您可以在一個操作中將現有堆疊遷移至 StackSet。透過使用堆疊匯入,您可以避免停機時間和中斷,而無需刪除和重新建立這些資源。將堆疊匯入 StackSet 後,原始堆疊將成為指定堆疊集的堆疊執行個體。

自我管理堆疊匯入的考量事項
  • 堆疊匯入操作需要您在其中建立 StackSet 的管理員帳戶,以及包含堆疊的目標帳戶。

  • 目標帳戶必須具備許可來搭配使用 GetTemplate 操作與堆疊 ID 或 ARN 輸入。因此,您的管理員帳戶必須獲得 AWSCloudFormationStackSetAdministrationRoleAWSCloudFormationStackSetsExectionRole 許可。

將現有堆疊匯入新的 StackSet (主控台)

開始之前,請識別您要匯入的堆疊。

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

  2. 從導覽窗格選擇 StackSets

  3. 選擇 StackSets 頁面上方的 Create StackSet (建立 StackSet)

  4. 選擇範本頁面上,透過下列其中一個選項指定範本,然後選擇下一步

    • 選擇 Amazon S3 URL,然後在文字方塊中為您的範本指定 URL。

    • 選擇 Upload a template file (上傳範本檔案),然後瀏覽您的範本。

    • 選擇 From stack ID (通過堆疊 ID),然後輸入您的堆疊 ID。

  5. 指定 StackSet 詳細資訊頁面上,輸入您要建立的 StackSet 名稱,然後選擇下一步

    (選用) 輸入 StackSet 的描述。

  6. 設定 StackSet 選項頁面上,檢閱您的選擇,然後選擇下一步

  7. 設定部署選項頁面上,選擇將堆疊匯入堆疊集

  8. Stacks to import (要匯入的堆疊) 欄位中輸入您想要匯入的堆疊的堆疊 ID。例如 arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786

    (選用) 選擇新增另一個堆疊 ID,然後輸入您要匯入之另一個堆疊的堆疊 ID。每個堆疊匯入操作最多可以新增 10 個堆疊。

  9. 檢閱您的部署選項,然後選擇下一步

  10. 檢閱頁面上,檢閱您的選擇和 StackSet 的屬性。當您準備好將堆疊匯入 StackSet 時,請選擇提交

結果:匯入的堆疊現在是指定 StackSet 的堆疊執行個體。若要進一步了解堆疊匯入狀態,請參閱 StackSets 狀態碼

將現有堆疊匯入現有 StackSet (主控台)

開始之前,請識別您要匯入的堆疊。

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

  2. 從導覽窗格選擇 StackSets

  3. StackSets 頁面上,選擇您要匯入堆疊的 StackSet。

  4. 選取 StackSet 後,從動作功能表中選擇將堆疊新增至 StackSet

  5. 設定部署選項頁面上,選擇匯入堆疊以設定堆疊,然後在要匯入的堆疊欄位中輸入您要匯入之堆疊的堆疊 ID。例如 arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786

    (選用) 選擇新增另一個堆疊 ID,然後輸入您要匯入之另一個堆疊的堆疊 ID。每個堆疊匯入操作最多可以新增 10 個堆疊。

  6. 選擇下一步

  7. 指定覆寫頁面上,檢閱您的選擇,然後選擇下一步

  8. 檢閱頁面上,檢閱您的選擇和 StackSet 的屬性。當您準備好建立 StackSet 時,請選擇提交

結果:匯入的堆疊現在是指定 StackSet 的堆疊執行個體。若要進一步了解堆疊匯入狀態,請參閱 StackSets 狀態碼

將堆疊匯入 StackSet (AWS CLI)

將現有堆疊匯入新的 StackSet

下列create-stack-set命令會建立 StackSet 並匯入指定的堆疊。要匯入的堆疊由其 ARN 識別。以您自己的資訊取代預留位置文字。

aws cloudformation create-stack-set \ --stack-set-name MyStackSet \ --stack-id arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/466df9e0-0dff-08e3-8e2f-5088487c4896 \ --administration-role-arn arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole \ --execution-role-name AWSCloudFormationStackSetExecutionRole
將現有堆疊匯入現有 StackSet

下列import-stacks-to-stack-sets命令會將指定的堆疊匯入 MyStackSet StackSet。要匯入的堆疊由其 ARN 識別。以您自己的資訊取代預留位置文字。

aws cloudformation import-stacks-to-stack-set \ --stack-set MyStackSet \ --stack-ids arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786

若要指定多個堆疊,請針對 --stack-ids選項的值使用下列格式。

--stack-ids "arn_1" "arn_2"
將匯入的堆疊複製到其他區域和帳戶

下列create-stack-instances命令會將堆疊執行個體新增至 StackSet。以您自己的資訊取代預留位置文字。

aws cloudformation create-stack-instances \ --stack-set-name MyStackSet \ --accounts '["account_ID_1","account_ID_2"]' \ --regions '["region_1","region_2"]'