メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

新しいスタックセットの作成

AWS マネジメントコンソール 内で、または AWS CLI で AWS CloudFormation コマンドを使用することでスタックセットを作成できます。

AWS マネジメントコンソール を使用してスタックセットを作成するには

  1. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

  2. ページ上部で、[StackSets] を選択し、[Create stack set] を選択します。

    StackSets ホームページ
  3. [Select template] ウィザードの [Select template] ページで、[Select a sample template from the following templates] を選択します。

     StackSets Select Template ウィザードページ
  4. [Enable AWS Config] サンプルテンプレートを選択し、[Next] を選択します。

     [StackSets] サンプル [Enable AWS Config] テンプレート
  5. ウィザードの [Specify details] ページで、次の情報を入力します。

    1. スタックセットの名前を指定します。スタックセット名はアルファベット文字で始まり、文字、数字、ハイフンのみを含める必要があります。このウォークスルーでは、my-awsconfig-stackset という名前を使用します。

      [Specify Details] ページ、最初のセクション
    2. プロンプトが表示され、AWS Config に使用されるパラメータの値を指定します。これらのパラメータに関する詳細については、AWS Config Developer Guide の「Setting up AWS Config with the Console」を参照してください。このウォークスルーでは、すべての AWS Config パラメータをデフォルト設定のままにしておきます。

  6. [Delivery Channel Configuration] 領域で、アップデートと通知の配信チャネルを設定できます。AWS Config の配信チャネルでの詳細については、AWS Config 開発者ガイド配信チャネルの管理を参照してください。このウォークスルーでは、この領域はデフォルト設定のままにします。

  7. [Delivery Notifications] 領域で、ログの内容に基づいて Amazon Simple Notification Service(SNS) の更新を E メールで設定できます。このウォークスルーでは、Amazon SNS の更新は設定しません。

  8. AWS Config のパラメータの指定が完了したら、[Next] を選択します。

  9. [Set deployment options] ページで、スタックセットのスタックをデプロイしたいアカウントおよびリージョンを提供してください。AWS CloudFormation は、リージョンのデプロイ失敗が指定された障害耐性を超えない限り、最初のリージョン内の指定されたアカウントにスタックをデプロイし、次のリージョンに移行し、それが繰り返されます。

     Set Deployment Options ページ
    1. [Accounts] 領域で、[Deploy stacks in accounts] を選択します。ターゲットアカウント番号をテキストボックスに貼り付け、複数の数字をカンマで区切ります。

    2. [Regions] 領域で、米国西部 (オレゴン) リージョン を選択し、次に [Add] を選択します。米国東部 (バージニア北部) リージョン でこの手順を繰り返します。米国西部 (オレゴン) リージョン が [Deployment order] ボックスの最初である必要があります。

    3. [Preferences] 領域で、デフォルト値の [1] および同時アカウントの最大数数値を保持します。つまり、AWS CloudFormation は一度に 1 つのアカウントのみでスタックをデプロイします。障害耐性 をデフォルト値の [0] のままにし、数値 デフォルトオプションをそのままにします。つまり、AWS CloudFormation が現在のリージョンでデプロイを停止し、残りのリージョンでのデプロイをキャンセルする前に、最大で 1 つのスタックデプロイが、指定されたリージョンで失敗できるということを意味します。[Next] を選択します。

  10. [Tags] ページで、キーおよび値のペアを指定してタグを追加します。このウォークスルーでは、[Test] の値を持つ [Stage] というタグを作成しますスタックセットに適用するタグは、スタックに作成されるすべてのリソースに適用されます。AWS でのタグの使用方法に関する詳細については、『AWS Billing and Cost Management ユーザーガイド』の「コスト配分タグの使用」を参照してください。キーと値のペアを指定したあと、[+] を選択してタグを保存します。[Next] を選択します。

     Tags ページ
  11. [Review] ページで、設定とスタックセットのプロパティを確認します。変更するには、プロパティを変更したい領域で [Edit] を選択します。スタックセットを作成する前に、[Capabilities] 領域のチェックボックスをオンにし、スタックセットで作成しているリソースの一部が IAM リソースやアクセス権限を必要とする場合があることを認識します。必要となる可能性があるアクセス権限の詳細については、本ガイドの AWS CloudFormation テンプレートで IAM リソースを認識するを参照してください。スタックセットを作成する準備ができたら、[Create] を選択します。

     必要な機能を認識する
  12. AWS CloudFormation がスタックセットの作成を開始します。スタックセット内のスタックの作成のステータスの進捗は、[Create] を選択した際に開くプロパティページで確認できます。

AWS CLI を使用してスタックセットを作成するには

AWS CLI コマンドを使用してスタックセットを作成する場合は、2 つの異なるコマンドを実行します: create-stack-set でテンプレートをアップロードしてスタックセットコンテナを作成し、create-stack-instances でスタックセット内にスタックを作成します。まず AWS CLI コマンド create-stack-set を実行し、AWS Config を有効にする AWS CloudFormation テンプレートのサンプルをアップロードし、それからスタックセット作成を開始します。

  1. AWS CLI を開きます。

  2. 次のコマンドを実行します。--template-url パラメータには、テンプレートを保管する Amazon S3 バケットの URL を入力します。このウォークスルーでは、--stack-set-name パラメータの値として my-awsconfig-stackset を使用します。

    Copy
    aws cloudformation create-stack-set --stack-set-name my-awsconfig-stackset --template-url https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml
  3. create-stack-set が完了したあと、list-stack-sets コマンドを実行してスタックセットが作成されたことを確認します。新しいスタックセットが表示結果で確認できます。

    Copy
    aws cloudformation list-stack-sets
  4. create-stack-instances AWS CLI コマンドを実行して、スタックセットにスタックインスタンスを追加します。このウォークスルーでは、--regions パラメータの値として us-west-2 および us-east-1 を使用します。

    次の例で示している通り、--operation-preferences パラメータで FailureToleranceCount0 に、MaxConcurrentCount1 に設定することで、障害耐性および同時アカウントの最大数を設定します。代わりに割合を適用するには、FailureTolerancePercentage または MaxConcurrentPercentage を使用します。このウォークスルーでは、割合ではなくカウントを使用します。

    Copy
    aws cloudformation create-stack-instances --stack-set-name my-awsconfig-stackset --accounts '["account_ID_1","account_ID_2"]' --regions '["region_1","region_2"]' --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1

    重要

    別のオペレーションを開始する前に、オペレーションが終了するのを待ってください。一度に 1 つのオペレーションのみを実行できます。

  5. スタックイスタンスが正常に作成されたことを確認します。DescribeStackSetOperation を、ステップ 4 の出力の一部として返される operation-id と実行します。

    Copy
    aws cloudformation describe-stack-set-operation --stack-set-name my-awsconfig-stackset --operation-id operation_ID