有没有办法查明 EC2 实例是否与 Auto Scaling Group 关联?
4 回答
6
您可以使用describe-auto-scaling-instances函数检查实例附加到哪个自动缩放组。
例如,例如 idi-4ba0837f您可以运行以下命令
aws autoscaling describe-auto-scaling-instances --instance-ids i-4ba0837f
如果附加到自动缩放组的示例响应如下
{
"AutoScalingInstances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2c",
"InstanceId": "i-4ba0837f",
"AutoScalingGroupName": "my-auto-scaling-group",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService",
"LaunchConfigurationName": "my-launch-config"
}
]
}
但是,如果它没有附加到任何,这将是一个空列表。
{
"AutoScalingInstances": []
}
如果这不返回任何结果,则该实例不是自动缩放组的一部分。
这也将在 SDK 中提供:
于 2020-06-21T16:55:30.477 回答
2
您可以使用以下 aws cli 命令:
aws autoscaling describe-auto-scaling-instances --instance-ids i-exampleid
如果实例是 Auto Scaling 组的一部分,则结果将为您提供详细信息。
https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-auto-scaling-instances.html
于 2020-06-21T16:56:09.133 回答
1
您可以使用describe-auto-scaling-instances
aws autoscaling describe-auto-scaling-instances --instance-ids your-instance-id
如果存在,它将打印这样的内容
{
"AutoScalingInstances": [
{
"InstanceId": "some-instance-id",
"InstanceType": "m4.large",
"AutoScalingGroupName": "awseb-some-name",
"AvailabilityZone": "eu-west-1c",
"LifecycleState": "InService",
"HealthStatus": "HEALTHY",
"LaunchTemplate": {
"LaunchTemplateId": "lt-04a2fffdesa",
"LaunchTemplateName": "AWSEBEC2LaunchTemplate_foobar",
"Version": "2"
},
"ProtectedFromScaleIn": false
}
]
}
如果不
{
"AutoScalingInstances": []
}
于 2020-06-21T16:55:48.630 回答
0
您还可以查看实例标签以确定它是否属于 ASG。ASG 中的 EC2 将始终具有aws:autoscaling:groupName标记。
于 2020-06-22T04:07:07.857 回答