変更セットの表示 - AWS CloudFormation

変更セットの表示

変更セットの作成後、実行前に目的の変更を確認できます。変更セットの表示には CloudFormation コンソール、AWS CLI、または CloudFormation API を使用できます。CloudFormation コンソールは、変更の概要、および JSON 形式の変更の詳細なリストを提供します。AWS CLI および AWS CloudFormation API は、JSON 形式の変更の詳細なリストを返します。

View a change set for nested stack (console)
ネストされたスタックの変更セットを表示するには (コンソール)
  1. AWS CloudFormation コンソールの [スタック] で、表示する変更セットを含むスタックの名前を選択します。

  2. ナビゲーションペインで [変更セット] を選択して、スタックの変更セットのリストを表示します。

  3. 表示する変更セットの名前を選択します。

    CloudFormation コンソールに変更セットの詳細ページが表示されます。ここで変更セットの作成時刻、ステータス、変更セットの生成に使用された入力、および変更の要約を確認できます。

    [Changes] (変更) セクションの各行は、CloudFormation が動的な状態を追加、変更、削除、表示するリソースを表します。

    • Add (追加) – スタックのテンプレートにリソースを追加すると、CloudFormation によってリソースが作成されます。

    • Modify (変更) – スタックのテンプレート内のリソースのプロパティを変更すると、CloudFormation はリソースを変更します。

    • Remove (削除) – スタックのテンプレートから既存のリソースを削除すると、CloudFormation によってリソースが削除されます。

    • Dynamic – CloudFormation はネストされたスタックのテンプレートから正確なリソース変更アクションを特定できません。

    注記

    変更によってリソースが中断されたり置き換え (再作成) されたりすることがあります。リソースの更新動作の詳細については、スタックのリソースの更新動作を参照してください。

    特定の変更に注目するには、フィルタビューを使用します。たとえば、AWS::CloudFormation::Stack などの特定のリソースタイプをフィルタリングします。特定のリソースをフィルタリングするには、DeadLetterQueueNestedStack のような論理 ID または物理 ID を指定します。

  4. [Changes] セクションで、表示するネストされた変更セットの [View nested change set] を選択します。

    CloudFormation コンソールによって、ネストされた変更セットの詳細ページへ移動します。[Go to root change set] を選択してルート変更セットを表示するか、[View parent change set] を選択して親変更セットを表示できます。詳細については、「 ネストされたスタックの変更セット」を参照してください。

  5. [変更] セクションで、[プロパティレベルの変更] 列にある [詳細を表示] を選択して、リソースのプロパティ値に対する変更の詳細を表示します。

  6. CloudFormation コンソールがリソースのプロパティレベルの変更ページを表示します。このページでは、変更セットを実行する前のリソースのテンプレート設定と、変更セットを実行した後のテンプレート設定を確認できます。

    プロパティレベルの変更セクションの表には、影響を受けるプロパティの [パス][変更タイプ][変更前の値]、および [変更後の値] が表示されます。この表で、テンプレートの [変更前] ビューと [変更後] ビューで強調表示したい各変更のチェックボックスを選択して、プロパティレベルでどのような変更が行われるのかを確認します。

    • 追加 – 追加されたプロパティは緑色で強調表示されます。

    • 変更 – 変更されたプロパティは青色で強調表示されます。

    • 削除 – 削除されたプロパティは赤で強調表示されます。

