Escalado manual para Amazon EC2 Auto Scaling - 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.

Escalado manual para Amazon EC2 Auto Scaling

Puede ajustar manualmente el número de instancias EC2 de su grupo de Auto Scaling en cualquier momento. Este proceso de cambiar el recuento de instancias manualmente se denomina escalado manual. El escalado manual es una alternativa al escalado automático, especialmente si desea realizar cambios de capacidad únicos.

Tras escalar el grupo manualmente, Amazon EC2 Auto Scaling reanuda las actividades normales de escalado automático en función de las políticas de escalado y las acciones programadas que haya definido. En el caso de los grupos con el calentamiento de instancias activado de forma predeterminada, las instancias nuevas pasan por un período de calentamiento antes de empezar a contribuir a las métricas utilizadas para el escalado automático. Este período de calentamiento ayuda a estabilizar el grupo en la nueva capacidad. Para obtener más información, consulte Establecimiento de la preparación predeterminada de instancias para un grupo de escalado automático.

A veces, es posible que desee deshabilitar temporalmente las políticas de escalado y las acciones programadas antes de escalar manualmente un grupo. De este modo, se evita que surjan conflictos entre las acciones de escalado manual y las actividades de escalado automatizado. Para obtener más información, consulte Desactive las actividades de escalado.

Cambio de la capacidad deseada del grupo de escalado automático

Al cambiar la capacidad deseada de su grupo de Auto Scaling, Amazon EC2 Auto Scaling gestiona el proceso de lanzamiento y finalización de las instancias para alcanzar el nuevo tamaño deseado.

Console
Para cambiar el tamaño del grupo de escalado automático
  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.

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

  3. En la pestañaDetails (Detalles) elija Group details (Detalles de grupo), Edit (Editar).

  4. Para la capacidad deseada, aumente o disminuya la capacidad deseada. Por ejemplo, para aumentar el tamaño del grupo en uno, si el valor actual es1, introduzca2.

    En la sección Capacidad deseada, es superior a la Capacidad deseada mínima y a la Capacidad deseada máxima, la Capacidad deseada máxima se incrementa automáticamente al nuevo valor de capacidad deseada.

  5. Elija Update (Actualizar) cuando haya terminado.

Compruebe que el tamaño del grupo que especificó provocó el lanzamiento de la misma cantidad de instancias. Por ejemplo, si ha aumentado el tamaño del grupo en uno, compruebe que su grupo de Auto Scaling haya lanzado una instancia adicional.

Para verificar que el tamaño del grupo de escalado automático ha cambiado
  1. En la pestaña Actividad, en el Historial de actividades, puede ver el progreso de las actividades asociadas al grupo Auto Scaling. La columna Status (Estado) muestra el estado actual de su instancia. Mientras se está lanzando la instancia, la columna de estado muestra Not yet in service. El estado cambia a Successful cuando se lanza la instancia. También puede usar el icono de actualización para ver el estado actual de la instancia. Para obtener más información, consulte Verificación de una actividad de escalado para un grupo de escalado automático.

  2. En la pestaña Administración de instancias, en Instancias, puedes ver el estado de la instancia. La instancia tarda poco tiempo en lanzarse.

    • La columna Lifecycle (Ciclo de vida) muestra el estado de su instancia. Al principio, la instancia tiene el estado Pending. Cuando una instancia está lista para recibir tráfico, su estado es InService.

    • La columna Health status muestra el resultado de las comprobaciones de estado de Amazon EC2 Auto Scaling de la instancia.

AWS CLI

En el siguiente ejemplo se presupone que ha creado un grupo de escalado automático con un tamaño mínimo de 1 y un tamaño máximo de 5. Por lo tanto, el grupo tiene una sola instancia en ejecución.

Para cambiar el tamaño del grupo de escalado automático

Use el set-desired-capacitycomando para cambiar el tamaño del grupo de Auto Scaling, como se muestra en el siguiente ejemplo.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2

Si opta por respetar el periodo de recuperación predeterminado del grupo de escalado automático, debe especificar la opción –-honor-cooldown tal y como se muestra en el ejemplo siguiente. Para obtener más información, consulte Recuperaciones de escalado para Amazon EC2 Auto Scaling.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2 --honor-cooldown
Para verificar el tamaño del grupo de escalado automático

Use el describe-auto-scaling-groupscomando para confirmar que el tamaño del grupo de Auto Scaling ha cambiado, como en el siguiente ejemplo.

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

El siguiente es un ejemplo de resultado, que proporciona detalles sobre el grupo y las instancias lanzadas.

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "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": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2019-03-18T23:30:42.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-c87f2be0", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn", "TrafficSources": [] } ] }

Observe que DesiredCapacity muestra el nuevo valor. El grupo de escalado automático ha lanzado una instancia adicional.

Terminar una instancia en su grupo de escalado automático (AWS CLI)

Hay ocasiones en las que es posible que desee reducir horizontalmente de modo manual su grupo de escalado automático, pero desee terminar una instancia específica. Puede escalar manualmente su grupo de Auto Scaling mediante el comando terminate-instance-in-auto-scaling-group y especificando el ID de la instancia que desea terminar y la --should-decrement-desired-capacity opción, como se muestra en el siguiente ejemplo.

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-026e4c9f62c3e448c --should-decrement-desired-capacity

El siguiente es un ejemplo de resultado, que proporciona detalles sobre la actividad de escalado.

{ "Activities": [ { "ActivityId": "b8d62b03-10d8-9df4-7377-e464ab6bd0cb", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-026e4c9f62c3e448c", "Cause": "At 2023-09-23T06:39:59Z instance i-026e4c9f62c3e448c was taken out of service in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2023-09-23T06:39:59.015000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Esta opción no está disponible en la consola. Sin embargo, puede utilizar la página Instancias de la consola Amazon EC2 para finalizar una instancia de su grupo de Auto Scaling. Al hacerlo, Auto Scaling de Amazon EC2 detecta que la instancia ya no se está ejecutando y la reemplaza automáticamente como parte del proceso de comprobación de estado. Tras finalizar la instancia, transcurren uno o dos minutos antes de que se lance una nueva instancia. Para obtener información sobre cómo terminar una instancia, consulte Terminación de una instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

Si cancela las instancias de su grupo y eso 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.