查看运行状况检查状态以及运行状况检查失败的原因 - Amazon A EC2 uto Scaling

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

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

运行状况检查允许 Amazon A EC2 uto Scaling 确定实例何时运行状况不佳并应终止。对于保持Stopped状态的温池实例,它会利用 Amazon EBS 对Stopped实例可用性的了解来识别运行状况不佳的实例。它通过调用DescribeVolumeStatusAPI来确定连接到实例的EBS卷的状态来实现此目的。对于保持状态的温池实例,它依靠EC2状态检查来确定实例的运行状况。Running虽然温池实例没有运行状况检查宽限期,但是在生命周期挂钩完成之前,Amazon A EC2 uto Scaling 不会开始检查实例的运行状况。

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

还支持自定义运行状况检查。如果您拥有自己的运行状况检查系统,可以检测实例的运行状况并将此信息发送到 Amazon A EC2 uto Scaling,这可能会很有帮助。有关更多信息,请参阅 为您的 Auto Scaling 群组设置自定义运行状况检查

在 Amazon A EC2 uto Scaling 控制台上,您可以查看您的温池实例的状态(健康或不健康)。您也可以使用 AWS CLI 或其中一个来查看他们的健康状态SDKs。

查看暖池实例的状态(控制台)
  1. 在上打开亚马逊EC2控制台 https://console.aws.amazon.com/ec2/,然后从导航窗格中选择 A uto Scaling Gro ups。

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

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

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

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

    注意

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

查看运行状况检查失败原因(控制台)
  1. 在上打开亚马逊EC2控制台 https://console.aws.amazon.com/ec2/,然后从导航窗格中选择 A uto Scaling Gro ups。

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

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

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

    如果它终止了任何运行状况不佳的实例,原因列显示终止的日期和时间以及运行状况检查失败的原因。例如,“在 2021-04-01T21: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" }, ... ] }