檢視運作狀態檢查狀態和運作狀態檢查失敗的原因 - Amazon EC2 Auto Scaling

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

檢視運作狀態檢查狀態和運作狀態檢查失敗的原因

運作 Health 態檢查可讓 Amazon EC2 Auto Scaling 判斷執行個體何時運作狀態不佳且應該終止。對於保留在某個Stopped狀態的暖池執行個體,它會運用 Amazon 對執行個體可用性EBS的知識來識別運作狀態不良的Stopped執行個體。它會呼叫DescribeVolumeStatusAPI以判斷連接至執行個體之EBS磁碟區的狀態來執行此作業。對於保留在狀態的暖池執行個Running體,它會依賴EC2狀態檢查來判斷執行個體健康狀況。雖然暖池執行個體沒有運作狀態檢查寬限期,但在生命週期掛接完成之前,Amazon EC2 Auto Scaling 不會開始檢查執行個體運作狀態。

當發現執行個體運作狀態不佳時,Amazon EC2 Auto Scaling 會自動刪除運作狀態不良的執行個體,並建立新的執行個體來取代它。執行個體在運作狀態檢查失敗後,通常會在幾分鐘內遭到終止。如需詳細資訊,請參閱檢視運作狀態檢查失敗的原因

亦支援自訂運作狀態檢查。如果您擁有自己的運作狀態檢查系統可以偵測執行個體的運作狀態,並將此資訊傳送至 Amazon EC2 Auto Scaling,這會很有幫助。如需詳細資訊,請參閱為您的 Auto Scaling 群組設定自訂健康狀態檢查

在 Amazon EC2 Auto Scaling 主控台上,您可以檢視暖集區執行個體的狀態 (運作良好或狀態不良)。您也可以使用 AWS CLI 或其中一個來檢視其健康狀態SDKs。

檢視暖集區執行個體的狀態 (主控台)
  1. 在開啟 Amazon EC2 主控台 https://console.aws.amazon.com/ec2/,然後從導覽窗格中選擇 Auto Scaling 群組

  2. 選取 Auto Scaling 群組旁的核取方塊。

    Auto Scaling groups (Auto Scaling 群組) 頁面底部會開啟一個分割窗格。

  3. Instance management (執行個體管理) 索引標籤的 Warm pool Instances (暖集區執行個體) 中,Lifecycle (生命週期) 資料欄會包含執行個體的狀態。

    運作 Health 態欄會顯示 Amazon EC2 Auto Scaling 對執行個體運作狀態進行的評估。

    注意

    新執行個體以良好的運作狀態開始啟動。在 lifecycle hook 完成之前,系統不會檢查執行個體的運作狀態。

檢視運作狀態檢查失敗的原因 (主控台)
  1. 在開啟 Amazon EC2 主控台 https://console.aws.amazon.com/ec2/,然後從導覽窗格中選擇 Auto Scaling 群組

  2. 選取 Auto Scaling 群組旁的核取方塊。

    Auto Scaling groups (Auto Scaling 群組) 頁面底部會開啟一個分割窗格。

  3. Activity (活動) 索引標籤的 Activity history (活動歷史記錄) 中,Status (狀態) 欄位會顯示 Auto Scaling 群組是否已成功啟動或終止執行個體。

    若其已終止任何運作狀態不佳的執行個體,Cause (原因) 資料欄會顯示終止的日期和時間,以及運作狀態檢查失敗的原因。例如,「在 2021-04-01T21:48:35 Z 時,執行個體因應EBS磁碟區健康狀態檢查失敗而取出服務」。

檢視暖集區執行個體的狀態 (AWS CLI)

使用下列describe-warm-pool命令檢視「Auto Scaling」群組的暖池。

aws autoscaling describe-warm-pool --auto-scaling-group-name my-asg

範例輸出。

{ "WarmPoolConfiguration": { "MinSize": 0, "PoolState": "Stopped" }, "Instances": [ { "InstanceId": "i-0b5e5e7521cfaa46c", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "LifecycleState": "Warmed:Stopped", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-08c4cd42f320d5dcd", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "1" } }, { "InstanceId": "i-0e21af9dcfb7aa6bf", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "LifecycleState": "Warmed:Stopped", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-08c4cd42f320d5dcd", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "1" } } ] }
檢視運作狀態檢查失敗的原因 (AWS CLI)

使用下列 describe-scaling-activities 命令。

aws autoscaling describe-scaling-activities --auto-scaling-group-name my-asg

以下為回應範例,其中 Description 表示您的 Auto Scaling 群組已終止執行個體,而 Cause 則指出運作狀態檢查失敗的原因。

擴展活動依開始時間排序。首先描述仍在進行中的活動。

{ "Activities": [ { "ActivityId": "4c65e23d-a35a-4e7d-b6e4-2eaa8753dc12", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-04925c838b6438f14", "Cause": "At 2021-04-01T21:48:35Z an instance was taken out of service in response to EBS volume health check failure.", "StartTime": "2021-04-01T21:48:35.859Z", "EndTime": "2021-04-01T21:49:18Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2a\"...}", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:283179a2-f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg" }, ... ] }