En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Auto Scaling.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar attach-instances
.
- AWS CLI
-
Asociación de una instancia a un grupo de escalado automático
En este ejemplo, se asocia la instancia especificada al grupo de escalado automático especificado.
aws autoscaling attach-instances \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
Este comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte AttachInstances
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar attach-load-balancer-target-groups
.
- AWS CLI
-
Asociación de un grupo de destino a un grupo de escalado automático
En este ejemplo, se asocia el grupo de destino especificado al grupo de escalado automático especificado.
aws autoscaling attach-load-balancer-target-groups \ --auto-scaling-group-name
my-asg
\ --target-group-arnsarn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
Este comando no genera ninguna salida.
Para obtener más información, consulte Elastic Load Balancing y Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte AttachLoadBalancerTargetGroups
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar attach-load-balancers
.
- AWS CLI
-
Asociación de un equilibrador de carga clásico al grupo de escalado automático
En este ejemplo, se asocia el equilibrador de carga clásico especificado al grupo de escalado automático especificado.
aws autoscaling attach-load-balancers \ --load-balancer-names
my-load-balancer
\ --auto-scaling-group-namemy-asg
Este comando no genera ninguna salida.
Para obtener más información, consulte Elastic Load Balancing y Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte AttachLoadBalancers
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar cancel-instance-refresh
.
- AWS CLI
-
Cómo cancelar una actualización de instancias
En el siguiente ejemplo de
cancel-instance-refresh
, se cancela una actualización de instancias en curso del grupo de escalado automático especificado.aws autoscaling cancel-instance-refresh \ --auto-scaling-group-name
my-asg
Salida:
{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Para obtener más información, consulte Cancel an instance refresh en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte CancelInstanceRefresh
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar complete-lifecycle-action
.
- AWS CLI
-
Realización de una acción del ciclo de vida
En este ejemplo, se notifica a Amazon EC2 Auto Scaling que la acción del ciclo de vida especificada se ha completado para que pueda finalizar la inicialización o la finalización de la instancia.
aws autoscaling complete-lifecycle-action \ --lifecycle-hook-name
my-launch-hook
\ --auto-scaling-group-namemy-asg
\ --lifecycle-action-resultCONTINUE
\ --lifecycle-action-tokenbcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635
Este comando no genera ninguna salida.
Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte CompleteLifecycleAction
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-auto-scaling-group
.
- AWS CLI
-
Ejemplo 1: crear un grupo de escalado automático
En el siguiente ejemplo
create-auto-scaling-group
se crea un grupo de escalado automático en subredes de varias zonas de disponibilidad dentro de una región. Las instancias se lanzan con la versión predeterminada de la plantilla de lanzamiento especificada. Tenga en cuenta que se utilizan valores predeterminados para la mayoría de las demás configuraciones, como las políticas de terminación y la configuración de las comprobaciones de estado.aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-templateLaunchTemplateId=lt-1234567890abcde12
\ --min-size1
\ --max-size5
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
Este comando no genera ninguna salida.
Para obtener más información, consulte Grupos de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: asociar un equilibrador de carga de aplicación, un equilibrador de carga de red o un equilibrador de carga de puerta de enlace
En este ejemplo, se especifica el ARN de un grupo de destino para un equilibrador de carga que admite el tráfico esperado. El tipo de comprobación de estado especifica
ELB
para que, cuando Elastic Load Balancing informa de una instancia como en mal estado, el grupo de escalado automático reemplaza la instancia. El comando también define un período de gracia de600
segundos para la comprobación de estado. El período de gracia ayuda a evitar la finalización prematura de las instancias recién lanzadas.aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-templateLaunchTemplateId=lt-1234567890abcde12
\ --target-group-arnsarn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/943f017f100becff
\ --health-check-typeELB
\ --health-check-grace-period600
\ --min-size1
\ --max-size5
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
Este comando no genera ninguna salida.
Para obtener más información, consulte Elastic Load Balancing y Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: especificación de un grupo con ubicación y utilizar la versión más reciente de la plantilla de lanzamiento
En este ejemplo, se lanzan instancias a un grupo con ubicación en una única zona de disponibilidad. Esto puede resultar útil para grupos de baja latencia con cargas de trabajo de HPC. En este ejemplo, también se especifican el tamaño mínimo, el tamaño máximo y la capacidad deseada del grupo.
aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateId=lt-1
2345
67890abcde12,Version='$Latest' \ --min-size 1 \ --max-size 5 \ --desired-capacity3
\ --placement-groupmy-placement-group
\ --vpc-zone-identifier"subnet-6194ea3b"
Este comando no genera ninguna salida.
Para obtener más información, consulte Grupos de ubicación en la Guía del usuario de Amazon EC2 para instancias Linux.
Ejemplo 4: especificación de un grupo de escalado automático de una sola instancia y utilizar una versión específica de la plantilla de lanzamiento
En este ejemplo, se crea un grupo de escalado automático con una capacidad mínima y máxima establecida en
1
para garantizar que se ejecute una instancia. El comando también especifica la v1 de una plantilla de lanzamiento en la que se especifica el ID de un ENI existente. Cuando utilice una plantilla de lanzamiento que especifique un ENI existente para eth0, debe especificar una zona de disponibilidad para el grupo de escalado automático que coincida con la interfaz de red, sin especificar también un ID de subred en la solicitud.aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg-single-instance
\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1
' \ --min-size1
\ --max-size 1 \ --availability-zonesus-west-2a
Este comando no genera ninguna salida.
Para obtener más información, consulte Grupos de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 5: especificación de una política de terminación diferente
En este ejemplo, se crea un grupo de escalado automático mediante una configuración de lanzamiento y se establece la política de terminación para terminar primero las instancias más antiguas. El comando también aplica una etiqueta al grupo y a sus instancias, con una clave de
Role
y un valor deWebServer
.aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-configuration-namemy-lc
\ --min-size1
\ --max-size5
\ --termination-policies"OldestInstance"
\ --tags"ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true"
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
Este comando no genera ninguna salida.
Para obtener más información, consulte Utilización de políticas de terminación de Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 6: especificación de un enlace de ciclo de vida de lanzamiento
En este ejemplo, se crea un grupo de escalado automático con un enlace de ciclo de vida que admite una acción personalizada cuando se lanza una instancia.
aws autoscaling create-auto-scaling-group \ --cli-input-json
file://~/config.json
Contenido del archivo
config.json
:{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-launch-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", "NotificationTargetARN": "arn:aws:sqs:us-west-2:123456789012:my-sqs-queue", "RoleARN": "arn:aws:iam::123456789012:role/my-notification-role", "NotificationMetadata": "SQS message metadata", "HeartbeatTimeout": 4800, "DefaultResult": "ABANDON" }], "MinSize": 1, "MaxSize": 5, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [{ "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "test", "Key": "environment" }] }
Este comando no genera ninguna salida.
Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 7: especificación de un enlace de ciclo de vida de terminación
En este ejemplo, se crea un grupo de escalado automático con un enlace de ciclo de vida que admite una acción personalizada en la terminación de una instancia.
aws autoscaling create-auto-scaling-group \ --cli-input-json
file://~/config.json
Contenido de
config.json
:{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-termination-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "HeartbeatTimeout": 120, "DefaultResult": "CONTINUE" }], "MinSize": 1, "MaxSize": 5, "TargetGroupARNs": [ "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" ], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }
Este comando no genera ninguna salida.
Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 8: especificación de una política de terminación personalizada
En este ejemplo, se crea un grupo de escalado automático que especifica una política de terminación de funciones de Lambda personalizada que indica a Amazon EC2 Auto Scaling qué instancias son seguras de terminar al escalarlas horizontalmente.
aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name
my-asg-single-instance
\ --launch-templateLaunchTemplateName=my-template-for-auto-scaling
\ --min-size1
\ --max-size5
\ --termination-policies"arn:aws:lambda:us-west-2:123456789012:function:HelloFunction:prod"
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
Este comando no genera ninguna salida.
Para obtener más información, consulte Creación de una política de terminación personalizada con Lambda en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte CreateAutoScalingGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-launch-configuration
.
- AWS CLI
-
Ejemplo 1: crear una configuración de inicialización
En este ejemplo, se crea una configuración de inicialización sencilla.
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
Este comando no genera ninguna salida.
Para obtener más información, consulte Crear una configuración de lanzamiento en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: crear una configuración de inicialización con un grupo de seguridad, un par de claves y un script de arranque
En este ejemplo, se crea una configuración de inicialización con un grupo de seguridad, un par de claves y un script de arranque incluidos en los datos del usuario.
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --security-groupssg-eb2af88example
\ --key-namemy-key-pair
\ --user-datafile://myuserdata.txt
Este comando no genera ninguna salida.
Para obtener más información, consulte Crear una configuración de lanzamiento en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: crear una configuración de inicialización con un rol de IAM
En este ejemplo, se crea una configuración de inicialización con el nombre del perfil de instancia de un rol de IAM.
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --iam-instance-profilemy-autoscaling-role
Este comando no genera ninguna salida.
Para obtener más información, consulte el tema Rol de IAM para las aplicaciones que se ejecutan en instancias Amazon EC2 en la guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 4: cómo habilitar la configuración de inicialización con la supervisión detallada habilitada
En este ejemplo, se crea una configuración de inicialización con la supervisión detallada de EC2 habilitada, que envía las métricas de EC2 a CloudWatch en períodos de 1 minuto.
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --instance-monitoringEnabled=true
Este comando no genera ninguna salida.
Para obtener más información, consulte Configuración del monitoreo para instancias de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 5: cómo crear una configuración de inicialización que inicialice instancias de spot
En este ejemplo, se crea una configuración de inicialización que utiliza instancias de spot como única opción de compra.
aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --spot-price"0.50"
Este comando no genera ninguna salida.
Para obtener más información, consulte Solicitud de instancias de spot en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 6: cómo crear una configuración de inicialización con una instancia de EC2
En este ejemplo, se crea una configuración de inicialización basada en los atributos de una instancia existente. Anula la tenencia de la ubicación y si se establece una dirección IP pública al incluir las opciones
--placement-tenancy
y--no-associate-public-ip-address
.aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc-from-instance
\ --instance-idi-0123a456700123456
\ --instance-typem5.large
\ --no-associate-public-ip-address \ --placement-tenancydedicated
Este comando no genera ninguna salida.
Para obtener más información, consulte Crear una configuración de lanzamiento con una instancia EC2 en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 7: cómo crear una configuración de inicialización con una asignación de dispositivos de bloques para un volumen de Amazon EBS
En este ejemplo, se crea una configuración de inicialización con una asignación de dispositivos de bloques para un volumen
gp3
de Amazon EBS con el nombre del dispositivo/dev/sdh
y un tamaño de volumen de 20.aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --block-device-mappings '[{"DeviceName":"/dev/sdh","Ebs":{"VolumeSize":20,"VolumeType":"gp3"}}]
'Este comando no genera ninguna salida.
Para obtener más información, consulte EBS en la Referencia de la API de Amazon EC2 Auto Scaling.
Para obtener más información acerca de la sintaxis para aplicar comillas a los valores de parámetros con formato JSON, consulte Entrecomillado de cadenas en AWS CLI en la Guía del usuario de la interfaz de la línea de comandos de AWS.
Ejemplo 8: cómo crear una configuración de inicialización con una asignación de dispositivos de bloques para un volumen de almacén de instancias
En este ejemplo, se crea una configuración de inicialización con
ephemeral1
como un volumen de almacén de instancias con el nombre de dispositivo/dev/sdc
.aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --block-device-mappings '[{"DeviceName":"/dev/sdc","VirtualName":"ephemeral1"}]
'Este comando no genera ninguna salida.
Para obtener más información, consulte BlockDeviceMapping en la Referencia de la API de Amazon EC2 Auto Scaling.
Para obtener más información acerca de la sintaxis para aplicar comillas a los valores de parámetros con formato JSON, consulte Entrecomillado de cadenas en AWS CLI en la Guía del usuario de la interfaz de la línea de comandos de AWS.
Ejemplo 9: cómo crear una configuración de inicialización y suprimir un dispositivo de bloques se conecte en el momento de la inicialización
En este ejemplo, se crea una configuración de inicialización que suprime un dispositivo de bloques especificado por la asignación de dispositivos de bloques de la AMI (por ejemplo,
/dev/sdf
).aws autoscaling create-launch-configuration \ --launch-configuration-name
my-lc
\ --image-idami-04d5cc9b88example
\ --instance-typem5.large
\ --block-device-mappings '[{"DeviceName":"/dev/sdf","NoDevice":""}]
'Este comando no genera ninguna salida.
Para obtener más información, consulte BlockDeviceMapping en la Referencia de la API de Amazon EC2 Auto Scaling.
Para obtener más información acerca de la sintaxis para aplicar comillas a los valores de parámetros con formato JSON, consulte Entrecomillado de cadenas en AWS CLI en la Guía del usuario de la interfaz de la línea de comandos de AWS.
-
Para obtener información sobre la API, consulte CreateLaunchConfiguration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-or-update-tags
.
- AWS CLI
-
Creación o modificación de etiquetas en un grupo de escalado automático
En este ejemplo, se agregan dos etiquetas al grupo de escalado automático especificado.
aws autoscaling create-or-update-tags \ --tags
ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true
ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research,PropagateAtLaunch=true
Este comando no genera ninguna salida.
Para obtener más información, consulte Etiquetado de grupos e instancias de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte CreateOrUpdateTags
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-auto-scaling-group
.
- AWS CLI
-
Ejemplo 1: eliminar el grupo de escalado automático especificado
En este ejemplo, se elimina el grupo de escalado automático especificado.
aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name
my-asg
Este comando no genera ninguna salida.
Para obtener más información, consulte Eliminación de la infraestructura de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: para forzar la eliminación del grupo de escalado automático especificado
Para eliminar el grupo de escalado automático sin esperar a que las instancias del grupo terminen, utilice la opción
--force-delete
.aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --force-deleteEste comando no genera ninguna salida.
Para obtener más información, consulte Eliminación de la infraestructura de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DeleteAutoScalingGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-launch-configuration
.
- AWS CLI
-
Eliminación de una configuración de inicialización
En este ejemplo se elimina la configuración de inicialización especificada.
aws autoscaling delete-launch-configuration \ --launch-configuration-name
my-launch-config
Este comando no genera ninguna salida.
Para obtener más información, consulte Eliminación de la infraestructura de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DeleteLaunchConfiguration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-lifecycle-hook
.
- AWS CLI
-
Eliminación de un enlace de ciclo de vida
En este ejemplo se elimina el enlace de ciclo de vida especificado.
aws autoscaling delete-lifecycle-hook \ --lifecycle-hook-name
my-lifecycle-hook
\ --auto-scaling-group-namemy-asg
Este comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte DeleteLifecycleHook
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-notification-configuration
.
- AWS CLI
-
Eliminación de una notificación de escalado automático
En este ejemplo, se elimina la notificación especificada del grupo de escalado automático especificado.
aws autoscaling delete-notification-configuration \ --auto-scaling-group-name
my-asg
\ --topic-arnarn:aws:sns:us-west-2:123456789012:my-sns-topic
Este comando no genera ninguna salida.
Para obtener más información, consulte Delete the notification configuration en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DeleteNotificationConfiguration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-policy
.
- AWS CLI
-
Eliminación de una política de escalado
En este ejemplo, se elimina el grupo de escalado automático especificado.
aws autoscaling delete-policy \ --auto-scaling-group-name
my-asg
\ --policy-namealb1000-target-tracking-scaling-policy
Este comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte DeletePolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-scheduled-action
.
- AWS CLI
-
Creación de una acción programada para un grupo de escalado automático
En este ejemplo, se elimina la acción programada especificada del grupo de escalado automático especificado.
aws autoscaling delete-scheduled-action \ --auto-scaling-group-name
my-asg
\ --scheduled-action-namemy-scheduled-action
Este comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte DeleteScheduledAction
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-tags
.
- AWS CLI
-
Eliminación de una etiqueta de un grupo de escalado automático
En este ejemplo, se elimina la etiqueta especificada del grupo de escalado automático especificado.
aws autoscaling delete-tags \ --tags
ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research
Este comando no genera ninguna salida.
Para obtener más información, consulte Etiquetado de grupos e instancias de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DeleteTags
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-warm-pool
.
- AWS CLI
-
Ejemplo 1: cómo eliminar un grupo de calentamiento
En el ejemplo siguiente, se elimina un grupo de calentamiento de un grupo de escalado automático.
aws autoscaling delete-warm-pool \ --auto-scaling-group-name
my-asg
Este comando no genera ninguna salida.
Para obtener más información, consulte Grupos de calentamiento para Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: cómo forzar la eliminación de un grupo de calentamiento
Para eliminar el grupo de calentamiento sin esperar a que las instancias terminen, utilice la opción
--force-delete
.aws autoscaling delete-warm-pool \ --auto-scaling-group-name
my-asg
\ --force-deleteEste comando no genera ninguna salida.
Para obtener más información, consulte Grupos de calentamiento para Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DeleteWarmPool
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-account-limits
.
- AWS CLI
-
Descripción de los límites de cuenta de Amazon EC2 Auto Scaling
En este ejemplo, se describen los límites de Amazon EC2 Auto Scaling para su cuenta de AWS.
aws autoscaling describe-account-limits
Salida:
{ "NumberOfLaunchConfigurations": 5, "MaxNumberOfLaunchConfigurations": 100, "NumberOfAutoScalingGroups": 3, "MaxNumberOfAutoScalingGroups": 20 }
Para obtener más información, consulte Amazon EC2 Auto Scaling service quotas en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeAccountLimits
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-adjustment-types
.
- AWS CLI
-
Descripción de los tipos de ajuste de escalado disponibles
En este ejemplo se describen los tipos de ajuste disponibles.
aws autoscaling describe-adjustment-types
Salida:
{ "AdjustmentTypes": [ { "AdjustmentType": "ChangeInCapacity" }, { "AdjustmentType": "ExactCapacity" }, { "AdjustmentType": "PercentChangeInCapacity" } ] }
Para obtener más información, consulte la sección sobre tipos de ajustes de de escalado en la guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeAdjustmentTypes
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-auto-scaling-groups
.
- AWS CLI
-
Ejemplo 1: Descripción del grupo de escalado automático especificado
En este ejemplo, se describe el grupo de escalado automático especificado.
aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-names
my-asg
Salida:
{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" }, "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" } } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ] }
Ejemplo 2: Descripción de los 100 primeros grupos de escalado automático especificados
En este ejemplo, se describen los grupos de escalado automático especificados. Le permite especificar hasta 100 nombres de grupos.
aws autoscaling describe-auto-scaling-groups \ --max-items
100
\ --auto-scaling-group-names"group1"
"group2"
"group3"
"group4"
Consulte el ejemplo 1 para ver una salida de muestra.
Ejemplo 3: descripción de un grupo de escalado automático en la región especificada
En este ejemplo, se describen los grupos de escalado automático en la región especificada, hasta un máximo de 75 grupos.
aws autoscaling describe-auto-scaling-groups \ --max-items
75
\ --regionus-east-1
Consulte el ejemplo 1 para ver una salida de muestra.
Ejemplo 4: descripción del número especificado de grupos de escalado automático
Para devolver un número específico de grupos de escalado automático, utilice la opción
--max-items
.aws autoscaling describe-auto-scaling-groups \ --max-items
1
Consulte el ejemplo 1 para ver una salida de muestra.
Si la salida incluye un campo
NextToken
, hay más grupos. Para obtener los grupos adicionales, utilice el valor de este campo con la opción--starting-token
en una llamada posterior de la siguiente manera.aws autoscaling describe-auto-scaling-groups \ --starting-token
Z3M3LMPEXAMPLE
Consulte el ejemplo 1 para ver una salida de muestra.
Ejemplo 5: cómo describir grupos de escalado automático que utilizan configuraciones de inicialización
En este ejemplo, se utiliza la opción
--query
para describir los grupos de escalado automático que utilizan configuraciones de inicialización.aws autoscaling describe-auto-scaling-groups \ --query '
AutoScalingGroups[?LaunchConfigurationName!=`null`]
'Salida:
[ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchConfigurationName": "my-lc", "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ]
Para obtener más información, consulte Filtrar salida AWS CLI en la Guía del usuario de la interfaz de línea de comandos de AWS.
-
Para obtener información sobre la API, consulte DescribeAutoScalingGroups
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-auto-scaling-instances
.
- AWS CLI
-
Ejemplo 1: Descripción de una o varias instancias
En este ejemplo, se describe la instancia especificada.
aws autoscaling describe-auto-scaling-instances \ --instance-ids
i-06905f55584de02da
Salida:
{ "AutoScalingInstances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2b", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12", "LaunchTemplateName": "my-launch-template", "Version": "1" } } ] }
Ejemplo 2: Descripción de una o varias instancias
En este ejemplo, se utiliza la opción
--max-items
para especificar cuántas instancias se devolverán con esta llamada.aws autoscaling describe-auto-scaling-instances \ --max-items
1
Si la salida incluye un campo
NextToken
, hay más instancias. Para obtener las instancias adicionales, utilice el valor de este campo con la opción--starting-token
en una llamada posterior de la siguiente manera.aws autoscaling describe-auto-scaling-instances \ --starting-token
Z3M3LMPEXAMPLE
Consulte el ejemplo 1 para ver una salida de muestra.
Ejemplo 3: cómo describir las instancias que utilizan configuraciones de inicialización
En este ejemplo, se usa la opción
--query
para describir las instancias que usan configuraciones de inicialización.aws autoscaling describe-auto-scaling-instances \ --query '
AutoScalingInstances[?LaunchConfigurationName!=`null`]
'Salida:
[ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2c", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ]
Para obtener más información, consulte Filter AWS CLI output en la Guía del usuario de la interfaz de línea de comandos de AWS.
-
Para obtener información sobre la API, consulte DescribeAutoScalingInstances
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-auto-scaling-notification-types
.
- AWS CLI
-
Descripción de los tipos de notificaciones disponibles
En este ejemplo se describen los tipos de notificaciones disponibles.
aws autoscaling describe-auto-scaling-notification-types
Salida:
{ "AutoScalingNotificationTypes": [ "autoscaling:EC2_INSTANCE_LAUNCH", "autoscaling:EC2_INSTANCE_LAUNCH_ERROR", "autoscaling:EC2_INSTANCE_TERMINATE", "autoscaling:EC2_INSTANCE_TERMINATE_ERROR", "autoscaling:TEST_NOTIFICATION" ] }
Para obtener más información, consulte Obtener notificaciones de Amazon SNS cuando su grupo de Auto Scaling escala en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeAutoScalingNotificationTypes
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-instance-refreshes
.
- AWS CLI
-
Descripción de las actualizaciones de instancias
En el siguiente ejemplo de
describe-instance-refreshes
, se ofrece una descripción de todas las solicitudes de actualización de instancias del grupo de escalado automático especificado, incluido el mensaje de estado y (si está disponible) el motivo del estado.aws autoscaling describe-instance-refreshes \ --auto-scaling-group-name
my-asg
Salida:
{ "InstanceRefreshes": [ { "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b", "AutoScalingGroupName": "my-asg", "Status": "InProgress", "StatusReason": "Waiting for instances to warm up before continuing. For example: 0e69cc3f05f825f4f is warming up.", "EndTime": "2023-03-23T16:42:55Z", "PercentageComplete": 0, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 100, "InstanceWarmup": 300, "CheckpointPercentages": [ 50 ], "CheckpointDelay": 3600, "SkipMatching": false, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } }, { "InstanceRefreshId": "dd7728d0-5bc4-4575-96a3-1b2c52bf8bb1", "AutoScalingGroupName": "my-asg", "Status": "Successful", "EndTime": "2022-06-02T16:53:37Z", "PercentageComplete": 100, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 90, "InstanceWarmup": 300, "SkipMatching": true, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } } ] }
Para obtener más información, consulte Check the status of an instance refresh en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeInstanceRefreshes
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-launch-configurations
.
- AWS CLI
-
Ejemplo 1: Cómo describir la configuración de inicialización especificada
En este ejemplo, se describe la configuración de inicialización especificada.
aws autoscaling describe-launch-configurations \ --launch-configuration-names
my-launch-config
Salida:
{ "LaunchConfigurations": [ { "LaunchConfigurationName": "my-launch-config", "LaunchConfigurationARN": "arn:aws:autoscaling:us-west-2:123456789012:launchConfiguration:98d3b196-4cf9-4e88-8ca1-8547c24ced8b:launchConfigurationName/my-launch-config", "ImageId": "ami-0528a5175983e7f28", "KeyName": "my-key-pair-uswest2", "SecurityGroups": [ "sg-05eaec502fcdadc2e" ], "ClassicLinkVPCSecurityGroups": [], "UserData": "", "InstanceType": "t2.micro", "KernelId": "", "RamdiskId": "", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "SnapshotId": "snap-06c1606ba5ca274b1", "VolumeSize": 8, "VolumeType": "gp2", "DeleteOnTermination": true, "Encrypted": false } } ], "InstanceMonitoring": { "Enabled": true }, "CreatedTime": "2020-10-28T02:39:22.321Z", "EbsOptimized": false, "AssociatePublicIpAddress": true, "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "disabled" } } ] }
Ejemplo 2: describir un número específico de configuraciones de inicialización
Para devolver un número específico de configuraciones de inicialización, utilice la opción
--max-items
.aws autoscaling describe-launch-configurations \ --max-items
1
Si la salida incluye un campo de
NextToken
, hay más configuraciones de inicialización. Para obtener las configuraciones adicionales de inicialización, utilice el valor de este campo con la opción--starting-token
en una llamada posterior de la siguiente manera.aws autoscaling describe-launch-configurations \ --starting-token
Z3M3LMPEXAMPLE
-
Para obtener información sobre la API, consulte DescribeLaunchConfigurations
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-lifecycle-hook-types
.
- AWS CLI
-
Descripción de los tipos disponibles de enlaces de ciclo de vida
En este ejemplo, se describen los tipos disponibles de enlaces de ciclo de vida.
aws autoscaling describe-lifecycle-hook-types
Salida:
{ "LifecycleHookTypes": [ "autoscaling:EC2_INSTANCE_LAUNCHING", "autoscaling:EC2_INSTANCE_TERMINATING" ] }
-
Para obtener información sobre la API, consulte DescribeLifecycleHookTypes
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-lifecycle-hooks
.
- AWS CLI
-
Descripción de los enlaces de ciclo de vida
En este ejemplo, se describen los enlaces de ciclo de vida para el grupo de escalado automático especificado.
aws autoscaling describe-lifecycle-hooks \ --auto-scaling-group-name
my-asg
Salida:
{ "LifecycleHooks": [ { "GlobalTimeout": 3000, "HeartbeatTimeout": 30, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-launch-hook", "DefaultResult": "ABANDON", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING" }, { "GlobalTimeout": 6000, "HeartbeatTimeout": 60, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-termination-hook", "DefaultResult": "CONTINUE", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING" } ] }
-
Para obtener información sobre la API, consulte DescribeLifecycleHooks
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-load-balancer-target-groups
.
- AWS CLI
-
Descripción de los grupos de destino del equilibrador de carga de un grupo de escalado automático
En este ejemplo, se describe el grupo de destino del equilibrador de carga adjunto al grupo de escalado automático especificado.
aws autoscaling describe-load-balancer-target-groups \ --auto-scaling-group-name
my-asg
Salida:
{ "LoadBalancerTargetGroups": [ { "LoadBalancerTargetGroupARN": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "State": "Added" } ] }
-
Para obtener detalles sobre la API, consulte DescribeLoadBalancerTargetGroups
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-load-balancers
.
- AWS CLI
-
Descripción de los equilibradores de carga clásicos de un grupo de escalado automático
En este ejemplo se describen los equilibradores de carga clásicos del grupo de escalado automático especificado.
aws autoscaling describe-load-balancers \ --auto-scaling-group-name
my-asg
Salida:
{ "LoadBalancers": [ { "State": "Added", "LoadBalancerName": "my-load-balancer" } ] }
-
Para obtener información sobre la API, consulte DescribeLoadBalancers
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-metric-collection-types
.
- AWS CLI
-
Descripción de los tipos de recopilación de métricas disponibles
En este ejemplo, se describen los tipos de recopilación de métricas disponibles.
aws autoscaling describe-metric-collection-types
Salida:
{ "Metrics": [ { "Metric": "GroupMinSize" }, { "Metric": "GroupMaxSize" }, { "Metric": "GroupDesiredCapacity" }, { "Metric": "GroupInServiceInstances" }, { "Metric": "GroupInServiceCapacity" }, { "Metric": "GroupPendingInstances" }, { "Metric": "GroupPendingCapacity" }, { "Metric": "GroupTerminatingInstances" }, { "Metric": "GroupTerminatingCapacity" }, { "Metric": "GroupStandbyInstances" }, { "Metric": "GroupStandbyCapacity" }, { "Metric": "GroupTotalInstances" }, { "Metric": "GroupTotalCapacity" } ], "Granularities": [ { "Granularity": "1Minute" } ] }
Para obtener más información, consulte Métricas de grupo de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeMetricCollectionTypes
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-notification-configurations
.
- AWS CLI
-
Ejemplo 1: describir las configuraciones de notificación de un grupo especificado
En este ejemplo, se describen las configuraciones de notificación para el grupo de escalado automático especificado.
aws autoscaling describe-notification-configurations \ --auto-scaling-group-name
my-asg
Salida:
{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }
Para obtener más información, consulte Obtener notificaciones de Amazon SNS cuando su grupo de Auto Scaling escala en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 1: describir un número específico de configuraciones de notificaciones
Para devolver un número específico de configuraciones de notificación, utilice el parámetro
max-items
.aws autoscaling describe-notification-configurations \ --auto-scaling-group-name
my-auto-scaling-group
\ --max-items1
Salida:
{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }
Si la salida incluye un campo
NextToken
de, hay más configuraciones de notificación. Para obtener las configuraciones de notificación adicionales, utilice el valor de este campo con el parámetrostarting-token
en una llamada posterior de la siguiente manera.aws autoscaling describe-notification-configurations \ --auto-scaling-group-name
my-asg
\ --starting-tokenZ3M3LMPEXAMPLE
Para obtener más información, consulte Obtener notificaciones de Amazon SNS cuando su grupo de Auto Scaling escala en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeNotificationConfigurations
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-policies
.
- AWS CLI
-
Ejemplo 1: describir las políticas de escalado del grupo especificado
En este ejemplo, se describen las políticas de escalado para el grupo de escalado automático especificado.
aws autoscaling describe-policies \ --auto-scaling-group-name
my-asg
Salida:
{ "ScalingPolicies": [ { "AutoScalingGroupName": "my-asg", "PolicyName": "alb1000-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:3065d9c8-9969-4bec-bb6a-3fbe5550fde6:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" }, "TargetValue": 1000.0, "DisableScaleIn": false }, "Enabled": true }, { "AutoScalingGroupName": "my-asg", "PolicyName": "cpu40-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:5fd26f71-39d4-4690-82a9-b8515c45cdde:autoScalingGroupName/my-asg:policyName/cpu40-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 40.0, "DisableScaleIn": false }, "Enabled": true } ] }
Para obtener más información, consulte Escalado dinámico en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: describir las políticas de escalado de un nombre especificado
Para devolver políticas de escalado específicas, utilice la opción
--policy-names
.aws autoscaling describe-policies \ --auto-scaling-group-name
my-asg
\ --policy-namescpu40-target-tracking-scaling-policy
Consulte el ejemplo 1 para ver una salida de muestra.
Para obtener más información, consulte Escalado dinámico en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: cómo describir una serie de políticas de escalado
Para devolver un número específico de políticas, utilice la opción
--max-items
.aws autoscaling describe-policies \ --auto-scaling-group-name
my-asg
\ --max-items1
Consulte el ejemplo 1 para ver una salida de muestra.
Si la salida incluye un campo de
NextToken
, utilice el valor de este campo con la opción--starting-token
en una llamada posterior para obtener las políticas adicionales.aws autoscaling describe-policies --auto-scaling-group-name
my-asg
--starting-tokenZ3M3LMPEXAMPLE
Para obtener más información, consulte Dynamic scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribePolicies
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-scaling-activities
.
- AWS CLI
-
Ejemplo 1: Descripción de las actividades de escalado para el grupo especificado
En este ejemplo, se describen una o varias actividades de escalado para el grupo de escalado automático especificado.
aws autoscaling describe-scaling-activities \ --auto-scaling-group-name
my-asg
Salida:
{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }
Para obtener más información, consulte Verificar una actividad de escalado para un grupo de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: Descripción de las actividades de escalado de un grupo eliminado
Para describir las actividades de escalado después de que un grupo de escalado automático se haya eliminado, añada la opción
--include-deleted-groups
.aws autoscaling describe-scaling-activities \ --auto-scaling-group-name
my-asg
\ --include-deleted-groupsSalida:
{ "Activities": [ { "ActivityId": "e1f5de0e-f93e-1417-34ac-092a76fba220", "Description": "Launching a new EC2 instance. Status Reason: Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "AutoScalingGroupName": "my-asg", "Cause": "At 2021-01-13T20:47:24Z a user request update of AutoScalingGroup constraints to min: 1, max: 5, desired: 3 changing the desired capacity from 0 to 3. At 2021-01-13T20:47:27Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 3.", "StartTime": "2021-01-13T20:47:30.094Z", "EndTime": "2021-01-13T20:47:30Z", "StatusCode": "Failed", "StatusMessage": "Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}", "AutoScalingGroupState": "Deleted", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:283179a2-f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg" } ] }
Para obtener más información, consulte Solución de problemas para Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: descripción de un número específico de actividades de escalado
Para devolver un número específico de actividades, utilice la opción
--max-items
.aws autoscaling describe-scaling-activities \ --max-items
1
Salida:
{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }
Si la salida incluye un campo
NextToken
, hay más actividades. Para obtener las actividades adicionales, utilice el valor de este campo con la opción--starting-token
en una llamada posterior de la siguiente manera.aws autoscaling describe-scaling-activities \ --starting-token
Z3M3LMPEXAMPLE
Para obtener más información, consulte Verificar una actividad de escalado para un grupo de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeScalingActivities
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-scaling-process-types
.
- AWS CLI
-
Descripción de los tipos de procesos disponibles
En este ejemplo se describen los tipos de procesos disponibles.
aws autoscaling describe-scaling-process-types
Salida:
{ "Processes": [ { "ProcessName": "AZRebalance" }, { "ProcessName": "AddToLoadBalancer" }, { "ProcessName": "AlarmNotification" }, { "ProcessName": "HealthCheck" }, { "ProcessName": "InstanceRefresh" }, { "ProcessName": "Launch" }, { "ProcessName": "ReplaceUnhealthy" }, { "ProcessName": "ScheduledActions" }, { "ProcessName": "Terminate" } ] }
Para obtener más información, consulte Suspending and resuming scaling processes en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeScalingProcessTypes
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-scheduled-actions
.
- AWS CLI
-
Ejemplo 1: Cómo describir todas las acciones programadas
En este ejemplo, se describen todas las acciones programadas.
aws autoscaling describe-scheduled-actions
Salida:
{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }
Para obtener más información, consulte la sección sobre Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: describir las acciones programadas para el grupo especificado
Para describir las acciones programadas para un grupo de escalado automático específico, utilice la opción
--auto-scaling-group-name
.aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name
my-asg
Salida:
{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }
Para obtener más información, consulte la sección sobre Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: cómo describir la acción programada especificada
Para describir una acción programada específica, utilice la opción
--scheduled-action-names
.aws autoscaling describe-scheduled-actions \ --scheduled-action-names
my-recurring-action
Salida:
{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }
Para obtener más información, consulte la sección sobre Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 4: cómo describir las acciones programadas con una hora de inicio especifica
Para describir las acciones programadas que comienzan a una hora específica, utilice la opción
--start-time
.aws autoscaling describe-scheduled-actions \ --start-time
"2023-12-01T04:00:00Z"
Salida:
{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }
Para obtener más información, consulte la sección sobre Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 5: cómo describir las acciones programadas que finalizan a una hora específica
Para describir las acciones programadas que finalizan a una hora específica, utilice la opción
--end-time
.aws autoscaling describe-scheduled-actions \ --end-time
"2023-12-01T04:00:00Z"
Salida:
{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }
Para obtener más información, consulte la sección sobre Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 6: cómo describir un número específico de acciones programadas
Para devolver un número específico de acciones programadas, utilice la opción
--max-items
.aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name
my-asg
\ --max-items1
Salida:
{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }
Si la salida incluye un campo de
NextToken
, hay más acciones programadas. Para obtener las acciones programadas adicionales, utilice el valor de este campo con la opción--starting-token
en una llamada posterior de la siguiente manera.aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name
my-asg
\ --starting-tokenZ3M3LMPEXAMPLE
Para obtener más información, consulte la sección sobre Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeScheduledActions
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-tags
.
- AWS CLI
-
Descripción de todas las etiquetas
En este ejemplo, se describen todas las etiquetas.
aws autoscaling describe-tags
Salida:
{ "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "Research", "Key": "Dept" }, { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "WebServer", "Key": "Role" } ] }
Para obtener más información, consulte Etiquetado de grupos e instancias de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: describir las etiquetas de un grupo específico
Para describir etiquetas de un grupo de escalado automático específico, utilice la opción
--filters
.aws autoscaling describe-tags --filters
Name=auto-scaling-group,Values=my-asg
Para obtener más información, consulte Etiquetado de grupos e instancias de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: cómo describir el número especificado de etiquetas
Para devolver un número específico de etiquetas, utilice la opción
--max-items
.aws autoscaling describe-tags \ --max-items
1
Si la salida incluye un campo de
NextToken
, hay más etiquetas. Para obtener las etiquetas adicionales, utilice el valor de este campo con la opción--starting-token
en una llamada posterior de la siguiente manera.aws autoscaling describe-tags \ --filters
Name=auto-scaling-group,Values=my-asg
\ --starting-tokenZ3M3LMPEXAMPLE
Para obtener más información, consulte Etiquetado de grupos e instancias de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener detalles sobre la API, consulte DescribeTags
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-termination-policy-types
.
- AWS CLI
-
Descripción de los tipos de políticas de terminación disponibles
En este ejemplo se describen los tipos de políticas de terminación disponibles.
aws autoscaling describe-termination-policy-types
Salida:
{ "TerminationPolicyTypes": [ "AllocationStrategy", "ClosestToNextInstanceHour", "Default", "NewestInstance", "OldestInstance", "OldestLaunchConfiguration", "OldestLaunchTemplate" ] }
Para obtener más información, consulte el tema Controlar las instancias que Auto Scaling termina durante el escalado descendente en la guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeTerminationPolicyTypes
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-warm-pool
.
- AWS CLI
-
Descripción de un grupo de calentamiento
En este ejemplo, se describe el grupo de calentamiento del grupo de escalado automático especificado.
aws autoscaling describe-warm-pool \ --auto-scaling-group-name
my-asg
Salida:
{ "WarmPoolConfiguration": { "MinSize": 2, "PoolState": "Stopped" }, "Instances": [ { "InstanceId": "i-070a5bbc7e7f40dc5", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } }, { "InstanceId": "i-0b52f061814d3bd2d", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2b", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } } ] }
Para obtener más información, consulte Grupos de calentamiento para Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DescribeWarmPool
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar detach-instances
.
- AWS CLI
-
Desasociación de una instancia de un grupo de escalado automático
En este ejemplo, se asocia la instancia especificada del grupo de escalado automático especificado.
aws autoscaling detach-instances \ --instance-ids
i-030017cfa84b20135
\ --auto-scaling-group-namemy-asg
\ --should-decrement-desired-capacitySalida:
{ "Activities": [ { "ActivityId": "5091cb52-547a-47ce-a236-c9ccbc2cb2c9", "AutoScalingGroupName": "my-asg", "Description": "Detaching EC2 instance: i-030017cfa84b20135", "Cause": "At 2020-10-31T17:35:04Z instance i-030017cfa84b20135 was detached in response to a user request, shrinking the capacity from 2 to 1.", "StartTime": "2020-04-12T15:02:16.179Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }
-
Para obtener información sobre la API, consulte DetachInstances
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar detach-load-balancer-target-groups
.
- AWS CLI
-
Desasociación de un grupo de destino de equilibrador de carga de un grupo de escalado automático
En este ejemplo, se desasocia el grupo de destino del equilibrador de carga especificado del grupo de escalado automático especificado.
aws autoscaling detach-load-balancer-target-groups \ --auto-scaling-group-name
my-asg
\ --target-group-arnsarn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
Este comando no genera ninguna salida.
Para obtener más información, consulte Adjuntar un equilibrador de carga al grupo de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DetachLoadBalancerTargetGroups
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar detach-load-balancers
.
- AWS CLI
-
Desasociación de un equilibrador de carga clásico de un grupo de escalado automático
En este ejemplo, se asocia el equilibrador de carga clásico especificado del grupo de escalado automático especificado.
aws autoscaling detach-load-balancers \ --load-balancer-names
my-load-balancer
\ --auto-scaling-group-namemy-asg
Este comando no genera ninguna salida.
Para obtener más información, consulte Adjuntar un equilibrador de carga al grupo de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DetachLoadBalancers
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar disable-metrics-collection
.
- AWS CLI
-
Desactivación de la recopilación de métricas de grupo de un grupo de escalado automático
En este ejemplo, se deshabilita la recopilación de la métrica
GroupDesiredCapacity
del grupo de escalado automático especificado.aws autoscaling disable-metrics-collection \ --auto-scaling-group-name
my-asg
\ --metricsGroupDesiredCapacity
Este comando no genera ninguna salida.
Para obtener más información, consulte Monitorizar las métricas de CloudWatch para las instancias y los grupos de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte DisableMetricsCollection
en la Referencia de la comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar enable-metrics-collection
.
- AWS CLI
-
Ejemplo 1: Habilitación de la recopilación de métricas de un grupo de escalado automático
En este ejemplo, se habilita la recopilación de datos para el grupo de escalado automático especificado.
aws autoscaling enable-metrics-collection \ --auto-scaling-group-name
my-asg
\ --granularity"1Minute"
Este comando no genera ninguna salida.
Para obtener más información, consulte Monitorizar las métricas de CloudWatch para las instancias y los grupos de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: Recopilación de datos para la métrica especificada para un grupo de escalado automático
Para recopilar datos para una métrica específica, utilice la opción
--metrics
.aws autoscaling enable-metrics-collection \ --auto-scaling-group-name
my-asg
\ --metricsGroupDesiredCapacity
--granularity"1Minute"
Este comando no genera ninguna salida.
Para obtener más información, consulte Monitorizar las métricas de CloudWatch para las instancias y los grupos de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte EnableMetricsCollection
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar enter-standby
.
- AWS CLI
-
Cambio de las instancias al modo de espera
En este ejemplo, se pone la instancia especificada en modo de espera. Esto resulta útil para actualizar o solucionar problemas de una instancia que está actualmente en servicio.
aws autoscaling enter-standby \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
\ --should-decrement-desired-capacitySalida:
{ "Activities": [ { "ActivityId": "ffa056b4-6ed3-41ba-ae7c-249dfae6eba1", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance to Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:31:00Z instance i-061c63c5eb45f0416 was moved to standby in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2020-10-31T20:31:00.949Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }
Para obtener más información, consulte Amazon EC2 Auto Scaling instance lifecycle en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener más información sobre la API, consulte EnterStandby
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar execute-policy
.
- AWS CLI
-
Ejecución de una política de escalado
En este ejemplo, se ejecuta la política de escalado denominada
my-step-scale-out-policy
para el grupo de escalado automático especificado.aws autoscaling execute-policy \ --auto-scaling-group-name
my-asg
\ --policy-namemy-step-scale-out-policy
\ --metric-value95
\ --breach-threshold80
Este comando no genera ninguna salida.
Para obtener más información, consulte Step and simple scaling policies en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte ExecutePolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar exit-standby
.
- AWS CLI
-
Retirada de las instancias del modo de espera
En este ejemplo se sacan las instancias especificadas del modo de espera.
aws autoscaling exit-standby \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
Salida:
{ "Activities": [ { "ActivityId": "142928e1-a2dc-453a-9b24-b85ad6735928", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance out of Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:32:50Z instance i-061c63c5eb45f0416 was moved out of standby in response to a user request, increasing the capacity from 0 to 1.", "StartTime": "2020-10-31T20:32:50.222Z", "StatusCode": "PreInService", "Progress": 30, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }
Para obtener más información, consulte Eliminación temporal de instancias de su grupo de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte ExitStandby
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar put-lifecycle-hook
.
- AWS CLI
-
Ejemplo 1: crear un enlace de ciclo de vida
En este ejemplo, se crea un enlace de ciclo de vida que se invocará en cualquier instancia recién inicializada, con un tiempo de espera de 4800 segundos. Esto resulta útil para mantener las instancias en estado de espera hasta que finalicen los scripts de datos de usuario o para invocar una función de Lambda de AWS mediante EventBridge.
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name
my-asg
\ --lifecycle-hook-namemy-launch-hook
\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING
\ --heartbeat-timeout4800
Este comando no genera ninguna salida. Si ya existe un enlace de ciclo de vida con el mismo nombre, el nuevo enlace de ciclo de vida lo sobrescribirá.
Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: enviar un mensaje de correo electrónico de Amazon SNS para notificarle las transiciones de estado de la instancia
En este ejemplo, se crea un enlace de ciclo de vida con el tema de Amazon SNS y rol de IAM que se debe utilizar para recibir notificaciones en la inicialización de la instancia.
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name
my-asg
\ --lifecycle-hook-namemy-launch-hook
\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING
\ --notification-target-arnarn:aws:sns:us-west-2:123456789012:my-sns-topic
\ --role-arnarn:aws:iam::123456789012:role/my-auto-scaling-role
Este comando no genera ninguna salida.
Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: cómo publicar un mensaje en una cola de Amazon SQS
En este ejemplo, se crea un enlace de ciclo de vida que publica un mensaje con metadatos en la cola de Amazon SQS especificada.
aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name
my-asg
\ --lifecycle-hook-namemy-launch-hook
\ --lifecycle-transitionautoscaling:EC2_INSTANCE_LAUNCHING
\ --notification-target-arnarn:aws:sqs:us-west-2:123456789012:my-sqs-queue
\ --role-arnarn:aws:iam::123456789012:role/my-notification-role
\ --notification-metadata"SQS message metadata"
Este comando no genera ninguna salida.
Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte PutLifecycleHook
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar put-notification-configuration
.
- AWS CLI
-
Adición de una nueva notificación
En este ejemplo, se añade la notificación especificada al grupo de escalado automático especificado.
aws autoscaling put-notification-configuration \ --auto-scaling-group-name
my-asg
\ --topic-arnarn:aws:sns:us-west-2:123456789012:my-sns-topic
\ --notification-typeautoscaling:TEST_NOTIFICATION
Este comando no genera ninguna salida.
Para obtener más información, consulte Obtener notificaciones de Amazon SNS cuando su grupo de Auto Scaling escala en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte PutNotificationConfiguration
en la Referencia de Cmdlet de AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar put-scaling-policy
.
- AWS CLI
-
Adición de una política de escalado de seguimiento de destino a un grupo de escalado automático
El siguiente ejemplo de
put-scaling-policy
aplica una política de escalado de seguimiento de destino al grupo de escalado automático especificado. La salida contiene los ARN y nombres de las dos alarmas de CloudWatch creadas en su nombre. Si existe una política de escalado con el mismo nombre, la nueva política la sobrescribirá.aws autoscaling put-scaling-policy --auto-scaling-group-name
my-asg
\ --policy-namealb1000-target-tracking-scaling-policy
\ --policy-typeTargetTrackingScaling
\ --target-tracking-configurationfile://config.json
Contenido de
config.json
:{ "TargetValue": 1000.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" } }
Salida:
{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e", "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2", "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2" } ] }
Para ver más ejemplos, consulte Example scaling policies for the AWS Command Line Interface (AWS CLI) en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte PutScalingPolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar put-scheduled-update-group-action
.
- AWS CLI
-
Ejemplo 1: añadir una acción programada a un grupo de escalado automático
En este ejemplo, se añade la acción programada especificada al grupo de escalado automático especificado.
aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name
my-asg
\ --scheduled-action-namemy-scheduled-action
\ --start-time"2023-05-12T08:00:00Z"
\ --min-size2
\ --max-size6
\ --desired-capacity4
Este comando no genera ninguna salida. Si existe una acción programada con el mismo nombre, la nueva acción programada la sobrescribirá.
Para ver más ejemplos, consulte Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: especificar una programación recurrente
En este ejemplo, se crea una acción programada para escalar un programa recurrente cuya ejecución está prevista para las 00:30 h del primero de enero, junio y diciembre de cada año.
aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name
my-asg
\ --scheduled-action-namemy-recurring-action
\ --recurrence"30 0 1 1,6,12 *"
\ --min-size2
\ --max-size6
\ --desired-capacity4
Este comando no genera ninguna salida. Si existe una acción programada con el mismo nombre, la nueva acción programada la sobrescribirá.
Para obtener más información, consulte Escalado programado en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte PutScheduledUpdateGroupAction
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar put-warm-pool
.
- AWS CLI
-
Creación de un grupo de calentamiento
En el ejemplo siguiente, se crea un grupo de calentamiento para el grupo de escalado automático especificado.
aws autoscaling put-warm-pool \ --auto-scaling-group-name
my-asg
\ --min-size2
Este comando no genera ninguna salida. Si ya existe un grupo de calentamiento, se actualizará.
Para obtener más información, consulte Grupos de calentamiento para Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener más información sobre la API, consulte PutWarmPool
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar record-lifecycle-action-heartbeat
.
- AWS CLI
-
Registro del latido de una acción del ciclo de vida
En este ejemplo, se registra el latido de una acción del ciclo de vida para mantener la instancia en estado pendiente.
aws autoscaling record-lifecycle-action-heartbeat \ --lifecycle-hook-name
my-launch-hook
\ --auto-scaling-group-namemy-asg
\ --lifecycle-action-tokenbcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635
Este comando no genera ninguna salida.
Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte RecordLifecycleActionHeartbeat
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar resume-processes
.
- AWS CLI
-
Reanudación de un proceso suspendido
En este ejemplo, se reanuda el proceso de escalado suspendido especificado para el grupo de escalado automático especificado.
aws autoscaling resume-processes \ --auto-scaling-group-name
my-asg
\ --scaling-processesAlarmNotification
Este comando no genera ninguna salida.
Para obtener más información, consulte Suspending and resuming scaling processes en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte ResumeProcesses
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar rollback-instance-refresh
.
- AWS CLI
-
Reversión de la actualización de una instancia
En el siguiente ejemplo de
rollback-instance-refresh
, se revierte la actualización de instancia en curso del grupo de escalado automático especificado.aws autoscaling rollback-instance-refresh \ --auto-scaling-group-name
my-asg
Salida:
{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Para obtener más información, consulte Inversión de cambios con una reversión en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte RollbackInstanceRefresh
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar set-desired-capacity
.
- AWS CLI
-
Fijación de la capacidad deseada inicial para el grupo de escalado automático
En este ejemplo, se establece la capacidad deseada para el grupo de escalado automático especificado.
aws autoscaling set-desired-capacity \ --auto-scaling-group-name
my-asg
\ --desired-capacity2
\ --honor-cooldownEste comando vuelve a la petición si se ejecuta correctamente.
-
Para obtener información sobre la API, consulte SetDesiredCapacity
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar set-instance-health
.
- AWS CLI
-
Comprobación del estado de una instancia
En este ejemplo se establece el estado de la instancia especificada en
Unhealthy
.aws autoscaling set-instance-health \ --instance-id
i-061c63c5eb45f0416
\ --health-statusUnhealthy
Este comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte SetInstanceHealth
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar set-instance-protection
.
- AWS CLI
-
Ejemplo 1: habilitar la configuración de protección de instancias para una instancia
En este ejemplo, se habilita la protección de instancias para la instancia especificada.
aws autoscaling set-instance-protection \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
--protected-from-scale-inEste comando no genera ninguna salida.
Ejemplo 2: deshabilitar la configuración de protección de instancias para una instancia
En este ejemplo, se deshabilita la protección de instancias para la instancia especificada.
aws autoscaling set-instance-protection \ --instance-ids
i-061c63c5eb45f0416
\ --auto-scaling-group-namemy-asg
\ --no-protected-from-scale-inEste comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte SetInstanceProtection
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar start-instance-refresh
.
- AWS CLI
-
Ejemplo 1: cómo iniciar una actualización de instancias mediante parámetros de línea de comandos
En el siguiente ejemplo de
start-instance-refresh
, se inicia una actualización de instancias mediante argumentos de línea de comandos. El parámetropreferences
opcional especifica unInstanceWarmup
de60
segundos y unMinHealthyPercentage
de50
%.aws autoscaling start-instance-refresh \ --auto-scaling-group-name
my-asg
\ --preferences '{"InstanceWarmup": 60, "MinHealthyPercentage": 50}
'Salida:
{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Para obtener más información, consulte Start an instance refresh en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: cómo iniciar la actualización de una instancia mediante un archivo JSON
En el siguiente ejemplo de
start-instance-refresh
, se inicia una actualización de una instancia mediante un archivo JSON. Puede especificar el grupo de escalado automático y definir la configuración y las preferencias que desee en un archivo JSON, como se muestra en el siguiente ejemplo.aws autoscaling start-instance-refresh \ --cli-input-json
file://config.json
Contenido de
config.json
:{ "AutoScalingGroupName": "my-asg", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b729example", "Version": "$Default" } }, "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 50, "AutoRollback": true, "ScaleInProtectedInstances": Ignore, "StandbyInstances": Terminate } }
Salida:
{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }
Para obtener más información, consulte Start an instance refresh en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener detalles sobre la API, consulte StartInstanceRefresh
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar suspend-processes
.
- AWS CLI
-
Suspensión de los procesos de escalado automático
En este ejemplo, se suspende el proceso de escalado especificado para el grupo de escalado automático especificado.
aws autoscaling suspend-processes \ --auto-scaling-group-name
my-asg
\ --scaling-processesAlarmNotification
Este comando no genera ninguna salida.
Para obtener más información, consulte Suspending and resuming scaling processes en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte SuspendProcesses
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar terminate-instance-in-auto-scaling-group
.
- AWS CLI
-
Finalización de una instancia en su grupo de escalado automático
En este ejemplo, se termina la instancia especificada del grupo de escalado automático especificado sin actualizar el tamaño del grupo. Amazon EC2 Auto Scaling lanza una instancia de remplazo una vez que finalice la instancia especificada.
aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id
i-061c63c5eb45f0416
\ --no-should-decrement-desired-capacitySalida:
{ "Activities": [ { "ActivityId": "8c35d601-793c-400c-fcd0-f64a27530df7", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-061c63c5eb45f0416", "Cause": "", "StartTime": "2020-10-31T20:34:25.680Z", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }
-
Para obtener información sobre la API, consulte TerminateInstanceInAutoScalingGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-auto-scaling-group
.
- AWS CLI
-
Ejemplo 1: Actualización de los límites de tamaño de un grupo de escalado automático
En este ejemplo, se actualiza el grupo de escalado automático especificado con un tamaño mínimo de 2 y un tamaño máximo de 10.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --min-size2
\ --max-size10
Este comando no genera ninguna salida.
Para obtener más información, consulte Establecer límites de capacidad para su grupo de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 2: Adición de comprobaciones de estado de Elastic Load Balancing y especificar qué zonas de disponibilidad y subredes se deben utilizar
En este ejemplo, se actualiza el grupo de escalado automático especificado para añadir comprobaciones de estado de Elastic Load Balancing. Este comando también actualiza el valor de
--vpc-zone-identifier
con una lista de ID de subred en varias zonas de disponibilidad.aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --health-check-typeELB
\ --health-check-grace-period600
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
Este comando no genera ninguna salida.
Para obtener más información, consulte Elastic Load Balancing y Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 3: actualización del grupo con ubicación y la política de terminación
En este ejemplo, se actualizan el grupo con ubicación y la política de terminación que se van a utilizar.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --placement-groupmy-placement-group
\ --termination-policies"OldestInstance"
Este comando no genera ninguna salida.
Para obtener más información, consulte Grupos de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 4: uso de la versión más reciente de la plantilla de lanzamiento
En este ejemplo, se actualiza el grupo de escalado automático para utilizar la versión más reciente de la plantilla de lanzamiento.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'Este comando no genera ninguna salida.
Para obtener más información, consulte Plantillas de lanzamiento en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 5: uso de una versión específica de la plantilla de lanzamiento
En este ejemplo, se actualiza el grupo de escalado automático especificado para utilizar una versión específica de una plantilla de lanzamiento en lugar de la versión más reciente o predeterminada.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'Este comando no genera ninguna salida.
Para obtener más información, consulte Plantillas de lanzamiento en la Guía del usuario de Amazon EC2 Auto Scaling.
Ejemplo 6: definición de una política de instancias mixtas y habilitar el reequilibrio de la capacidad
En este ejemplo, se actualiza el grupo de escalado automático especificado para que utilice una política de instancias mixtas y se habilita el reequilibrio de la capacidad. Esta estructura le permite especificar grupos con capacidades bajo demanda y de spot y utilizar distintas plantillas de lanzamiento para diferentes arquitecturas.
aws autoscaling update-auto-scaling-group \ --cli-input-json
file://~/config.json
Contenido de
config.json
:{ "AutoScalingGroupName": "my-asg", "CapacityRebalance": true, "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-x86", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } } }
Este comando no genera ninguna salida.
Para obtener más información, consulte la sección sobre Grupos de escalado automático con varios tipos de instancia y opciones de compra en la guía del usuario de Amazon EC2 Auto Scaling.
-
Para obtener información sobre la API, consulte UpdateAutoScalingGroup
en la Referencia de comandos de la AWS CLI.
-