View a change set (console)
変更セットを表示するには (コンソール)
  1. AWS CloudFormation コンソールの [スタック] で、表示する変更セットを含むスタックの名前を選択します。

  2. ナビゲーションペインで、[変更セット] を選択して、スタックの変更セットのリストを表示します。

  3. 表示する変更セットの名前を選択します。

    CloudFormation コンソールに変更セットの詳細ページが表示されます。ここで変更セットの作成時刻、ステータス、変更セットの生成に使用された入力、および変更の要約を確認できます。

    [Changes] (変更) セクションの各行は、CloudFormation が追加、変更、削除するリソースを表します。

    • Add (追加) – スタックのテンプレートにリソースを追加すると、CloudFormation によってリソースが作成されます。

    • Modify (変更) – スタックのテンプレート内のリソースのプロパティを変更すると、CloudFormation はリソースを変更します。

    • Remove (削除) – スタックのテンプレートから既存のリソースを削除すると、CloudFormation によってリソースが削除されます。

    注記

    変更によってリソースが中断されたり置き換え (再作成) されたりすることがあります。リソースの更新動作の詳細については、スタックのリソースの更新動作を参照してください。

    特定の変更に注目するには、フィルタビューを使用します。たとえば、AWS::EC2::Instance などの特定のリソースタイプをフィルタリングします。特定のリソースをフィルタリングするには、myWebServeri-123abcd4 のような論理 ID または物理 ID を指定します。

  4. [変更] セクションで、[プロパティレベルの変更] 列にある [詳細を表示] を選択して、リソースに対して行われたプロパティ値の変更を表示します。

  5. CloudFormation コンソールがリソースのプロパティレベルの変更ページを表示します。このページでは、変更セットを実行する前のリソースのテンプレート設定と、変更セットを実行した後のテンプレート設定を確認できます。

    プロパティレベルの変更セクションの表には、影響を受けるプロパティの [パス][変更タイプ][変更前の値]、および [変更後の値] が表示されます。この表で、テンプレートの [変更前] ビューと [変更後] ビューで強調表示したい各変更のチェックボックスを選択して、プロパティレベルでどのような変更が行われるのかを確認します。

    • 追加 – 追加されたプロパティは緑色で強調表示されます。

    • 変更 – 変更されたプロパティは青色で強調表示されます。

    • 削除 – 削除されたプロパティは赤で強調表示されます。

