CloudFormation StackSets のセルフマネージド型スタックのインポート - AWS CloudFormation

CloudFormation StackSets のセルフマネージド型スタックのインポート

AWS CloudFormation スタックのインポートオペレーションでは、既存のスタックを新規または既存のスタックセットにインポートできるため、既存のスタックを 1 回のオペレーションでスタックセットに移行できます。スタックインポートを使用することで、それらのリソースを削除して再作成することなく、ダウンタイムや停止を回避できます。スタックがスタックセットにインポートされると、元のスタックは指定されたスタックセットのスタックインスタンスになります。

セルフマネージドスタックのインポートに関する考慮事項
  • スタックのインポートオペレーションには、スタックセットを作成する管理者アカウントと、スタックを含むターゲットアカウントが必要です。

  • ターゲットアカウントには、スタック ID または ARN の入力で GetTemplate オペレーションを使用する権限が必要です。そのため、管理者アカウントには AWSCloudFormationStackSetAdministrationRole または AWSCloudFormationStackSetsExectionRole 許可を付与する必要があります。

既存のスタックを新しいスタックセットにインポートする (コンソール)

開始する前に、インポートするスタックを特定します。

  1. AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. ナビゲーションペインから [StackSets] を選択します。

  3. [StackSets] ページの上部で [Create StackSet (StackSet の作成)] を選択します。

  4. [テンプレートを選択する] ページで、次のいずれかのオプションでテンプレートを指定し、[次へ] を選択します。

    • Amazon S3 URL を選択し、テキストボックスでテンプレートの URL を指定します。

    • [Upload a template file] (テンプレートファイルのアップロード) を選択し、テンプレートを参照します。

    • [From stack ID] (スタック ID から) を選択し、スタック ID を入力します。

  5. リポジトリの [StackSet の詳細を指定] ページで、作成するスタックセットの名前を入力し、[次へ] を選択します。

    (オプション) スタックセットの説明を入力します。

  6. [スタックオプションの設定] ページで、選択内容を確認し、[次へ] を選択します。

  7. [デプロイオプションの設定] ページで、[スタックをスタックセットにインポート] を選択します。

  8. インポートするスタックのスタック ID を [Stacks to import] (インポートするスタック) フィールドに入力します。例えば、arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786 と指定します。

    (オプション) [別のスタック ID の追加] を追加するを選択し、インポートする別のスタックのスタックID を入力します。スタックのインポートオペレーションごとに最大 10 個のスタックを追加できます。

  9. デプロイのオプションを確認し、[次へ] を選択します。

  10. [確認] ページで、設定とスタックセットのプロパティを確認します。スタックをスタックセットにインポートする準備ができたら、[送信] を選択します。

結果: インポートされたスタックは、指定されたスタックセットのスタックインスタンスになりました。スタックインポートステータスの詳細については、「StackSets ステータスコード」を参照してください。

既存のスタックを既存のスタックセットにインポートする (コンソール)

開始する前に、インポートするスタックを特定します。

  1. AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. ナビゲーションペインから [StackSets] を選択します。

  3. [StackSets] ページで、スタックをインポートするスタックセットを選択します。

  4. スタックセットを選択した状態で、[アクション] メニューから [スタックを StackSet に追加] を選択します。

  5. [デプロイオプションの設定] ページで、[スタックをスタックセットにインポート] を選択し、インポートするスタックのスタック ID を [インポートするスタック] に入力します。例えば、arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786 と指定します。

    (オプション) [別のスタック ID の追加] を追加するを選択し、インポートする別のスタックのスタックID を入力します。スタックのインポートオペレーションごとに最大 10 個のスタックを追加できます。

  6. [Next] を選択します。

  7. [Specify overrides] (オーバーライドを指定) ページで、選択内容を確認し、[次へ] を選択します。

  8. [確認] ページで、設定とスタックセットのプロパティを確認します。スタックセットを作成する準備ができたら、[Submit] (送信) を選択します。

結果: インポートされたスタックは、指定されたスタックセットのスタックインスタンスになりました。スタックインポートステータスの詳細については、「StackSets ステータスコード」を参照してください。

スタックをスタックセットにインポートする (AWS CLI)

既存のスタックを新しいスタックセットにインポートするには

次の create-stack-set コマンドはスタックセットを作成し、指定されたスタックをインポートします。インポートするスタックは ARN によって識別されます。placeholder text を独自の情報に置き換えます。

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
既存のスタックを既存のスタックセットにインポートするには

次の import-stacks-to-stack-sets コマンドは、指定されたスタックを MyStackSet スタックセットにインポートします。インポートするスタックは ARN によって識別されます。placeholder text を独自の情報に置き換えます。

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 コマンドは、スタックセットにスタックインスタンスを追加します。placeholder text を独自の情報に置き換えます。

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