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

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

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

運作狀態檢查允許 Amazon EC2 Auto Scaling 判斷執行個體是否運作狀態不佳且應遭到終止。若為保持在 Stopped 狀態的暖集區執行個體,其會採用 Amazon EBS 具有的 Stopped 執行個體可用性知識來識別運作狀態不佳的執行個體。其會藉由呼叫 DescribeVolumeStatus API 來判斷連接至執行個體的 EBS 磁碟區的狀態。若為保持在 Running 狀態的暖集區執行個體,其會依賴 EC2 狀態檢查來判斷執行個體的運作狀態。雖然暖集區執行個體沒有運作狀態檢查寬限期,但 Amazon EC2 Auto Scaling 在 lifecycle hook 完成之前,不會開始檢查執行個體運作狀態。

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

亦支援自訂運作狀態檢查。如果您有自有運作狀態檢查系統可以偵測執行個體的運作狀態,並將此資訊傳送至 Amazon EC2 Auto Scaling,這頗有助益。如需詳細資訊,請參閱自訂運作狀態檢查

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

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

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

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

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

    Health status (運作狀態) 資料欄中會顯示 Amazon EC2 Auto Scaling 對執行個體運作狀態進行的評估。

    注意

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

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

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

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

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

    若其已終止任何運作狀態不佳的執行個體,Cause (原因) 資料欄會顯示終止的日期和時間,以及運作狀態檢查失敗的原因。例如,At 2021-04-01T21:48:35Z an instance was taken out of service in response to EBS volume health check failure (在 2021-04-01T 21: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" }, ... ] }