Separe o adjunte instancias - Amazon EC2 Auto Scaling

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Separe o adjunte instancias

Puede separar instancias de su grupo de Auto Scaling. Después de separar una instancia, esa instancia se vuelve independiente y puede administrarse por sí sola o adjuntarse a un grupo de Auto Scaling diferente, separado del grupo original al que pertenecía. Esto puede resultar útil, por ejemplo, cuando desee realizar pruebas con instancias existentes que ya estén ejecutando su aplicación.

En este tema se proporcionan instrucciones sobre cómo separar y adjuntar instancias. Al adjuntar instancias, también puede usar una instancia existente en lugar de una separada.

En lugar de separar y volver a adjuntar una instancia al mismo grupo, te recomendamos que utilices el procedimiento de espera para eliminar temporalmente la instancia del grupo. Para obtener más información, consulte Eliminación temporal de las instancias de un grupo de escalado automático.

Consideraciones a la hora de separar las instancias

Al separar instancias, tenga en cuenta lo siguiente:

  • Puedes separar una instancia solo cuando está en ese estado. InService

  • Después de desvincular una instancia, esta sigue en funcionamiento y conlleva gastos. Para evitar cargos innecesarios, asegúrate de volver a conectar o cancelar las instancias desconectadas cuando ya no sean necesarias.

  • Puede optar por reducir la capacidad deseada en función del número de instancias que vaya a separar. Si decide no reducir la capacidad, Amazon EC2 Auto Scaling lanza nuevas instancias para reemplazar las independientes y mantener la capacidad deseada.

  • Si el número de instancias que va a separar hace que el grupo de Auto Scaling esté por debajo de su capacidad mínima, debe reducir la capacidad mínima.

  • Si separa varias instancias de la misma zona de disponibilidad sin reducir la capacidad deseada, el grupo se reequilibrará por sí solo a menos que suspenda el proceso. AZRebalance Para obtener más información, consulte Suspender y reanudar los procesos de Auto Scaling de Amazon EC2.

  • Si desconecta una instancia de un grupo de escalado automático que tiene un grupo de destino del balanceador de carga o un Classic Load Balancer, se cancela el registro de la instancia del balanceador de carga. Si está habilitado el drenaje de conexiones (retraso de anulación del registro) para el equilibrador de carga, Amazon EC2 Auto Scaling espera a que se completen las solicitudes en tránsito.

nota

Si va a desasociar instancias que están en el estado Standby, tenga cuidado. Intentar separar instancias después de colocarlas en el estado Standby puede provocar que otras instancias terminen inesperadamente.

Consideraciones a la hora de adjuntar instancias

Tenga en cuenta lo siguiente al adjuntar instancias:

  • Amazon EC2 Auto Scaling trata las instancias adjuntas de la misma manera que las instancias lanzadas por el propio grupo. Esto significa que las instancias adjuntas se pueden cancelar durante los eventos de escalamiento interno si se seleccionan.

  • Cuando se asocian instancias, aumenta la capacidad deseada del grupo en el número de instancias que se asocian. Si la capacidad deseada tras añadir las nuevas instancias supera el tamaño máximo del grupo, la solicitud para adjuntar más instancias no se realizará correctamente.

  • Si agrega instancias a su grupo, lo que provoca una distribución desigual entre las zonas de disponibilidad, Amazon EC2 Auto Scaling reequilibra el grupo para restablecer una distribución uniforme, a menos que suspenda el proceso. AZRebalance Para obtener más información, consulte Suspender y reanudar los procesos de Auto Scaling de Amazon EC2.

  • Si asocia una instancia a un grupo de escalado automático 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 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.

Mueva una instancia a un grupo diferente mediante la opción Separar y adjuntar

Utilice uno de los siguientes procedimientos para separar una instancia de su grupo de Auto Scaling y adjuntarla a un grupo de Auto Scaling diferente.

Para crear un nuevo grupo de Auto Scaling a partir de una instancia separada, consulte Creación de un grupo de Auto Scaling mediante parámetros de una instancia existente (no se recomienda, crea una configuración de lanzamiento).

Console
Para separar una instancia de un grupo de Auto Scaling
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) en el panel de navegación.

  2. Seleccione la casilla situada junto al grupo de escalado automático.

    Se abre un panel dividido en la parte inferior de la página.

  3. En la pestaña Administración de instancias, en Instancias, seleccione una instancia y elija Acciones, Desconectar.

  4. En el cuadro de diálogo Desconectar la instancia, mantenga la casilla Reemplazar la instancia seleccionada para lanzar una instancia de reemplazo. Desactive la casilla de verificación para reducir la capacidad deseada.

  5. Cuando se le pida la confirmación, escriba detach para confirmar la instancia especificada del grupo de escalado automático y, a continuación, elija Desconectar la instancia.

Ahora puede adjuntar la instancia a un grupo de Auto Scaling diferente.

Para asociar una instancia a un grupo de escalado automático
  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 escalado automático y verifique que el tamaño máximo del grupo de escalado automático 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 Acciones, Configuración de la instancia, Asociar a grupo de escalado automático.

  5. En la página Attach to Auto Scaling Group (Asociar a grupo de escalado automático), en Auto Scaling Group (Grupo de Auto Scaling), seleccione el nombre del grupo de escalado automático 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 escalado automático. Seleccione Cerrar e inténtelo de nuevo con un grupo de Auto Scaling que cumpla los criterios.

AWS CLI

Para separar y adjuntar una instancia, utilice los siguientes comandos de ejemplo. Reemplace cada marcador de posición de entrada del usuario con información propia.

Para separar una instancia de un grupo de Auto Scaling
  1. Para describir las instancias actuales, usa el siguiente describe-auto-scaling-instancescomando.

    aws autoscaling describe-auto-scaling-instances \ --query 'AutoScalingInstances[?AutoScalingGroupName==`my-asg`]'

    El siguiente ejemplo muestra el resultado que se produce al ejecutar este comando.

    Anote el ID de la instancia que desea eliminar del grupo. Necesitarás este ID en el siguiente paso.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0f280a4c58d319a8a", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" } ] }
  2. Para separar una instancia sin reducir la capacidad deseada, usa el siguiente comando detach-instances.

    aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg

    Para separar una instancia y reducir la capacidad deseada, incluye la opción. --should-decrement-desired-capacity

    aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg --should-decrement-desired-capacity

Ahora puede adjuntar la instancia a un grupo de Auto Scaling diferente.

Para asociar una instancia a un grupo de escalado automático
  1. Para adjuntar la instancia a un grupo de Auto Scaling diferente, usa el siguiente comando attach-instances.

    aws autoscaling attach-instances --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg-for-testing
  2. Para verificar el tamaño del grupo de Auto Scaling después de adjuntar una instancia, usa el siguiente describe-auto-scaling-groupscomando.

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

    El siguiente ejemplo de respuesta muestra que el grupo tiene dos instancias en ejecución, una de las cuales es la instancia que has adjuntado.

    { "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg-for-testing", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "2", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, ... "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "2", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-00dcdfffdf5175890", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], ... } ] }