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

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

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

運作狀態檢查可讓 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 (生命週期) 資料欄會包含執行個體的狀態。

    運作狀態欄顯示 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:35Z 時,為了回應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" }, ... ] }