查看更改集 - 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. 在导航窗格中,选择 Change Sets (更改集) 以查看堆栈的更改集的列表。

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

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

    
                  更改集的详细信息页面。

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

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

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

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

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

    注意

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

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

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

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

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

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

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

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

    
                  更改集的详细信息页面。

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

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

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

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

    注意

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

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

查看更改集 (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" }

    Changes 键列出对资源的更改。如果您要执行此更改集,CloudFormation 将更新 i-1abc23d4 EC2 实例的标签。有关各字段的说明,请参阅《Amazon CloudFormation API 参考》中的 Change 数据类型。

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