Asociación de instancias EC2 al grupo de Auto Scaling - Amazon EC2 Auto Scaling

Asociación de instancias EC2 al grupo de Auto Scaling

Amazon EC2 Auto Scaling le proporciona una opción para asociar una o varias instancias EC2 al grupo de Auto Scaling existente. Una vez asociada una instancia, se considera parte del grupo de Auto Scaling.

Cuando asocie instancias, tenga en cuenta lo siguiente:

  • Cuando se asocian instancias, aumenta la capacidad deseada del grupo en el número de instancias que se asocian. Si el número de instancias que se asocian más la capacidad deseada supera el tamaño máximo del grupo, la solicitud producirá un error.

  • Si asocia una instancia a un grupo de Auto Scaling que tiene un grupo de destino de balanceador de carga o un Classic Load Balancer, se registra la instancia con el balanceador de carga.

La instancia que desea asociar debe cumplir los siguientes criterios:

  • La instancia se encuentra en el estado running con Amazon EC2.

  • La AMI que se utiliza para lanzar la instancia debe existir.

  • La instancia no es miembro de otro grupo de Auto Scaling.

  • La instancia se lanza en una de las zonas de disponibilidad definidas en el grupo de Auto Scaling.

  • Si el grupo de escalado automático tiene un grupo de destino de equilibrador de carga o equilibrador de carga clásico asociado, la instancia y el equilibrador de carga deben estar en la misma VPC.

Adjuntar una instancia (consola)

Utilice el siguiente procedimiento para asociar una instancia al grupo de escalado automático.

Para asociar una instancia a un grupo de Auto Scaling existente

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. (Opcional) En el panel de navegación, en Auto Scaling (Escalado automático), elija Auto Scaling Groups (Grupos de escalado automático). Seleccione el grupo de Auto Scaling y verifique que el tamaño máximo del grupo de Auto Scaling es lo suficientemente grande para poder agregar otra instancia. De lo contrario, en la pestaña Details (Detalles), aumente la capacidad máxima.

  3. En el panel de navegación, en Instances (Instancias), elija Instances y seleccione una instancia.

  4. Elija Actions (Acciones), Instance settings (Configuración de la instancia), Attach to Auto Scaling Group (Asociar a grupo de Auto Scaling).

  5. En la página Attach to Auto Scaling Group (Asociar a grupo de Auto Scaling), en Auto Scaling Group (Grupo de Auto Scaling), seleccione el nombre del grupo de Auto Scaling y, a continuación, elija Attach (Asociar).

  6. Si la instancia no cumple los criterios, recibirá un mensaje de error con los detalles. Por ejemplo, es posible que la instancia no esté en la misma zona de disponibilidad que el grupo de Auto Scaling. Seleccione Close y vuelva a intentarlo con una instancia que cumpla los criterios.

Adjuntar una instancia (AWS CLI)

Utilice el siguiente procedimiento para desasociar una instancia del grupo de escalado automático.

En los ejemplos se usa un grupo de Auto Scaling con la siguiente configuración:

  • Nombre del grupo de Auto Scaling = my-asg

  • Tamaño mínimo = 1

  • Tamaño máximo = 5

  • Capacidad deseada = 2

Para asociar una instancia a un grupo de Auto Scaling

  1. Describa un grupo de Auto Scaling utilizando el siguiente comando describe-auto-scaling-groups.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg

    La siguiente respuesta de ejemplo muestra que la capacidad deseada es 2 y que el grupo tiene dos instancias en ejecución.

    { "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 } ] }
  2. Asocie una instancia al grupo de Auto Scaling con el siguiente comando attach-instances.

    aws autoscaling attach-instances --instance-ids i-0787762faf1c28619 --auto-scaling-group-name my-asg
  3. Para comprobar que la instancia esté asociada, utilice el siguiente comando describe-auto-scaling-groups.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg

    En la siguiente respuesta de ejemplo se muestra que la capacidad deseada ha aumentado en 1 instancia (a una nueva capacidad de 3) y que hay una nueva instancia, 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 } ] }