AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

查看更改集

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

查看更改(控制台)

  1. 在 AWS CloudFormation 控制台中,选择具有您要查看的更改集的堆栈。

  2. 在堆栈详细信息窗格中,选择 Change Sets 以查看堆栈的更改集的列表。

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

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

    Changes 部分中,每一行表示 AWS CloudFormation 将添加、删除或修改的一个资源。在您将资源添加到堆栈的模板上时,AWS CloudFormation 添加资源。在您从堆栈的模板上删除现有资源时,AWS CloudFormation 删除资源。在您更改资源的属性时,AWS CloudFormation 修改资源。请注意,修改可能会导致中断或替换(重新创建)资源。有关资源更新行为的更多信息,请参阅堆栈资源的更新行为

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

    如果您希望在决定所要进行的更改之前考虑其他更改,请创建其他的更改集。

查看更改集 (AWS CLI)

  1. 要获取更改集的 ID,请运行 aws cloudformation list-change-sets 命令。

    指定具有您要查看的更改集的堆栈的堆栈 ID,如下例中所示:

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

    AWS CloudFormation 返回更改集列表,类似于以下内容:

    Copy
    { "Summaries": [ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000", "Status": "CREATE_COMPLETE", "ChangeSetName": "SampleChangeSet", "CreationTime": "2016-03-16T20: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": "2016-03-16T21: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": "2016-03-16T21: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。例如:

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

    AWS CloudFormation 返回有关指定更改集的信息:

    Copy
    { "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": "2016-03-17T23:35:25.813Z", "Capabilities": [], "StackName": "SampleStack", "NotificationARNs": [], "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet-direct/9edde307-960d-4e6e-ad66-b09ea2f20255" }

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

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