本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢視運作狀態檢查狀態和運作狀態檢查失敗的原因
運作狀態檢查允許 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 檢視其健全狀態。
檢視暖集區執行個體的狀態 (主控台)
前往網址 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台,然後從導覽窗格中選擇 Auto Scaling 群組。 -
選取 Auto Scaling 群組旁的核取方塊。
Auto Scaling groups (Auto Scaling 群組) 頁面底部會開啟一個分割窗格。
-
在 Instance management (執行個體管理) 索引標籤的 Warm pool Instances (暖集區執行個體) 中,Lifecycle (生命週期) 資料欄會包含執行個體的狀態。
Health status (運作狀態) 資料欄中會顯示 Amazon EC2 Auto Scaling 對執行個體運作狀態進行的評估。
注意
新執行個體以良好的運作狀態開始啟動。在 lifecycle hook 完成之前,系統不會檢查執行個體的運作狀態。
檢視運作狀態檢查失敗的原因 (主控台)
前往網址 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台,然後從導覽窗格中選擇 Auto Scaling 群組。 -
選取 Auto Scaling 群組旁的核取方塊。
Auto Scaling groups (Auto Scaling 群組) 頁面底部會開啟一個分割窗格。
-
在 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"
},
...
]
}