本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在個別堆疊資源上偵測偏離
您可以在堆疊內的特定資源上偵測偏離,而非整個堆疊。當您只需要判斷特定資源現在是否再次符合其預期範本組態時,這特別有用。
在資源上執行偏離偵測時, CloudFormation 也會更新整體堆疊偏離狀態和上次偏離檢查時間,如適用。例如,假設堆疊的偏離狀態為 IN_SYNC
。您已對該堆疊中包含的一或多個資源 CloudFormation 執行漂移偵測,並 CloudFormation 偵測到一或多個資源已漂移。 CloudFormation 將堆疊漂移狀態更新為 DRIFTED
。相反地,假設您的堆疊DRIFTED
由於單一漂移資源而偏離狀態為 。如果您將該資源設回其預期的屬性值,然後再次偵測資源上的偏離, CloudFormation 會將資源偏離狀態和堆疊偏離狀態更新為 ,IN_SYNC
而無需再次偵測整個堆疊上的偏離。
若要使用 偵測個別資源上的偏離 AWS Management Console
在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
從堆疊清單中,選取包含資源的堆疊。 CloudFormation 會顯示該堆疊的堆疊詳細資訊。
-
在左側瀏覽窗格的Stacks (堆疊) 下,選擇 Stack actions (堆疊動作),然後選擇 Detect drift (偵測偏離)。
-
在 Resource drift status (資源偏離狀態) 下,選擇資源,然後選取Detect drift for resource (偵測資源的偏離)。
CloudFormation 在選取的資源上執行偏離偵測。如果成功, 會視需要 CloudFormation 更新資源的漂移狀態和整體堆疊漂移狀態。 CloudFormation 也會更新資源上次執行漂移偵測的時間時間戳記,以及整體堆疊。如果資源已修改, CloudFormation 會顯示資源預期和目前屬性值的詳細偏離資訊。
-
檢閱資源的漂移偵測結果。
-
檢視已修改過的資源的詳細資訊。
-
在選取已修改資源的情況下,選取 View drift details (檢視偏離詳細資訊)。
CloudFormation 會顯示該資源的偏離詳細資訊,包括資源的預期和目前屬性值,以及兩者之間的任何差異。
若要強調差異,請在 Differences (差異) 區段選取屬性名稱。
-
Details (詳細資訊) 區段的 Current (目前) 欄位會以綠色反白顯示新增的屬性。
-
Details (詳細資訊) 區段的 Expected (預期) 欄位會以紅色反白顯示刪除的屬性。
-
值已變更的屬性在 Expected (預期) 和 Current (目前) 欄中以黃色醒目提示。
-
-
-
若要使用 偵測個別資源上的偏離 AWS CLI
-
若要使用 偵測個別資源上的偏離 AWS CLI,請使用 detect-stack-resource-drift命令。指定資源的邏輯 ID,以及資源所在的堆疊。
下列範例會在特定堆疊資源 上執行偏離偵測操作
my-drifted-resource
。回應傳回的資訊可確認資源已修改,包括值已變更的兩個屬性的詳細資訊。aws cloudformation detect-stack-resource-drift \ --stack-name
my-stack-with-resource-drift
\ --logical-resource-idmy-drifted-resource
輸出:
{ "StackResourceDrift": { "StackId": "arn:aws:cloudformation:us-east-1:099908667365:stack/my-stack-with-resource-drift/489e5570-df85-11e7-a7d9-50example", "ActualProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":120,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":12},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", "ResourceType": "AWS::SQS::Queue", "Timestamp": "2018-03-26T18:54:28.462Z", "PhysicalResourceId": "https://sqs.us-east-1.amazonaws.com/099908667365/my-stack-with-resource-drift-Queue-494PBHCO76H4", "StackResourceDriftStatus": "MODIFIED", "ExpectedProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":20,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":10},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", "PropertyDifferences": [ { "PropertyPath": "/DelaySeconds", "ActualValue": "120", "ExpectedValue": "20", "DifferenceType": "NOT_EQUAL" }, { "PropertyPath": "/RedrivePolicy/maxReceiveCount", "ActualValue": "12", "ExpectedValue": "10", "DifferenceType": "NOT_EQUAL" } ], "LogicalResourceId": "my-drifted-resource" } }