檢視變更集 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢視變更集

建立變更集之後,即可先檢視請求的變更,再加以執行。您可以使用 CloudFormation 主控台 AWS CLI或 CloudFormation API 來檢視變更集。 CloudFormation 主控台提供變更的摘要,以及JSON格式變更的詳細清單。 AWS CLI 和 AWS CloudFormation API 會傳回JSON格式變更的詳細清單。

View a change set (console)
檢視變更集
  1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 在畫面頂端的導覽列上,選擇您的 AWS 區域。

  3. 堆疊頁面上,選擇包含您要檢視之變更集的堆疊名稱。

  4. 在導覽窗格中,選擇 Change Sets (變更集) 以檢視堆疊的變更集清單。

  5. 選擇要檢視的變更集名稱。

    CloudFormation 主控台會引導您前往變更集的詳細資訊頁面,您可以在其中查看建立變更集的時間、其狀態、用來產生變更集的輸入,以及變更的摘要。

    變更區段中,每一列代表 CloudFormation 將新增、修改或移除的資源。

    • 新增 – 當您將資源新增至堆疊的範本時, 會 CloudFormation 建立資源。

    • 修改 – 當您變更堆疊範本中資源的屬性時,會 CloudFormation 修改資源。

    • 移除 – 當您從堆疊的範本刪除資源時, 會 CloudFormation 刪除資源。

    注意

    修改作業可能會造成系統終止或替換 (重新建立) 資源。如需資源更新行為的詳細資訊,請參閱 瞭解堆疊資源的更新行為

    您可以使用篩選條件檢視,以便著重特定的變更。舉例來說,篩選特定的資料類型,例如 AWS::EC2::Instance。若要篩選特定資源,請指定該資源的邏輯或實體 ID,例如:myWebServeri-123abcd4

  6. 變更區段中,選擇屬性層級變更欄中的檢視詳細資訊,以檢視對資源所做的屬性值變更。

  7. CloudFormation 主控台會引導您前往資源的屬性層級變更頁面,您可以在執行變更集之前查看資源的範本組態,以及在執行變更集之後範本組態會是什麼樣子組態。

    屬性層級變更區段表顯示受影響屬性的路徑 變更類型 值前 值後。在表格中,選擇範本檢視前後各要反白顯示變更的核取方塊,以查看屬性層級將進行的變更。

    • 新增 – 新增的屬性會反白顯示為綠色。

    • 修改 – 修改的屬性會反白顯示為藍色。

    • 移除 – 移除的屬性會以紅色反白顯示。

View a change set for nested stack (console)
檢視巢狀堆疊的變更集 (主控台)
  1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 在畫面頂端的導覽列上,選擇您的 AWS 區域。

  3. 堆疊頁面上,選擇包含您要檢視之變更集的堆疊名稱。

  4. 在導覽窗格中,選擇變更集以檢視堆疊的變更集清單。

  5. 選擇要檢視的變更集名稱。

    CloudFormation 主控台會引導您前往變更集的詳細資訊頁面,您可以在其中查看建立變更集的時間、其狀態、用來產生變更集的輸入,以及變更的摘要。

    變更區段中,每一列代表將 CloudFormation 新增、修改、移除或顯示動態狀態的資源。

    • 新增 – 當您將資源新增至堆疊範本時, 會 CloudFormation 建立資源。

    • 修改 – 當您變更堆疊範本中資源的屬性時,會 CloudFormation 修改資源。

    • 移除 – 當您從堆疊的範本刪除資源時, 會 CloudFormation 刪除資源。

    • 動態 – CloudFormation 無法從巢狀堆疊的範本中判斷確切的資源變更動作。

    注意

    修改作業可能會造成系統終止或替換 (重新建立) 資源。如需資源更新行為的詳細資訊,請參閱 瞭解堆疊資源的更新行為

    您可以使用篩選條件檢視,以便著重特定的變更。舉例來說,篩選特定的資料類型,例如 AWS::CloudFormation::Stack。若要篩選特定資源,請指定該資源的邏輯或實體 ID,例如:DeadLetterQueueNestedStack

  6. Changes (變更) 區段中,選擇您要檢視之巢狀變更集的 View nested change set (檢視巢狀變更集)

    CloudFormation 主控台會引導您前往巢狀變更集的詳細資訊頁面。您可以選擇 Go to root change set (跳至根變更集) 來檢視根變更集,或者選擇 View parent change set (檢視父項變更集) 來檢視父項變更集。如需詳細資訊,請參閱 巢狀堆疊變更集

  7. 變更區段中,選擇屬性層級變更欄中的檢視詳細資訊,以檢視資源屬性值的詳細變更。

  8. CloudFormation 主控台會引導您前往資源的屬性層級變更頁面,您可以在執行變更集之前查看資源的範本組態,以及在執行變更集之後範本組態會是什麼樣子組態。

    屬性層級變更區段表顯示受影響屬性的路徑 變更類型 值前 值後。在資料表中,選擇範本檢視之前之後要反白顯示的每個變更的核取方塊,以查看屬性層級將進行的變更。

    • 新增 – 新增的屬性會反白顯示為綠色。

    • 修改 – 修改的屬性會反白顯示為藍色。

    • 移除 – 移除的屬性會反白顯示為紅色。

檢視變更集 (AWS CLI)
  1. 若要取得變更集的 ID,請執行 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. 執行 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-values 使用 describe-change-set來列出屬性層級變更。

    Changes 金鑰會列出系統對資源進行的變更。如果您要執行此變更集, CloudFormation 將會更新i-1abc23d4EC2執行個體的標籤。如需每個欄位的說明,請參閱AWS CloudFormation API參考 中的Change資料類型。

    如需變更集的其他範例,請參閱變更集範例

檢視變更集中的屬性層級變更 (AWS 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",