查看更改集 - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

查看更改集

创建更改集之后,您可在执行之前查看提议的更改。您可以使用 CloudFormation 控制台、Amazon CLI 或 CloudFormation API 查看更改集。CloudFormation 控制台提供了更改摘要以及 JSON 格式的更改详细列表。Amazon CLI 和 Amazon CloudFormation API 以 JSON 格式返回详细的更改列表。

View a change set for nested stack (console)
查看嵌套堆栈的更改集(控制台)
  1. Amazon CloudFormation 控制台中,在堆栈中选择包含您要查看的更改集的堆栈的名称。

  2. 在导航窗格中,选择更改集以查看堆栈的更改集列表。

  3. 选择要查看的更改集的名称。

    CloudFormation 控制台将您引导到更改集的详细信息页面,在其中您可以查看创建更改集的时间、其状态、用于生成更改集的输入,以及更改摘要。

    更改部分中,每一行表示 CloudFormation 将添加、修改、删除或显示动态状态的资源。

    • 添加 – CloudFormation 在您将资源添加到堆栈的模板上时创建资源。

    • 修改 – CloudFormation 在您更改堆栈模板中资源的属性时修改资源。

    • 删除 – CloudFormation 在您删除堆栈模板中的资源时删除资源。

    • 动态 – CloudFormation 无法从嵌套堆栈的模板中确定确切的资源更改操作。

    注意

    修改可能会导致中断或替换(重新创建)资源。有关资源更新行为的更多信息,请参阅堆栈资源的更新行为

    要重点查看特定更改,请使用筛选视图。例如,筛选特定资源类型,如 AWS::CloudFormation::Stack。要筛选特定资源,请指定其逻辑或物理 ID,例如 DeadLetterQueueNestedStack

  4. 更改部分中,选择要查看的嵌套更改集的查看嵌套更改集

    CloudFormation 控制台会将您引导到嵌套更改集的详细信息页面。您可以选择转到根更改集以查看根更改集,也可以选择查看父更改集以查看父更改集。有关详细信息,请参阅嵌套堆栈的更改集

  5. 更改部分中,选择属性级别更改列中的查看详细信息,以查看资源属性值的详细更改。

  6. CloudFormation 控制台将引导您打开资源的属性级别更改页面,您可以在其中查看执行更改集之前的资源模板配置,以及执行更改集之后将会具有的模板配置。

    “属性级别更改”部分的表格显示了受影响属性的路径更改类型更改前值更改后值。在该表格中,选中要在模板的更改前更改后视图中突出显示的每项更改的复选框,以查看将在属性级别进行的具体更改。

    • 添加 – 添加的属性以绿色突出显示。

    • 修改 – 修改后的属性以蓝色突出显示。

    • 移除 – 已删除的属性以红色突出显示。

View a change set (console)
查看更改集(控制台)
  1. Amazon CloudFormation 控制台中,在堆栈中选择包含您要查看的更改集的堆栈的名称。

  2. 在导航窗格中,选择 Change Sets (更改集) 以查看堆栈的更改集的列表。

  3. 选择要查看的更改集的名称。

    CloudFormation 控制台将您引导到更改集的详细信息页面,在其中您可以查看创建更改集的时间、其状态、用于生成更改集的输入,以及更改摘要。

    更改部分中,每一行表示 CloudFormation 将添加、修改或删除的资源。

    • 添加 – CloudFormation 在您将资源添加到堆栈的模板上时创建资源。

    • 修改 – CloudFormation 在您更改堆栈模板中资源的属性时修改资源。

    • 删除 – CloudFormation 在您删除堆栈模板中的资源时删除资源。

    注意

    修改可能会导致中断或替换(重新创建)资源。有关资源更新行为的更多信息,请参阅堆栈资源的更新行为

    要重点查看特定更改,请使用筛选视图。例如,筛选特定资源类型,如 AWS::EC2::Instance。要筛选特定资源,请指定其逻辑或物理 ID,例如 myWebServeri-123abcd4

  4. 更改部分中,选择属性级别更改列中的查看详细信息,以查看资源的属性值更改。

  5. CloudFormation 控制台将引导您打开资源的属性级别更改页面,您可以在其中查看执行更改集之前的资源模板配置,以及执行更改集之后将会具有的模板配置。

    “属性级别更改”部分的表格显示了受影响属性的路径更改类型更改前值更改后值。在该表格中,选中要在模板的更改前更改后视图中突出显示的每项更改的复选框,以查看将在属性级别进行的具体更改。

    • 添加 – 添加的属性以绿色突出显示。

    • 修改 – 修改后的属性以蓝色突出显示。

    • 移除 – 已删除的属性以红色突出显示。

查看更改集 (Amazon 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. 运行 aws cloudformation describe-change-set 命令,指定您要查看的更改集的 ID。例如:

    $ 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 实例的标签。有关各字段的说明,请参阅《Amazon CloudFormation API 参考》中的 Change 数据类型。

    有关更改集的其他示例,请参阅示例更改集

查看更改集中的属性级别更改(Amazon CLI)
  • 以下命令列出了与 AWS::EC2::NetworkInterface 资源的一个更改集相关的属性级别更改,包括移除 Ipv4Prefixes 属性、修改该资源的 Description 并添加一个 Tag

    $ 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",