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

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

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

运行 Health 况检查允许 Amazon EC2 Auto Scaling 确定实例何时运行状况不佳并应终止。对于保存在Stopped状态下,它采用了亚马逊 EBS 拥有的Stopped实例的可用性来识别运行状况不佳的实例。它通过调用DescribeVolumeStatusAPI 来确定附加到实例的 EBS 卷的状态。对于保存在Running状态时,它依赖 EC2 状态检查来确定实例运行状况。虽然温池实例没有运行状况检查宽限期,但 Amazon EC2 Auto Scaling 在生命周期挂钩结束之前不会开始检查实例运行状况。

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

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

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

查看温池实例的状态(console)

  1. 以下网址打开 Amazon EC2 Auto Scaling 控制台:https://console.aws.amazon.com/ec2autoscaling/

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

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. 在存储库的实例管理选项卡,在热池实例生命周期列包含实例的状态。

    这些区域有:运行状况列显示了 Amazon EC2 Auto Scaling 对实例运行状况所做的评估。

    注意

    新实例启动正常。在生命周期挂钩完成之前,不会检查实例的运行状况。

查看运行状况检查失败的原因(console)

  1. 以下网址打开 Amazon EC2 Auto Scaling 控制台:https://console.aws.amazon.com/ec2autoscaling/

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

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关所选组的信息。

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

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

要查看温池实例的状态 (Amazon CLI)

查看 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)

请使用以下描述缩放活动命令。

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" }, ... ] }