変更セットを表示するには (AWS CLI)
  1. 変更セットの ID を取得するには、aws cloudformation list-change-sets コマンドを実行します。

    次の例のように、表示する変更セットがあるスタックのスタック ID を指定します。

    $ aws cloudformation list-change-sets \ --stack-name arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000

    CloudFormation から、次のような変更セットのリストが返されます。

    { "Summaries": [ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000", "Status": "CREATE_COMPLETE", "ChangeSetName": "SampleChangeSet", "CreationTime": "2020-11-18T20:44:05.889Z", "StackName": "SampleStack", "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet/1a2345b6-0000-00a0-a123-00abc0abc000" }, { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000", "Status": "CREATE_COMPLETE", "ChangeSetName": "SampleChangeSet-conditional", "CreationTime": "2020-11-18T21:15:56.398Z", "StackName": "SampleStack", "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet-conditional/1a2345b6-0000-00a0-a123-00abc0abc000" }, { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000", "Status": "CREATE_COMPLETE", "ChangeSetName": "SampleChangeSet-replacement", "CreationTime": "2020-11-18T21:03:37.706Z", "StackName": "SampleStack", "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet-replacement/1a2345b6-0000-00a0-a123-00abc0abc000" } ] }
  2. 表示する変更セットの ID を指定して aws cloudformation describe-change-set コマンドを実行します。例:

    $ aws cloudformation describe-change-set --change-set-name arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet/1a2345b6-0000-00a0-a123-00abc0abc000

    CloudFormation から、指定された変更セットに関する情報が返されます。

    { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000", "Status": "CREATE_COMPLETE", "ChangeSetName": "SampleChangeSet-direct", "Parameters": [ { "ParameterValue": "testing", "ParameterKey": "Purpose" }, { "ParameterValue": "ellioty-useast1", "ParameterKey": "KeyPairName" }, { "ParameterValue": "t2.micro", "ParameterKey": "InstanceType" } ], "Changes": [ { "ResourceChange": { "ResourceType": "AWS::EC2::Instance", "PhysicalResourceId": "i-1abc23d4", "Details": [ { "ChangeSource": "DirectModification", "Evaluation": "Static", "Target": { "Attribute": "Tags", "RequiresRecreation": "Never" } } ], "Action": "Modify", "Scope": [ "Tags" ], "LogicalResourceId": "MyEC2Instance", "Replacement": "False" }, "Type": "Resource" } ], "CreationTime": "2020-11-18T23:35:25.813Z", "Capabilities": [], "StackName": "SampleStack", "NotificationARNs": [], "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet-direct/9edde307-960d-4e6e-ad66-b09ea2f20255" }

    --include-property-valuesdescribe-change-set とともに使用して、プロパティレベルの変更を一覧表示します。

    Changes キーリストはリソースを変更します。この変更セットを実行した場合、CloudFormation によって i-1abc23d4 EC2 インスタンスのタグが更新されます。各フィールドの説明については、「AWS CloudFormation API リファレンス」の「Change データ型」を参照してください。

    変更セットのその他の例については、変更セットのサンプルを参照してください。

変更セット内のプロパティレベルの変更を表示する (AWS CLI)
  • 以下のコマンドは、Ipv4Prefixes プロパティを削除し、リソースの Description を変更して、Tag を追加する、AWS::EC2::NetworkInterface リソースの変更セットに関連するプロパティレベルの変更を一覧表示します。

    $ aws cloudformation describe-change-set --include-property-values --change-set-name arn:aws:cloudformation:us-east-1:123456789012:changeSet/ExampleChangeSet/9f7b541b-126b-44f7-998e-932174557841
    "ChangeSetName": "ExampleChangeSet", "ChangeSetId": "arn:aws:cloudformation:us-east-1:803642222207:changeSet/ExampleChangeSet/9f7b541b-126b-44f7-998e-932174557841", "StackId": "arn:aws:cloudformation:us-east-1:803642222207:stack/ExampleStack/ab664180-f686-11ee-9e29-12cd92393671", "StackName": "ExampleStack", "Description": null, "Parameters": null, "CreationTime": "2024-04-09T18:04:59.935000+00:00", "ExecutionStatus": "AVAILABLE", "Status": "CREATE_COMPLETE", "StatusReason": null, "NotificationARNs": [], "RollbackConfiguration": { "RollbackTriggers": [] }, "Capabilities": [], "Tags": null, "ParentChangeSetId": null, "IncludeNestedStacks": true, "RootChangeSetId": null, "OnStackFailure": null, { "Changes": [ { "Type": "Resource", "ResourceChange": { "Action": "Modify", "LogicalResourceId": "EC2NetworkInterface00eni067fd35b649a05b7100Tpyls", "PhysicalResourceId": "eni-067fd35b649a05b71", "ResourceType": "AWS::EC2::NetworkInterface", "Replacement": "False", "Scope": [ "Properties", "Tags" ], "Details": [ { "Target": { "Attribute": "Properties", "Name": "Ipv4Prefixes", "RequiresRecreation": "Never", "Path": "/Properties/Ipv4Prefixes", "BeforeValue": "[]", "AttributeChangeType": "Remove" }, "Evaluation": "Static", "ChangeSource": "DirectModification" }, { "Target": { "Attribute": "Properties", "Name": "Description", "RequiresRecreation": "Never", "Path": "/Properties/Description", "BeforeValue": "", "AfterValue": "Description", "AttributeChangeType": "Modify" }, "Evaluation": "Static", "ChangeSource": "DirectModification" }, { "Target": { "Attribute": "Tags", "RequiresRecreation": "Never", "Path": "/Properties/Tags/0", "AfterValue": "{\"Key\":\"Test\",\"Value\":\"Test\"}", "AttributeChangeType": "Add" }, "Evaluation": "Static", "ChangeSource": "DirectModification" } ], "BeforeContext": "{\"Properties\":{\"Description\":\"\",\"PrivateIpAddress\":\"172.31.76.2\",\"PrivateIpAddresses\":[{\"PrivateIpAddress\":\"172.31.76.2\",\"Primary\":\"true\"}],\"SecondaryPrivateIpAddressCount\":\"0\",\"Ipv6PrefixCount\":\"0\",\"Ipv4Prefixes\":[],\"Ipv4PrefixCount\":\"0\",\"GroupSet\":[\"sg-05a45689b1059e82d\"],\"Ipv6Prefixes\":[],\"SubnetId\":\"subnet-455e8969\",\"SourceDestCheck\":\"true\",\"InterfaceType\":\"interface\",\"Tags\":[]},\"UpdateReplacePolicy\":\"Retain\",\"DeletionPolicy\":\"Retain\"}", "AfterContext": "{\"Properties\":{\"Description\":\"Description\",\"PrivateIpAddress\":\"172.31.76.2\",\"PrivateIpAddresses\":[{\"PrivateIpAddress\":\"172.31.76.2\",\"Primary\":\"true\"}],\"SecondaryPrivateIpAddressCount\":\"0\",\"Ipv6PrefixCount\":\"0\",\"Ipv4PrefixCount\":\"0\",\"GroupSet\":[\"sg-05a45689b1059e82d\"],\"Ipv6Prefixes\":[],\"SubnetId\":\"subnet-455e8969\",\"SourceDestCheck\":\"true\",\"InterfaceType\":\"interface\",\"Tags\":[{\"Value\":\"Test\",\"Key\":\"Test\"}]},\"UpdateReplacePolicy\":\"Retain\",\"DeletionPolicy\":\"Retain\"}" } } ], "ChangeSetName": "ExampleChangeSet", "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/ExampleChangeSet/9f7b541b-126b-44f7-998e-932174557841", "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/ExampleStack/ab664180-f686-11ee-9e29-12cd92393671",