将 EC2 实例附上 Auto Scaling 组。
Amazon EC2 Auto Scaling 提供将一个或多个 EC2 实例附加到现有 Auto Scaling 组的选项。附加实例后,将其视为 Auto Scaling 组的一部分。
在连接实例时,请注意以下事项:
-
当您附加实例时,该组的所需容量将增加要附加的实例数。如果要附加的实例数加上所需容量超过组的最大大小,请求将失败。
-
如果您将实例附加到已附加负载均衡器目标组或经典负载均衡器的 Auto Scaling 组,则会将实例注册到该负载均衡器。
对于要附加的实例,必须满足以下条件:
-
该实例通过 Amazon EC2 处于
running的状态。 -
用于启动实例的 AMI 必须仍然存在。
-
实例不是其他 Auto Scaling 组的成员。
-
实例会启动到您的 Auto Scaling 组中定义的某个可用区。
-
如果 Auto Scaling 组具有附加的负载均衡器目标组或经典负载均衡器,则实例和负载均衡器必须都位于同一 VPC 中。
附加实例(控制台)
使用以下过程将实例连接至 Auto Scaling 组。
要将实例附上现有的 Auto Scaling 组
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
(可选)在导航窗格上的 Auto Scaling 下,选择 Auto Scaling Groups(Auto Scaling 组)。选择 Auto Scaling 组并验证 Auto Scaling 组的最大大小足以再添加一个实例。否则,在 Details(详细信息)选项卡上,增加最大容量。
-
在导航窗格上的 Instances(实例)下,选择 Instances(实例),然后选择一个实例。
-
依次选择操作、实例设置和附加到 Auto Scaling 组。
-
在附加到 Auto Scaling 组页面上,为 Auto Scaling 组,输入组名称,然后选择附加。
-
如果实例不符合条件,则会显示一条错误消息并提供详细信息。例如,实例可能没有位于与 Auto Scaling 组相同的可用区中。选择 Close(关闭)并使用符合条件的实例重试。
附加实例(Amazon CLI)
使用以下过程将实例连接至 Auto Scaling 组。
这些示例使用具有以下配置的 Auto Scaling 组:
-
Auto Scaling 组名称 = my-asg
-
最小大小 = 2
-
最大大小 = 5
-
所需容量 = 2
要将实例附上某个 Auto Scaling 组
-
使用 describe-auto-scaling-groups 命令描述特定的 Auto Scaling 组。
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-namesmy-asg以下示例响应显示所需的容量为 2,并且组具有两个正在运行的实例。
{ "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "ServiceLinkedRoleARN": "arn", "TargetGroupARNs": [], "SuspendedProcesses": [], "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "MaxSize": 5, "VPCZoneIdentifier": "subnet-c87f2be0", "HealthCheckGracePeriod": 300, "TerminationPolicies": [ "Default" ], "CreatedTime": "2019-03-18T23:30:42.611Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2", "NewInstancesProtectedFromScaleIn": false, "DesiredCapacity": 2 } ] } -
使用 attach-instances 命令将实例附加到 Auto Scaling 组。
aws autoscaling attach-instances --instance-idsi-0787762faf1c28619--auto-scaling-group-namemy-asg -
要验证是否已附加实例,请使用如下的 describe-auto-scaling-groups 命令。
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-namesmy-asg下面的示例响应显示所需容量已增加了 1 个实例(达到新容量 3),并且有一个新实例
i-0787762faf1c28619。{ "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "ServiceLinkedRoleARN": "arn", "TargetGroupARNs": [], "SuspendedProcesses": [], "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "MaxSize": 5, "VPCZoneIdentifier": "subnet-c87f2be0", "HealthCheckGracePeriod": 300, "TerminationPolicies": [ "Default" ], "CreatedTime": "2019-03-18T23:30:42.611Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2", "NewInstancesProtectedFromScaleIn": false, "DesiredCapacity": 3 } ] }