查看运行状况检查状态以及运行状况检查失败的原因 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查看运行状况检查状态以及运行状况检查失败的原因

运行健康状况检查允许 Amazon EC2 Auto Scaling 确定实例何时运行状况不佳并应终止。对于保持在 Stopped 状态的暖池实例,它采用了 Amazon EBS 拥有的 Stopped 实例的可用性知识来识别运行状况不佳的实例。它通过调用 DescribeVolumeStatus API 以确定附加到实例的 EBS 卷的状态来执行此操作。对于保存在 Running 状态的暖池实例,它依赖 EC2 状态检查来确定实例运行状况。虽然暖池实例没有运行状况检查宽限期,但 Amazon EC2 Auto Scaling 在生命周期钩子结束之前不会开始检查实例运行状况。

当发现实例运行状况不佳时,Amazon EC2 Auto Scaling 会自动删除运行状况不佳的实例,并创建一个新实例来替换它。实例通常在运行状况检查失败后几分钟内终止。有关更多信息,请参阅 查看运行状况检查失败原因

还支持自定义运行状况检查。如果您拥有自己的运行状况检查系统,该系统可以检测实例的运行状况并将此信息发送到 Amazon EC2 Auto Scaling,则这将非常有用。有关更多信息,请参阅 自定义运行状况检查

在 Amazon EC2 Auto Scaling 控制台中,您可以查看暖池实例的状态(运行状况良好或运行状况不佳)。您也可以使用 Amazon CLI 或其中一个软件开发工具包查看他们的健康状态。

查看暖池实例的状态(控制台)
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

  2. 选中 Auto Scaling 组旁边的复选框。

    这时将在 Auto Scaling groups(Auto Scaling 组)页面底部打开一个拆分窗格。

  3. 实例管理选项卡的暖池实例下,生命周期列显示实例的状态。

    运行状况列显示了 Amazon EC2 Auto Scaling 对实例运行状况所做的评估。

    注意

    新实例开始运行状况良好。在生命周期钩子完成之前,不会检查实例的运行状况。

查看运行状况检查失败原因(控制台)
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

  2. 选中 Auto Scaling 组旁边的复选框。

    这时将在 Auto Scaling groups(Auto Scaling 组)页面底部打开一个拆分窗格。

  3. 活动选项卡的活动历史记录下,状态列显示您的 Auto Scaling 组是否已成功启动或终止实例。

    如果它终止了任何运行状况不佳的实例,原因列显示终止的日期和时间以及运行状况检查失败的原因。例如,“在 2021-04-01T21:48:35Z 时,实例因 EBS 卷运行状况检查失败而停止服务”。

查看暖池实例的状态 (Amazon 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" } } ] }
查看运行状况检查失败原因 (Amazon 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" }, ... ] }