CloudFormation StackSets のサービスマネージド型スタックのインポート
AWS CloudFormation スタックのインポートオペレーションでは、既存のスタックを新規または既存のスタックセットにインポートできるため、既存のスタックを 1 回のオペレーションでスタックセットに移行できます。StackSets はスタックの機能を拡張するため、1 回のオペレーションで複数のアカウントとリージョンにまたがるスタックを作成、更新、削除できます。
サービスマネージドスタックのインポートに関する考慮事項
-
スタックのインポートオペレーションには、StackSets で信頼アクセスを有効にするなど、関連付けられた AWS Organizations を管理できる管理アカウントまたは委任された管理アカウントが必要です。
-
ターゲットアカウントは、管理アカウントまたは委任された管理者アカウントによって管理される AWS Organizations のメンバーである必要があります。
-
ターゲットスタックは、ターゲット OU の 1 つに存在します。
-
ターゲットアカウントは AWS Organizations のメンバーである必要があります。
-
AWS Organizations アクセスは、組織の
ACTIVATED
状態である必要があります。 -
インポートされるスタックは、管理アカウントではなく、メンバーアカウントのいずれかに存在する必要があります。
トピック
サービスマネージド型スタックを新しいスタックセットにインポートする (コンソール)
AWS Management Console を使用して、スタックを新しいスタックセットにインポートする。
新しいスタックをスタックセットにインポートするには、インポートするリソースを含むスタックを特定します。
AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation
) を開きます。 -
ナビゲーションペインから [StackSets] を選択します。
-
[StackSets] ページの上部で [Create StackSet (StackSet の作成)] を選択します。
-
[テンプレートを選択] ページで、次のようにします。
-
[StackSet アクセス許可モデル] で、[サービス管理のアクセス許可] (を選択します。
-
前提条件 - テンプレートの準備 で、[テンプレートの準備完了] を選択し、次のいずれかのオプションを使用してテンプレートを選択します。
-
[Amazon S3 URL] で、[Amazon S3 URL] フィールドに Amazon S3 URL を入力します。
-
[テンプレートファイルのアップロード] で、ローカルコンピュータの CloudFormation テンプレートを選択します。
-
設定を受け入れて、[Next] (次へ) を選択してください。
-
-
[StackSet の詳細を指定] ページで、以下を実行します。
-
[StackSet name] (StackSet の名前) ボックスにスタックセット名を入力します。
-
(オプション) [StackSet description] (StackSet の説明) セクションに説明を入力します。
[スタックオプションの設定] ページで、選択内容を確認し、[次へ] を選択します。
-
-
[デプロイオプションの設定] ページで、以下を実行します。
-
[StackSet にスタックを追加] で、[スタックをスタックセットにインポート] を選択します。
-
[Stacks to import] (インポートするスタック) で、スタックのインポート方法を選択します。
-
[Stack ID] (スタック ID) には、スタック ID を入力します。
-
[スタック URL] で、Amazon S3 URL を入力します。
-
-
-
[組織単位を関連付ける] で、次を実行します:
-
ルート OU を使用するには、[組織に関連付ける] を選択します。
-
[組織単位 (OU) に関連付ける] を選択して、インポートするスタックの親 OU ID を入力します。例えば、
Stack 1
とStack 2
がOU1
未満で、Stack 3
がOU2
未満の場合は、OU1
とOU2
を入力します。
設定を受け入れて、[Next] (次へ) を選択してください。
-
-
[Review] (確認) ページで、設定を確認し、[Submit] (送信) を選択します。
サービスマネージド型スタックを作成して、既存のスタックセットにインポートする (コンソール)
既存のスタックを新しいスタックセットにインポートするには、インポートするリソースを含むスタックを特定します。
スタック セットを作成してスタックをインポートするには
AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation
) を開きます。 -
ナビゲーションペインから [StackSets] を選択します。
-
[StackSets] ページの上部で [Create StackSet (StackSet の作成)] を選択します。
-
[テンプレートを選択] ページで、次のようにします。
-
[StackSet アクセス許可モデル] で、[サービス管理のアクセス許可] (を選択します。
-
前提条件 - テンプレートの準備 で、[テンプレートの準備完了] を選択し、次のいずれかのオプションを使用してテンプレートを選択します。
-
[Amazon S3 URL] で、[Amazon S3 URL] フィールドに Amazon S3 URL を入力します。
-
[テンプレートファイルのアップロード] で、ローカルコンピュータの CloudFormation テンプレートを選択します。
-
設定を受け入れて、[Next] (次へ) を選択してください。
-
-
[StackSet の詳細を指定] ページで、以下を実行します。
-
[StackSet name] (StackSet の名前) ボックスにスタックセット名を入力します。
-
(オプション) [StackSet description] (StackSet の説明) セクションに説明を入力します。
[スタックオプションの設定] ページで、選択内容を確認し、[次へ] を選択します。
-
-
[デプロイオプションの設定] ページで、以下を実行します。
-
[Add stacks to stack set] (スタックセットにスタックを追加) で、[Deploy new stacks] (新しいスタックのデプロイ) を選択します。
-
-
次の情報を [組織単位を関連付ける] セクションに追加します。
-
ルート OU を使用するには、[組織に関連付ける] を選択します。
-
[組織単位 (OU) に関連付ける] を選択して、インポートするスタックの親 OU ID を入力します。例えば、
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/cloudformation
) を開きます。 -
ナビゲーションペインから [StackSets] を選択します。
-
スタックをインポートするスタックセットを選択し、[アクション] ドロップダウンから [StackSet にスタックを追加] を選択します。
-
[デプロイオプションの設定] ページで、以下を実行します。
-
[StackSet にスタックを追加] で、[スタックをスタックセットにインポート] を選択します。
-
[インポートするスタック] で、次の操作を行います。
-
[Stack ID] (スタック ID) には、スタック ID を入力します。
-
[スタック URL] で、Amazon S3 URL を入力します。
-
-
[組織単位を関連付ける] で、次を実行します:
-
ルート OU を使用するには、[組織に関連付ける] を選択します。
-
[組織単位 (OU) に関連付ける] を選択して、インポートするスタックの親 OU ID を入力します。例えば、
Stack 1
とStack 2
がOU1
未満で、Stack 3
がOU2
未満の場合は、OU1
とOU2
を入力します。
設定を受け入れて、[Next] (次へ) を選択してください。
-
-
-
[Specify overrides] (上書きの指定) ページを確認し、[Next] (次へ) を選択します。
-
[Review] (確認) ページを確認して見直し、[Submit] (送信) を選択します。
サービスマネージド型スタックをスタックセットにインポートする (AWS CLI)
スタックセットが作成されたら、インポートするスタックのスタック ID を渡すことでスタックをインポートできます。マッピング先の OU ID リストを渡すこともできます。
StackSets は、これらの OU 内のユーザー提供のスタックをインポートし、それらの OU をスタックセットのデプロイターゲットとして使用します。入力に示されたスタック ID は、内部的に 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
オペレーションでは、インポートされるスタックをその特定の OU に関連付けることができるように、少なくとも 1 つの組織単位 ID (OU ID) を指定する必要があります。このオペレーションでは、関連する OU 内の他のメンバーアカウントのスタックインスタンスは作成されません。関連する OU のメンバーアカウントを更新するには、create-stack-instances
または update-stack-instances
を使用します。
create-stack-set
は、直接アップロードまたは Amazon S3 のいずれかから、ユーザー提供のテンプレートを使用して、OU の下のすべてのアカウントのスタック インスタンスを作成します。次の 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