本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudFormation StackSets 的服務受管堆疊匯入
CloudFormation 堆疊匯入操作可以將現有堆疊匯入新的或現有的 StackSets,以便您可以在一次操作中將現有堆疊移轉至 StackSets。StackSets 擴充了堆疊功能,讓您可以跨多個帳戶和區域使用單次操作建立、更新或刪除堆疊。
服務受管堆疊匯入的考量事項
-
堆疊匯入操作需要管理帳戶或委派管理員帳戶,您可以在其中管理相關聯的 AWS Organizations,例如使用 StackSets 啟用信任存取。
-
目標帳戶必須是由管理帳戶或委派管理員帳戶管理之 AWS Organizations 的成員。
-
目標堆疊會在其中一個目標 OU 中存在。
-
目標帳戶應為 AWS Organizations 的成員。
-
AWS Organizations 存取對於 Organizations 應該處於
ACTIVATED狀態。 -
匯入的堆疊應該出現在任何成員帳戶中,而不是管理帳戶中。
主題
將服務受管堆疊匯入新的 StackSet (主控台)
使用 AWS 管理主控台 將堆疊匯入新的 StackSet
若要將新堆疊匯入 StackSet,請識別包含要匯入之資源的堆疊。
請登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/cloudformation
的 CloudFormation 主控台。 -
從導覽窗格選擇 StackSets。
-
選擇 StackSets 頁面上方的 Create StackSet (建立 StackSet)。
-
在選擇客群頁面上,執行下列動作:
-
對於 StackSet 許可模型,選擇服務受管許可。
-
針對先決條件 - 準備範本,選擇範本已就緒,然後使用下列選項之一選擇您的範本:
-
對於 Amazon S3 URL,可在 Amazon S3 URL 欄位中輸入您的 Amazon S3 URL。
-
對於上傳範本檔案,選擇本機電腦上的 CloudFormation 範本。
-
接受您的設定並選擇 Next (下一步)。
-
-
在指定堆疊詳細資訊頁面上,執行下列操作:
-
在 StackSet 名稱方塊中輸入 StackSet 名稱。
-
(選用) 在 StackSet description (StackSet 描述) 區段中輸入描述。
在設定 StackSet 選項頁面上檢閱所需選項,然後選擇下一步。
-
-
在設定部署選項頁面上進行以下操作:
-
對於將堆疊新增至堆疊集,選擇將堆疊匯入堆疊集。
-
對於 Stacks to import (要匯入的堆疊),選擇您的堆疊匯入方法。
-
對於 Stack ID (堆疊 ID),輸入您的堆疊 ID。
-
對於堆疊 URL,輸入 Amazon S3 URL。
-
-
-
在相關單位單位下,執行以下操作:
-
選擇與組織關聯,以使用根 OU。
-
選擇與組織單位關聯,以輸入要匯入之堆疊的父 OU ID。例如,如果
Stack 1和Stack 2在OU1下方,並且Stack 3在OU2下方,則輸入OU1和OU2。
接受您的設定並選擇 Next (下一步)。
-
-
在 Review (檢閱) 頁面上,檢閱您的設定,然後選擇 Submit (提交)。
建立服務受管堆疊並將其匯入現有 StackSet (主控台)
若要將現有堆疊匯入新的 StackSet,請識別包含您要匯入之資源的堆疊。
建立 StackSet 和匯入堆疊
請登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/cloudformation
的 CloudFormation 主控台。 -
從導覽窗格選擇 StackSets。
-
選擇 StackSets 頁面上方的 Create StackSet (建立 StackSet)。
-
在選擇客群頁面上,執行下列動作:
-
對於 StackSet 許可模型,選擇服務受管許可。
-
針對先決條件 - 準備範本,選擇範本已就緒,然後使用下列選項之一選擇您的範本:
-
對於 Amazon S3 URL,可在 Amazon S3 URL 欄位中輸入您的 Amazon S3 URL。
-
對於上傳範本檔案,選擇本機電腦上的 CloudFormation 範本。
-
接受您的設定並選擇 Next (下一步)。
-
-
在指定堆疊詳細資訊頁面上,執行下列操作:
-
在 StackSet 名稱方塊中輸入 StackSet 名稱。
-
(選用) 在 StackSet description (StackSet 描述) 區段中輸入描述。
在設定 StackSet 選項頁面上檢閱所需選項,然後選擇下一步。
-
-
在設定部署選項頁面上進行以下操作:
-
在 Add stacks to stack set (將堆疊新增至堆疊集) 中,選擇 Deploy new stacks (部署新堆疊)。
-
-
對於關聯組織單位區段,執行以下操作:
-
選擇與組織關聯,以使用根 OU。
-
選擇與組織單位關聯,以輸入要匯入之堆疊的父 OU ID。例如,如果
Stack 1和Stack 2在OU1下方,並且Stack 3在OU2下方,則輸入OU1和OU2。
-
-
對於 Specify regions (指定區域) 和 Deployment options (部署選項),檢視您的選擇。
接受您的設定並選擇 Next (下一步)。
-
在 Review (檢閱) 頁面上,檢閱您的設定,然後選擇 Submit (提交)。
將服務受管堆疊匯入現有 StackSet (主控台)
選擇 StackSet 並識別您要匯入的堆疊。
將堆疊匯入現有 StackSet
請登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/cloudformation
的 CloudFormation 主控台。 -
從導覽窗格選擇 StackSets。
-
選擇要匯入堆疊的 StackSet,然後從動作下拉式清單中選擇將堆疊新增至 StackSet。
-
在設定部署選項頁面上進行以下操作:
-
對於將堆疊新增至堆疊集,選擇將堆疊匯入堆疊集。
-
在要匯入的 Stacks 下方,執行下列動作
-
對於 Stack ID (堆疊 ID),輸入您的堆疊 ID。
-
對於堆疊 URL,輸入 Amazon S3 URL。
-
-
在相關單位單位下,執行以下操作:
-
選擇與組織關聯,以使用根 OU。
-
選擇與組織單位關聯,以輸入要匯入之堆疊的父 OU ID。例如,如果
Stack 1和Stack 2在OU1下方,並且Stack 3在OU2下方,則輸入OU1和OU2。
接受您的設定並選擇 Next (下一步)。
-
-
-
檢閱 Specify overrides (指定覆寫) 頁面,然後選擇 Next (下一步)。
-
確認並檢閱 Review (檢閱) 頁面並選擇 Submit (提交)。
將服務受管堆疊匯入 StackSet (AWS CLI)
建立 StackSet 後,您可以透過傳遞所匯入堆疊的堆疊 ID 來匯入堆疊。您也可以將 OU ID 清單傳遞至您要映射的 OU ID 清單。
CloudFormation 會在這些 OU 中匯入使用者提供的堆疊,並使用這些 OU 作為 StackSet 的部署目標。輸入中顯示的堆疊 ID 會對應至內部 OU ID 清單輸入中最接近的 OU。如果堆疊不屬於輸入清單中的現有 OU ID,則 AWS CLI 將會傳回 StackNotFoundException 錯誤。
import-stacks-to-stack-set 操作可為 OU ID 輸入中的堆疊建立堆疊執行個體。下列 AWS CLI 範例使用 import-stacks-to-stack-set 操作將堆疊匯入 StackSet。
-
若要使用
import-stacks-to-stack-sets操作,請指定您想匯入到堆疊集的stack-ids或stack-ids-url。aws cloudformation import-stacks-to-stack-set \ --stack-set-nameServiceMangedStackSet\ --stack-ids "arn:123456789012:us-east-1:Stack1" \ --organizational-unit-idsou-examplerootid111-exampleouid111aws cloudformation import-stacks-to-stack-set \ --stack-set-nameServiceMangedStackSet\ --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 建立關聯。此操作不會為關聯 OU 中的其他成員帳戶建立堆疊執行個體。若要更新關聯 OU 的成員帳戶,請使用 create-stack-instances 或 update-stack-instances。
create-stack-set 利用使用者提供的範本 (無論是直接上傳或來自 Amazon S3),為 OU 下的所有帳戶建立堆疊執行個體。下列 AWS CLI 範例使用 create-stack-set 操作將堆疊匯入新的 StackSet。
-
若要使用
create-stack-set操作,請指定您的 StackSet 名稱,並將堆疊匯入新建立的 StackSet。aws cloudformation create-stack-set \ --template-urlhttps://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json\ --permission-model SERVICE_MANAGED \ --auto-deployment Enabled=true