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

変更セットの作成

実行中のスタックに対する変更セットを作成するには、変更されたテンプレート、新しい入力パラメーター値、またはその両方を提供することで実行したい変更を送信します。AWS CloudFormation によってスタックと送信された変更が比較され、変更セットが生成されます。

たとえばスタックに新しいリソースを追加するなど、テンプレートを変更するには、変更セットを作成する前に、現在のテンプレートのコピーを変更します。詳細については、「スタックテンプレートの変更」を参照してください。

変更セットを作成するには (コンソール)

  1. AWS CloudFormation コンソール のスタックのリストから、変更セットを作成する実行中のスタックを選択します。

  2. [Actions]、次に [Create Change Set] を選択します。

     [Actions] メニューの [Create Change Set For Current Stack] オプション。
  3. スタックテンプレートを変更した場合は、更新されたテンプレートの場所を指定します。そうでない場合は、[Use current template] を選択します。

    • ローカルコンピュータに保存されているテンプレートの場合は、[Upload a template to Amazon S3] を選択します。 [Choose File] を選択してファイルの場所に移動して選択し、[Next] をクリックします。

    • Amazon S3 バケットに保存されているテンプレートの場合は、[Specify an Amazon S3 URL] を選択します。テンプレートの URL を入力するか貼り付けて、[Next] をクリックします。

      バージョニングが有効なバケットにテンプレートがある場合、https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW のようにテンプレートの特定バージョンを指定することもできます。詳細については、Amazon Simple Storage Service コンソールユーザーガイドの「バージョニングが有効なバケット内のオブジェクトを管理する」を参照してください。

  4. [Specify Details] ページで、変更セットに関する情報を入力し、必要であれば変更するパラメーター値を修正して、[Next] を選択します。

    [Specify Details] セクションで、変更セットの名前を指定します。また、変更セットの説明を指定して目的をわかりやすくできます。

    テンプレートにパラメーターが含まれる場合は、[Parameters] セクションで該当するパラメーター値を変更します。スタックのテンプレートを再利用する場合は、AWS CloudFormation によって各パラメーターにスタックの現在の値が入力されています。ただし、NoEcho 属性で宣言されているパラメーターは除きます。これらのパラメーターに既存の値を使用するには、[Use existing value] を選択します。

  5. [Options] ページで、スタックのサービスロール、スタックタグ、またはスタックの Amazon SNS 通知トピックを必要に応じて更新し、[Next] を選択します。

  6. この変更セットの変更を確認します。

    テンプレートに AWS Identity and Access Management (IAM) リソースが含まれている場合、[I acknowledge that this template may create IAM resources] を選択して、この変更セットを実行した場合は AWS CloudFormation によって IAM リソースが作成される可能性があることを了解します。IAM リソースは AWS アカウントのアクセス権限を変更することがあります。これらのリソースを確認して、必要なアクションのみを許可していることを確認します。詳細については、「AWS Identity and Access Management によるアクセスの制御」を参照してください。

  7. [Create change set] を選択します。

    変更セットの詳細ページにリダイレクトされます。AWS CloudFormation によって変更セットが生成される間、変更セットのステータスは [CREATE_IN_PROGRESS] です。変更セットが作成されると、AWS CloudFormation によってステータスが [CREATE_COMPLETE] に設定されます。[Changes] セクションに、AWS CloudFormation によってスタックに対するすべての変更のリストが表示されます。詳細については、「変更セットの表示」を参照してください。

     変更セットの詳細ページ。

    AWS CloudFormation で変更セットの作成に失敗した場合 (FAILED ステータスが報告された場合)、[Status] フィールドに表示されたエラーを修正して、変更セットを再作成します。

変更セットを作成するには (AWS CLI)

  • aws cloudformation create-change-set コマンドを実行します。

    変更はコマンドオプションとして送信します。新しいパラメーター値、修正済みのテンプレート、または両方を指定できます。たとえば、次のコマンドで SampleStack スタックの SampleChangeSet という名前の変更セットが作成されます。変更セットは現在のスタックのテンプレートを使用しますが、Purpose パラメーターの値が異なります。

    Copy
    aws cloudformation create-change-set --stack-name arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000 --change-set-name SampleChangeSet --use-previous-template --parameters ParameterKey="InstanceType",UsePreviousValue=true ParameterKey="KeyPairName",UsePreviousValue=true ParameterKey="Purpose",ParameterValue="production"