本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用服務管理堆疊匯入 AWS Management Console 或 AWS CLI
所以此 AWS CloudFormation 堆疊匯入作業可以將現有堆疊匯入新的或現有的堆疊集,以便您可以在一次作業中將現有堆疊移轉至堆疊集。 StackSets 擴充堆疊的功能,因此您可以透過單一作業跨多個帳戶和區域建立、更新或刪除堆疊。
堆疊匯入的服務受管需求
除 堆疊匯入需求 區段外,服務受管堆疊匯入需要以下內容。
-
堆疊匯入作業需要管理帳戶或委派管理員帳戶,您可以在其中管理相關聯的帳戶 AWS Organizations 例如啟用 StackSets.
-
目標帳戶必須是 AWS Organizations 由管理帳戶或委派管理員帳戶管理。
-
目標堆棧存在於其中一個目標中OUs。
-
目標帳戶應為下列成員 AWS Organizations.
-
AWS Organizations 存取權應為「Or
ACTIVATED
ganizations」的狀態。 -
匯入的堆疊應該出現在任何成員帳戶中,而不是管理帳戶中。
將服務受管堆疊匯入新的堆疊集 (主控台)
將堆疊匯入新的堆疊組中 AWS Management Console
若要將新堆疊匯入堆疊集,請識別包含要匯入之資源的堆疊。
登入 AWS Management Console 並打開 AWS CloudFormation 控制台在 https://console.aws.amazon.com/雲
形成。 -
在導覽窗格中,選擇StackSets。
-
在StackSets頁面頂端,選擇 [建立] StackSet。
-
將下列資訊新增到 Choose a template (選擇範本) 頁面。
-
對於StackSet 權限模型,請選取服務管理權限。
-
對於 Prerequisite - Prepare template (先決條件 - 準備範本),選取 Template is ready (範本已準備就緒)。
-
對於 Amazon S3 URL,請在 Amazon S3 URL 字段URL中輸入您的 Amazon S3。
-
對於「上載範本檔案」,請選取本機電腦上的 CloudFormation範本。
-
接受您的設定並選擇 Next (下一步)。
-
-
將下列資訊新增至 [指定 StackSet 詳細資訊] 頁面。
-
在名稱方塊中輸入堆疊組StackSet 名稱。
-
(選擇性) 在說明區段中輸入StackSet 說明。
在 [設定 StackSet 選項] 頁面上,檢閱您的選擇並選取 [下一步]。
-
-
將下列資訊新增到 Set deployment options (設定部署選項) 頁面。
-
對於 Add stacks to stack set (將堆疊新增至堆疊集),選取 Import stacks to stack set (將堆疊匯入堆疊集)。
-
對於 Stacks to import (要匯入的堆疊),選擇您的堆疊匯入方法。
-
對於 Stack ID (堆疊 ID),輸入您的堆疊 ID。
-
對於堆棧URL進入 Amazon S3 URL。
-
-
-
將下列資訊新增到 Associate organizational units (關聯組織單位) 區段。
-
選取 Associate with organization (與組織關聯) 以使用根 OU。
-
選取與組織單位產生關聯 (OUs),為要匯入IDs的堆疊輸入父 OU。例如,如果
Stack 1
和Stack 2
在OU1
下方,並且Stack 3
在OU2
下方,則輸入OU1
和OU2
。
接受您的設定並選擇 Next (下一步)。
-
-
在 Review (檢閱) 頁面上,檢閱您的設定,然後選擇 Submit (提交)。
建立服務受管堆疊並將其匯入現有堆疊集 (主控台)
若要將現有堆疊匯入新的堆疊集,請識別包含您要匯入之資源的堆疊。
建立堆疊集和匯入堆疊
登入 AWS Management Console 並打開 AWS CloudFormation 控制台在 https://console.aws.amazon.com/雲
形成。 -
在導覽窗格中,選擇StackSets。
-
在StackSets頁面頂端,選擇 [建立] StackSet。
-
將下列資訊新增到 Choose a template (選擇範本) 頁面。
-
對於StackSet 權限模型,請選取服務管理權限。
-
對於 Prerequisite - Prepare template (先決條件 - 準備範本),選取 Template is ready (範本已準備就緒)。
-
對於 Amazon S3 URL,請在 Amazon S3 URL 字段URL中輸入您的 Amazon S3。
-
對於「上載範本檔案」,請選取本機電腦上的 CloudFormation 範本。
-
接受您的設定並選擇 Next (下一步)。
-
-
將下列資訊新增至 [指定 StackSet 詳細資訊] 頁面。
-
在名稱方塊中輸入堆疊組StackSet 名稱。
-
(選擇性) 在說明區段中輸入StackSet 說明。
在 [設定 StackSet 選項] 頁面上,檢閱您的選擇並選取 [下一步]。
-
-
將下列資訊新增到 Set deployment options (設定部署選項) 頁面。
-
對於 Add stacks to stack set (將堆疊新增至堆疊集),選取 Deploy new stacks (部署新堆疊)。
-
-
將下列資訊新增到 Associate organizational units (關聯組織單位) 區段。
-
選取 Associate with organization (與組織關聯) 以使用根 OU。
-
選取與組織單位產生關聯 (OUs),為要匯入IDs的堆疊輸入父 OU。例如,如果
Stack 1
和Stack 2
在OU1
下方,並且Stack 3
在OU2
下方,則輸入OU1
和OU2
。
-
-
對於 Specify regions (指定區域) 和 Deployment options (部署選項),檢視您的選擇。
接受您的設定並選擇 Next (下一步)。
-
在 Review (檢閱) 頁面上,檢閱您的設定,然後選擇 Submit (提交)。
將服務受管堆疊匯入現有堆疊集 (主控台)
選取堆疊集並識別您要匯入的堆疊。
將堆疊匯入現有堆疊集
登入 AWS Management Console 並打開 AWS CloudFormation 控制台在 https://console.aws.amazon.com/雲
形成。 -
在導覽窗格中,選擇StackSets。
-
選取您要匯入堆疊的目標堆疊組合,然後從「動作」下拉式清單 StackSet中選擇「新增堆疊至」。
-
將下列資訊新增到 Set deployment options (設定部署選項) 頁面。
-
對於 Add stacks to stack set (將堆疊新增至堆疊集),選取 Import stacks to stack set (將堆疊匯入堆疊集)。
-
將下列資訊新增到 Stacks to import (要匯入的堆疊) 區段。
-
對於 Stack ID (堆疊 ID),輸入您的堆疊 ID。
-
對於堆棧 URL,輸入 Amazon S3 URL。
-
-
將下列資訊新增到 Associate organizational units (關聯組織單位) 區段。
-
選取 Associate with organization (與組織關聯) 以使用根 OU。
-
選取與組織單位產生關聯 (OUs),為要匯入IDs的堆疊輸入父 OU。例如,如果
Stack 1
和Stack 2
在OU1
下方,並且Stack 3
在OU2
下方,則輸入OU1
和OU2
。
接受您的設定並選擇 Next (下一步)。
-
-
-
檢閱 Specify overrides (指定覆寫) 頁面,然後選擇 Next (下一步)。
-
確認並檢閱 Review (檢閱) 頁面並選擇 Submit (提交)。
將服務管理的堆疊匯入堆疊集 (AWS CLI)
建立堆疊集後,您可以透過傳遞所匯入堆疊的堆疊 ID 來匯入堆疊。您也可以將 OU ID 清單傳遞至您要映射的 OU ID 清單。
StackSets 將在這些堆棧中導入用戶提供的堆棧,OUs並將其用OUs作堆棧集的部署目標。輸入中IDs顯示的堆疊會對應至內部 OU ID 清單輸入中最接近的 OU。如果堆疊不屬於輸入清單中的現有 OU ID,則 AWS CLI 將返回錯StackNotFoundException
誤。
import-stacks-to-stack-set
操作可為 OU ID 輸入中的堆疊建立堆疊執行個體。如下所示 AWS CLI 實例使用import-stacks-to-stack-set
操作將堆棧導入到堆棧集中。
-
若要使用
import-stacks-to-stack-sets
操作,請指定您想匯入到堆疊集的stack-ids
或stack-ids-url
。aws cloudformation import-stacks-to-stack-set \ --stack-set-name
ServiceMangedStackSet
\ --stack-ids "arn:123456789012:us-east-1:Stack1
" \ --organizational-unit-idsou-examplerootid111-exampleouid111
aws cloudformation import-stacks-to-stack-set \ --stack-set-name
ServiceMangedStackSet
\ --stack-ids-urlhttps://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json
\ --organizational-unit-idsou-examplerootid111-exampleouid111
注意
import-stacks-to-stack-sets
操作會要求您至少指定一個組織單位 ID (OU ID),以便將匯入的堆疊與該特定 OU 建立關聯。此作業不會為相關聯的其他成員帳戶建立堆疊執行個體OUs。若要更新關聯的成員帳戶OUs,請使用create-stack-instances
或update-stack-instances
。
create-stack-set
OUs透過直接上傳或 Amazon S3,為使用者提供的範本下的所有帳戶建立堆疊執行個體。如下所示 AWS CLI 實例使用create-stack-set
操作將堆棧導入到新的堆棧集中。
-
若要使用
create-stack-set
操作,請指定您的堆疊集名稱,並將堆疊匯入新建立的堆疊集。aws cloudformation create-stack-set \ --template-url
https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json
\ --permission-model SERVICE_MANAGED \ --auto-deployment Enabled=true
還原堆疊執行個體匯入作業
若要還原堆疊匯入操作,請完成以下任務:
-
為想要在刪除堆疊執行個體後要保留的每個資源指定
Retain
的DeletionPolicy
屬性。如需詳細資訊,請參閱還原匯入操作。 -
從堆疊集刪除堆疊執行個體。如需詳細資訊,請參閱使用 CloudFormation主控台或 刪除堆疊執行個體 AWS CLI。
-
刪除您的堆疊集。如需詳細資訊,請參閱使用 CloudFormation 主控台或 刪除堆疊集 AWS CLI。
結果:還原操作已刪除堆疊執行個體並保留了堆疊的資源。