Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las marcas comerciales y la imagen comercial de Amazon no se pueden utilizar en relación con ningún producto o
servicio que no sea de Amazon de ninguna manera que pueda causar confusión entre los clientes y que menosprecie
o desacredite a Amazon. Todas las demás marcas comerciales que no son propiedad de Amazon son propiedad de
sus respectivos propietarios, que pueden o no estar afiliados, conectados o patrocinados por Amazon.
Auto Scaling de Amazon EC2 Guía del usuario
Table of Contents
¿Qué es Amazon EC2 Auto Scaling ...................................................................................................... 1
Componentes de Auto Scaling ..................................................................................................... 1
Introducción ............................................................................................................................... 2
Acceso a Amazon EC2 Auto Scaling ............................................................................................. 2
Precios de Amazon EC2 Auto Scaling ........................................................................................... 3
Conformidad con DSS de PCI ...................................................................................................... 3
Servicios relacionados ................................................................................................................. 3
Ventajas de Auto Scaling ............................................................................................................. 3
Ejemplo: Cubrir la demanda variable ..................................................................................... 4
Ejemplo: Arquitectura de aplicaciones web ............................................................................. 5
Ejemplo: Distribución de instancias entre zonas de disponibilidad ............................................... 6
Ciclo de vida de la instancia ........................................................................................................ 8
Escalado ascendente .......................................................................................................... 9
Instancias en servicio .......................................................................................................... 9
Escalado en ..................................................................................................................... 10
Asociar una instancia ........................................................................................................ 10
Desasociar una instancia ................................................................................................... 10
Enlaces de ciclo de vida .................................................................................................... 10
Entrar y salir del modo de espera ....................................................................................... 11
Cuotas de servicio .................................................................................................................... 11
Configuración ................................................................................................................................... 13
Inscribirse en una Cuenta de AWS .............................................................................................. 13
Prepárese para utilizar Amazon EC2 ........................................................................................... 13
Instalar la AWS CLI .................................................................................................................. 13
Introducción ..................................................................................................................................... 14
Resumen del tutorial ................................................................................................................. 14
Prepararse para el tutorial .......................................................................................................... 15
Paso 1: Crear una plantilla de lanzamiento ................................................................................... 15
Paso 2: Cree un grupo de Auto Scaling de instancia única .............................................................. 17
Paso 3: Compruebe el grupo de Auto Scaling ............................................................................... 17
Paso 4: Terminar una instancia en el grupo de Auto Scaling ............................................................ 18
Paso 5: Pasos siguientes ........................................................................................................... 18
Paso 6: Eliminar recursos ........................................................................................................... 19
Tutorial: Configurar una aplicación con escalado y balanceo ................................................................... 20
Prerequisites ............................................................................................................................ 21
Paso 1: Configurar una plantilla de lanzamiento o una configuración de lanzamiento ............................ 21
Seleccione o cree una configuración de lanzamiento .............................................................. 23
Paso 2: Creación de un grupo de Auto Scaling ............................................................................. 24
Paso 3: Compruebe que el balanceador de carga está adjunto ........................................................ 25
Paso 4: Pasos siguientes ........................................................................................................... 25
Paso 5: Eliminar recursos ........................................................................................................... 25
Plantillas de lanzamiento .................................................................................................................... 27
Creación de una plantilla de lanzamiento para un grupo de Auto Scaling ........................................... 28
Creación de una plantilla de lanzamiento (consola) ................................................................ 28
Para crear una plantilla de lanzamiento a partir de una instancia existente (consola) .................... 33
Creación de una plantilla de lanzamiento (AWS CLI) .............................................................. 34
Limitations ....................................................................................................................... 34
Copiar una configuración de lanzamiento en una plantilla de lanzamiento .......................................... 34
Sustituir una configuración de lanzamiento por una plantilla de lanzamiento ....................................... 35
AWS CLIEjemplos de uso de plantillas de lanzamiento ................................................................... 36
Creación de una plantilla de lanzamiento simple .................................................................... 36
Especificación de etiquetas que etiquetan instancias en la creación .......................................... 37
Especificación de una interfaz de red existente ..................................................................... 37
Asignación de direcciones IP públicas .................................................................................. 38
iii
Auto Scaling de Amazon EC2 Guía del usuario
iv
Auto Scaling de Amazon EC2 Guía del usuario
v
Auto Scaling de Amazon EC2 Guía del usuario
vi
Auto Scaling de Amazon EC2 Guía del usuario
vii
Auto Scaling de Amazon EC2 Guía del usuario
viii
Auto Scaling de Amazon EC2 Guía del usuario
Componentes de Auto Scaling
Por ejemplo, el siguiente grupo de Auto Scaling tiene un tamaño mínimo de una instancia, una capacidad
deseada de dos instancias y un tamaño máximo de cuatro instancias. Las políticas de escalado que defina
ajustan el número de instancias, en el número mínimo y máximo de instancias, en función de los criterios
que especifique.
Para obtener más información acerca de los beneficios de Amazon EC2 Auto Scaling, consulteVentajas de
Amazon EC2 Auto Scaling (p. 3).
Groups
Plantillas de configuración
1
Auto Scaling de Amazon EC2 Guía del usuario
Introducción
Opciones de escalado
Introducción
Si es la primera vez que utiliza Amazon EC2 Auto Scaling, le recomendamos que consulteCiclo de vida de
instancias de Amazon EC2 Auto Scaling (p. 8)Antes de empezar.
Para empezar, complete elCómo empezar a utilizar Amazon EC2 Auto Scaling (p. 14)Para crear un
tutorial de Auto Scaling y ver cómo responde cuando termina una instancia de ese grupo. Si ya tiene
instancias EC2 en ejecución, puede crear un grupo de Auto Scaling mediante una instancia EC2 existente
y eliminar la instancia del grupo en cualquier momento.
También puede tener acceso a Amazon EC2 Auto Scaling utilizando laAPI de Auto Scaling de Amazon
EC2. Auto Scaling de Amazon EC2 Estas solicitudes son solicitudes de HTTP o HTTPS que utilizan
los verbos GET o POST de HTTP y un parámetro de consulta denominado Action. Para obtener
más información acerca de las acciones de la API para Amazon EC2 Auto Scaling, consulteActionsen
laReferencia de API de Auto Scaling de Amazon EC2.
Si prefiere crear aplicaciones usando API específicas de un lenguaje en lugar de enviar una solicitud a
través de HTTP o HTTPS, AWS le proporciona bibliotecas, ejemplos de código, tutoriales y otros recursos
para desarrolladores de software. Estas bibliotecas proporcionan funciones básicas que automatizan
tareas como la firma criptográfica de las solicitudes o el tratamiento de las respuestas de error, facilitándole
así el comienzo. Para obtener más información, consulteAWSSDK y herramientas de.
Si prefiere utilizar una interfaz de línea de comandos, dispone de las siguientes opciones:
Ofrece comandos para un amplio conjunto de productos de AWS y es compatible con Windows,
macOS y Linux. Para empezar, consulte la Guía del usuario de AWS Command Line Interface. Para
obtener más información, consulteAuto Scalingen laAWS CLIReferencia de los comandos de la.
AWSHerramientas de para Windows PowerShell
Ofrece comandos para un amplio conjunto de productos de AWS para los usuarios que utilizan scripts
en el entorno de PowerShell. Para empezar, consulte la Guía del usuario de AWS Tools for Windows
PowerShell. Para obtener más información, consulte laAWS Tools for PowerShellReferencia de
Cmdlet.
2
Auto Scaling de Amazon EC2 Guía del usuario
Precios de Amazon EC2 Auto Scaling
las regiones y los puntos de enlace de las llamadas a Amazon EC2 Auto Scaling, consulte laRegiones y
puntos de enlaceEn la tabla deAWSReferencia general de.
Servicios relacionados
Para distribuir automáticamente el tráfico entrante en la aplicación entre varias instancias de su grupo de
Auto Scaling, utilice Elastic Load Balancing. Para obtener más información, consulte la Guía del usuario de
Elastic Load Balancing.
Para monitorizar las estadísticas básicas de las instancias y los volúmenes de Amazon EBS, utilice
Amazon CloudWatch. Para obtener más información, consulte la Guía del usuario de Amazon CloudWatch.
Para configurar el escalado automático de recursos escalables para otros Amazon Web Services aparte de
Amazon EC2, consulte laGuía del usuario de la aplicación Auto Scaling.
Para monitorizar las llamadas efectuadas a la API de Amazon EC2 Auto Scaling para su cuenta,
utiliceAWS CloudTrail. Los datos registradas incluyen las llamadas realizadas por la AWS Management
Console, las herramientas de línea de comandos y otros servicios. Para obtener más información, consulte
la Guía del usuario de AWS CloudTrail.
• Mejor tolerancia a errores. Amazon EC2 Auto Scaling puede detectar cuándo una instancia está en
mal estado, terminarla y lanzar una instancia para sustituirla. También puede configurar Amazon EC2
Auto Scaling para que use varias zonas de disponibilidad. Si una zona de disponibilidad deja de estar
disponible, Amazon EC2 Auto Scaling puede lanzar instancias en otra para compensar.
• Mejor disponibilidad. Amazon EC2 Auto Scaling lo ayuda a garantizar que la aplicación tenga siempre la
capacidad adecuada para controlar la demanda de tráfico en cada momento.
• Mejor administración de costos. Amazon EC2 Auto Scaling puede aumentar y reducir de forma dinámica
la capacidad según sea necesario. Dado que se paga por las instancias EC2 que se utilizan, es posible
ahorrar dinero lanzando instancias cuando se necesitan y terminándolas cuando ya no son necesarias.
3
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplo: Cubrir la demanda variable
Contenido
• Ejemplo: Cubrir la demanda variable (p. 4)
• Ejemplo: Arquitectura de aplicaciones web (p. 5)
• Ejemplo: Distribución de instancias entre zonas de disponibilidad (p. 6)
• Distribución de instancias (p. 7)
• Actividades de reequilibrio (p. 7)
En el siguiente gráfico se muestra cuánta capacidad de la aplicación se usa a lo largo de una semana.
Tradicionalmente, hay dos formas de planificar estos cambios de capacidad. La primera opción consiste en
agregar servidores suficientes para que la aplicación siempre tenga capacidad suficiente para satisfacer
la demanda. La desventaja de esta opción, sin embargo, es que hay días en que la aplicación no necesita
tanta capacidad. La capacidad adicional permanece sin utilizar y, en esencia, aumenta el costo de
mantener la aplicación en ejecución.
La segunda opción es tener capacidad suficiente para controlar la demanda media de la aplicación. Esta
opción es menos cara, ya que no necesita comprar equipos que utilizará solo de vez en cuando. Sin
embargo, existe el riesgo de que la experiencia del cliente se vea afectada si la demanda de la aplicación
supera su capacidad.
4
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplo: Arquitectura de aplicaciones web
Añadiendo Amazon EC2 Auto Scaling a esta aplicación, dispone de una tercera opción. Puede añadir
nuevas instancias a la aplicación solo cuando sea necesario y terminarlas cuando ya no las necesite.
Como Amazon EC2 Auto Scaling utiliza instancias EC2, solo tiene que pagar por las instancias que utilice,
cuando las utilice. Ahora tiene una arquitectura rentable que proporciona la mejor experiencia a los clientes
a la vez que se minimizan los gastos.
5
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplo: Distribución de instancias
entre zonas de disponibilidad
Amazon EC2 Auto Scaling administra el lanzamiento y la terminación de estas instancias EC2 en su
nombre. Usted define un conjunto de criterios (como una alarma de Amazon CloudWatch) que determinan
cuándo el grupo de Auto Scaling lanza o termina instancias EC2. Agregar grupos de Auto Scaling a su
arquitectura de red ayuda a aumentar la disponibilidad y la tolerancia a errores de la aplicación.
Puede crear todos los grupos de Auto Scaling que necesite. Por ejemplo, puede crear un grupo de Auto
Scaling para cada capa.
Para distribuir el tráfico entre las instancias de su grupo de Auto Scaling, puede introducir un balanceador
de carga en su arquitectura. Para obtener más información, consulte Elastic Load Balancing (p. 90).
6
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplo: Distribución de instancias
entre zonas de disponibilidad
Un grupo de Auto Scaling puede contener instancias EC2 en una o varias zonas de disponibilidad dentro
de la misma región. Sin embargo, los grupos de Auto Scaling no pueden abarcar varias regiones.
Para los grupos de Auto Scaling en una VPC, las instancias EC2 se lanzan en subredes. Usted selecciona
las subredes para las instancias EC2 cuando crea o actualiza el grupo de Auto Scaling. Puede seleccionar
una o varias subredes por zona de disponibilidad. Para obtener más información, consulteVPC y
subredesen laAmazon VPC User Guide.
Distribución de instancias
Amazon EC2 Auto Scaling intenta distribuir las instancias de manera uniforme entre las zonas de
disponibilidad que están habilitadas para su grupo de Auto Scaling. Para ello, Amazon EC2 Auto Scaling
intenta lanzar nuevas instancias en la zona de disponibilidad con el menor número de instancias. Si el
intento fracasa, Amazon EC2 Auto Scaling intenta lanzar las instancias en otra zona de disponibilidad
hasta que lo logra. Para los grupos de Auto Scaling de una VPC, si hay varias subredes en una zona
de disponibilidad, Amazon EC2 Auto Scaling selecciona una subred de la zona de disponibilidad
aleatoriamente.
Actividades de reequilibrio
Las actividades de reequilibrio se dividen en dos categorías: Reequilibrio de la zona de disponibilidad y
reequilibrio de capacidad.
7
Auto Scaling de Amazon EC2 Guía del usuario
Ciclo de vida de la instancia
Cuando se producen determinadas acciones, su grupo de Auto Scaling puede quedar desequilibrado entre
las zonas de disponibilidad. Amazon EC2 Auto Scaling compensa este desequilibrio reequilibrando las
zonas de disponibilidad. Las siguientes acciones pueden derivar en una actividad de reequilibrio:
Cuando se reequilibrio, Amazon EC2 Auto Scaling lanza nuevas instancias antes de terminar las antiguas,
por lo que no se pone en peligro el desempeño ni la disponibilidad de su aplicación.
Como Amazon EC2 Auto Scaling intenta lanzar nuevas instancias antes de terminar las antiguas, el
hecho de satisfacer por completo o casi la capacidad máxima especificada podría impedir o detener
completamente las actividades de reequilibrio. Para evitar este problema, el sistema puede superar
temporalmente la capacidad máxima especificada de un grupo en un margen del 10% (o en un margen
de 1 instancia, lo que sea mayor) durante una actividad de reequilibrio. El margen solo se amplía si el
grupo tiene o se aproxima a la capacidad máxima y necesita reequilibrarse, ya sea por una distribución de
zonas solicitada por el usuario o para compensar los problemas de disponibilidad de zona. La extensión se
mantiene solamente mientras sea necesaria para reequilibrar el grupo (normalmente unos minutos).
Reequilibrio de la capacidad
Puede habilitar el reequilibrio de capacidad para los grupos de Auto Scaling cuando utilice instancias
puntuales. Cuando activa el reequilibrio de capacidad, Amazon EC2 Auto Scaling intenta lanzar una
instancia de spot siempre que Amazon EC2 notifique que una instancia de spot tiene un riesgo elevado
de interrupción. Después de iniciar una nueva instancia, finaliza una instancia antigua. Para obtener más
información, consulte Reequilibrio de capacidad de Amazon EC2 Auto Scaling de Amazon EC2 (p. 242).
Las instancias se cobran en cuanto se lanzan, incluido el tiempo en que aún no están en servicio.
En la siguiente ilustración se muestran las transiciones entre los estados de la instancia en el ciclo de vida
de Amazon EC2 Auto Scaling.
8
Auto Scaling de Amazon EC2 Guía del usuario
Escalado ascendente
Escalado ascendente
Los siguientes eventos de escalado descendente indican al grupo de Auto Scaling que lance instancias
EC2 y las asocie al grupo:
• Aumenta manualmente el tamaño del grupo. Para obtener más información, consulte Escale manual
para Amazon EC2 Auto Scaling (p. 126).
• Crea una política de escalado para aumentar automáticamente el tamaño del grupo en función del
aumento de la demanda especificado. Para obtener más información, consulte Escale dinámico para
Amazon EC2 Auto Scaling (p. 135).
• Configura el escalado basado en programación para aumentar el tamaño del grupo en un momento
determinado. Para obtener más información, consulte Escale programado para Amazon EC2 Auto
Scaling (p. 178).
Cuando se produce un evento de escalado ascendente, el grupo de Auto Scaling lanza el número
necesario de instancias EC2, utilizando su configuración de lanzamiento asignada. Estas instancias
comienzan en el estado Pending. Si añade un enlace de ciclo de vida a su grupo de Auto Scaling, puede
realizar una acción personalizada aquí. Para obtener más información, consulte Enlaces de ciclo de
vida (p. 10).
Cuando cada instancia está totalmente configurada y supera las comprobaciones de estado de Amazon
EC2, se asocia al grupo de Auto Scaling y pasa a tener elInServiceEstado. La instancia se tendrá en
cuenta para calcular la capacidad deseada del grupo de Auto Scaling.
Instancias en servicio
Las instancias permanecen en el estado InService hasta que se produce alguna de las siguientes
situaciones:
• Se produce un evento de escalado ascendente y Amazon EC2 Auto Scaling decide terminar esta
instancia para reducir el tamaño del grupo de Auto Scaling. Para obtener más información, consulte
Controlar qué instancias de Auto Scaling terminan durante la escala en (p. 215).
• Coloca la instancia en estado Standby. Para obtener más información, consulte Entrar y salir del modo
de espera (p. 11).
• Desasocia la instancia del grupo de Auto Scaling. Para obtener más información, consulte Desasociar
una instancia (p. 10).
9
Auto Scaling de Amazon EC2 Guía del usuario
Escalado en
Escalado en
Los siguientes eventos de escalado descendente indican al grupo de Auto Scaling que desasocie las
instancias EC2 del grupo y las termine:
• Reduce manualmente el tamaño del grupo. Para obtener más información, consulte Escale manual para
Amazon EC2 Auto Scaling (p. 126).
• Crea una política de escalado para reducir automáticamente el tamaño del grupo en función de la
reducción de la demanda especificada. Para obtener más información, consulte Escale dinámico para
Amazon EC2 Auto Scaling (p. 135).
• Configura el escalado basado en programación para reducir el tamaño del grupo en un momento
determinado. Para obtener más información, consulte Escale programado para Amazon EC2 Auto
Scaling (p. 178).
Es importante que, cada vez que cree un evento de escalado ascendente, cree también un evento de
escalado descendente correspondiente. De esta forma, se asegurará de que los recursos asignados a la
aplicación coinciden lo máximo posible con la demanda de esos recursos.
Cuando se produce un evento de escalado descendente, el grupo de Auto Scaling termina una o varias
instancias. El grupo de Auto Scaling utiliza su política de terminación para determinar qué instancias
debe terminar. Las instancias que se encuentran en proceso de terminación del grupo de Auto Scaling y
terminación adoptan laTerminating, y no se puede volver a poner en servicio. Si añade un enlace de
ciclo de vida a su grupo de Auto Scaling, puede realizar una acción personalizada aquí. Por último, las
instancias se terminan completamente y adoptan el estado Terminated.
Para obtener más información, consulte Adjunte instancias de EC2 al grupo de Auto Scaling (p. 128).
Para obtener más información, consulte Para desasociar instancias EC2 del grupo de Auto
Scaling (p. 132).
Cuando Amazon EC2 Auto Scaling responde a un evento de escalado descendente, lanza
una o varias instancias. Estas instancias comienzan en el estado Pending. Si ha agregado
unautoscaling:EC2_INSTANCE_LAUNCHINGEl enlace de ciclo de vida a su grupo de Auto Scaling, las
instancias pasan delPendingEstado a la.Pending:WaitEstado. Una vez completada la acción de ciclo
10
Auto Scaling de Amazon EC2 Guía del usuario
Entrar y salir del modo de espera
de vida, las instancias adoptan el estado Pending:Proceed. Cuando las instancias están totalmente
configuradas, se asocian al grupo de Auto Scaling y adoptan laInServiceEstado.
Cuando Amazon EC2 Auto Scaling responde a un evento de escalado descendente, termina una o varias
instancias. Estas instancias se desasocian del grupo de Auto Scaling y adoptan laTerminatingEstado.
Si ha agregado unautoscaling:EC2_INSTANCE_TERMINATINGEl enlace de ciclo de vida a su grupo
de Auto Scaling, las instancias pasan delTerminatingEstado a la.Terminating:WaitEstado. Una vez
completada la acción de ciclo de vida, las instancias adoptan el estado Terminating:Proceed. Cuando
las instancias se terminan completamente, adoptan el estado Terminated.
Para obtener más información, consulte Enganches de ciclo de vida de Amazon EC2 Auto
Scaling (p. 184).
Instancias en unStandbyEl estado sigue estando administrado por el grupo de Auto Scaling. Sin embargo,
no son parte activa de la aplicación hasta que las pone de nuevo en servicio.
Para obtener más información, consulte Eliminación temporal de instancias del grupo de Auto
Scaling (p. 228).
Cuotas predeterminadas
Para ver las cuotas actuales de su cuenta, abra la consola de Amazon EC2 enhttps://
console.aws.amazon.com/ec2/y vaya a la.Límites(Se ha creado el certificado). También puede utilizar
el comando describe-account-limits . Para solicitar un aumento, utilice el formulario de límites de Auto
Scaling.
Escalado de políticas
11
Auto Scaling de Amazon EC2 Guía del usuario
Cuotas de servicio
Para obtener información acerca de las cuotas de servicio para otros Amazon Web Services,
consulteCuotas y puntos de enlace de servicioen laReferencia general de Amazon Web Services.
12
Auto Scaling de Amazon EC2 Guía del usuario
Inscribirse en una Cuenta de AWS
Tareas
• Inscribirse en una Cuenta de AWS (p. 13)
• Prepárese para utilizar Amazon EC2 (p. 13)
• Instalar la AWS CLI (p. 13)
1. Abra https://portal.aws.amazon.com/billing/signup.
2. Siga las instrucciones en línea.
Parte del procedimiento de inscripción consiste en recibir una llamada telefónica e indicar un código de
verificación en el teclado del teléfono.
13
Auto Scaling de Amazon EC2 Guía del usuario
Resumen del tutorial
Antes de crear un grupo de Auto Scaling para usarlo con la aplicación, revise la aplicación a fondo
mientras se ejecuta en la secciónAWS- Nube. Considere lo siguiente:
Cuanto mejor conozca su aplicación, mayor será la eficacia de su arquitectura de Auto Scaling.
Tareas
• Resumen del tutorial (p. 14)
• Prepararse para el tutorial (p. 15)
• Paso 1: Crear una plantilla de lanzamiento (p. 15)
• Paso 2: Cree un grupo de Auto Scaling de instancia única (p. 17)
• Paso 3: Compruebe el grupo de Auto Scaling (p. 17)
• Paso 4: Terminar una instancia en el grupo de Auto Scaling (p. 18)
• Paso 5: Pasos siguientes (p. 18)
• Paso 6: Eliminar recursos (p. 19)
• Cree una plantilla de configuración que defina las instancias EC2. Puede elegir la plantilla de
lanzamiento o las instrucciones de la configuración de lanzamiento. Aunque puede utilizar una
configuración de lanzamiento, le recomendamos una plantilla de lanzamiento para que pueda utilizar las
funcionalidades más recientes de Amazon EC2 y Amazon EC2 Auto Scaling.
• Cree un grupo de Auto Scaling con una instancia única.
• Finalice la instancia y compruebe que la instancia se quitó del servicio y se reemplazó. Para mantener
un número constante de instancias, Amazon EC2 Auto Scaling detecta y responde automáticamente a
las comprobaciones de estado y accesibilidad de Amazon EC2.
Si ha creado suAWShace menos de 12 meses, y aún no han superado elCapa gratuitaPara Amazon EC2,
no le supondrá ningún costo completar este tutorial, porque le ayudamos a seleccionar un tipo de instancia
que esté dentro de los beneficios de capa gratuita. De lo contrario, cuando se este tutorial, se aplicarán
14
Auto Scaling de Amazon EC2 Guía del usuario
Prepararse para el tutorial
cargos por uso de Amazon EC2 estándar desde el momento en que se lanza la instancia hasta que se
elimina el grupo de Auto Scaling (que es la última tarea de este tutorial) y el estado de la instancia cambia
a.terminated.
Si es nuevo en Amazon EC2 Auto Scaling y desea empezar a utilizar el servicio, puede utilizar
elpredeterminadaVPC deAWSaccount. La VPC predeterminada incluye una subred pública
predeterminada en cada zona de disponibilidad y una gateway de Internet asociada a la VPC. Puede ver
sus VPC en laPágina de VPCEn la consola de Amazon Virtual Private Cloud (Amazon VPC).
Tenga en cuenta que todos los procedimientos siguientes son para la nueva consola.
También puede utilizar una configuración de lanzamiento para crear un grupo de Auto Scaling en
lugar de utilizar una plantilla de lanzamiento. Para obtener las instrucciones de la configuración de
lanzamiento, consulte Create a launch configuration.
Si su cuenta tiene menos de 12 meses de antigüedad, puede utilizar una instancia t2.micro
de manera gratuita con determinados límites de uso. Para obtener más información,
consulteAWSCapa gratuita.
8. (Opcional) Para Key pair name (Nombre del par de claves), elija un par de claves existente. Los pares
de claves se utilizan durante la conexión SSH a una instancia de Amazon EC2. La conexión a una
instancia no se incluye como parte de este tutorial. Por lo tanto, no tiene que especificar un par de
claves a menos que tenga la intención de conectarse a su instancia.
9. LEAVEPlataforma deestablecido enVPC:.
15
Auto Scaling de Amazon EC2 Guía del usuario
Paso 1: Crear una plantilla de lanzamiento
10. ParaGrupos de seguridadSeleccione un grupo de seguridad en la misma VPC que piensa utilizar
como VPC para el grupo de Auto Scaling. Si no especifica ningún grupo de seguridad, la instancia se
asocia automáticamente al grupo de seguridad predeterminado de la VPC.
11. Puedes irteInterfaces de redVacío. Al dejar esta configuración vacía se crea una interfaz de red
principal con direcciones IP que seleccionamos para su instancia (en función de la subred a la que
está establecida la interfaz de red). Si en su lugar elige especificar una interfaz de red, el grupo de
seguridad debe formar parte de ella.
12. Elija Create launch template (Crear plantilla de lanzamiento).
13. En la página de confirmación, seleccioneGrupo de Auto Scaling.
Si actualmente no está utilizando plantillas de lanzamiento y prefiere no crear ninguna ahora, puede crear
una configuración de lanzamiento en su lugar.
Una configuración de lanzamiento es similar a una plantilla de lanzamiento, ya que especifica el tipo de
instancia EC2 que Amazon EC2 Auto Scaling crea automáticamente. Cree la configuración de lanzamiento
incluyendo información como, por ejemplo, el ID de la imagen de Amazon Machine (AMI) que se va a
utilizar, el tipo de instancia, el key pair y los grupos de seguridad.
Si su cuenta tiene menos de 12 meses de antigüedad, puede utilizar una instancia t2.micro
de manera gratuita con determinados límites de uso. Para obtener más información,
consulteAWSCapa gratuita.
6. UNDERConfiguración adicional, paraDetalles avanzados,Tipo de dirección IPHaga una selección
de. Para proporcionar conectividad a Internet a las instancias de una VPC, elija una opción que
asigne una dirección IP pública. Si una instancia se lanza en una VPC predeterminada, el valor
predeterminado es asignar una dirección IP pública. Si desea proporcionar conectividad a Internet a la
instancia pero no sabe con seguridad si dispone de una VPC predeterminada, elija Assign a public IP
address to every instance (Asignar una dirección IP pública a cada instancia).
7. ParaGrupos de seguridadSeleccione un grupo de seguridad existente. Si deja elCrear un nuevo grupo
de seguridadseleccionada, se configura una regla SSH predeterminada para las instancias de Amazon
EC2 que ejecutan Linux. Se configura una regla RDP predeterminada para instancias de Amazon EC2
que ejecutan Windows.
8. ParaPar de claves (inicio de sesión), elija una opción enOpciones de par de clavessegún las
instrucciones. La conexión a una instancia no se incluye como parte de este tutorial. Por tanto, puede
seleccionar Proceed without a key pair a menos que pretenda conectarse a la instancia.
16
Auto Scaling de Amazon EC2 Guía del usuario
Paso 2: Cree un grupo de Auto Scaling de instancia única
Utilice el siguiente procedimiento para continuar donde lo dejó después de crear una plantilla de
lanzamiento o una configuración de lanzamiento.
Aparece la página Configure settings (Configurar ajustes), que le permite configurar los ajustes de
red y le ofrece opciones para lanzar instancias bajo demanda e instancias de spot en varios tipos de
instancia (si elige una plantilla de lanzamiento).
3. [Solo plantilla de lanzamiento] MantenerOpciones de compra y tipos de instanciaestablecido
enAdherirse a la plantilla de lanzamiento.
4. ConservarRedConfigure la VPC predeterminada para suAWSEn la región o seleccione su propia VPC.
La VPC predeterminada se configura automáticamente para proporcionar conectividad a Internet a la
instancia. Esta VPC incluye una subred pública en cada zona de disponibilidad de la región.
5. En Subnet (Subred), elija una subred de cada zona de disponibilidad que desee incluir. Utilice
subredes en varias zonas de disponibilidad para lograr una alta disponibilidad.
6. Mantenga el resto de los valores predeterminados para este tutorial y elija Skip to review (Omitir para
revisar).
Note
El tamaño inicial del grupo está determinado por su capacidad deseada. El valor
predeterminado es instancia 1.
7. En la páginaReview (Revisar)En la página de, revise la información del grupo de y, a continuación,
elijaGrupo de Auto Scaling.
Se abre un panel dividido en la parte inferior de la página Grupos de Auto Scaling, que muestra
información sobre el grupo. La primera pestaña disponible es laDetalles deEn ella se muestra
información sobre el grupo de Auto Scaling de.
17
Auto Scaling de Amazon EC2 Guía del usuario
Paso 4: Terminar una instancia en el grupo de Auto Scaling
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.
Esto le lleva aInstanciasEn la consola de Amazon EC2, donde puede terminar la instancia.
4. Elija Actions (Acciones), Instance State (Estado de la instancia), Terminate (Terminar). Cuando se le
pida confirmación, elija Yes, Terminate.
5. En el panel de navegación, elija AUTO SCALING y elija Auto Scaling Groups (Grupos de Auto
Scaling). Seleccione el grupo de Auto Scaling y elija laActividadPestaña.
• Escale manualmente el grupo de Auto Scaling. Para obtener más información, consulte Escalado
manual (p. 126).
18
Auto Scaling de Amazon EC2 Guía del usuario
Paso 6: Eliminar recursos
Si ha iniciado una instancia que no está dentro de laAWSCapa gratuitaPara evitar cargos adicionales, debe
terminar la instancia. Cuando termine la instancia, los datos asociados con ella también se eliminarán.
19
Auto Scaling de Amazon EC2 Guía del usuario
Antes de explorar este tutorial, le recomendamos que consulte el siguiente tutorial de introducción:
Cómo empezar a utilizar Amazon EC2 Auto Scaling (p. 14).
Registrar el grupo de Auto Scaling con un balanceador de carga Elastic Load Balancing, ayuda a
configurar una aplicación con balanceo de carga. Elastic Load Balancing funciona con Amazon EC2
Auto Scaling para distribuir el tráfico entrante entre las instancias de Amazon EC2 en buen estado. Esto
aumenta la escalabilidad y disponibilidad de la aplicación. Puede habilitar Elastic Load Balancing en varias
zonas de disponibilidad para aumentar la tolerancia a errores de sus aplicaciones.
En este tutorial, tratamos los pasos básicos para configurar una aplicación con balanceo de carga al
crear el grupo de Auto Scaling. Cuando haya finalizado, la arquitectura debe ser similar a la del diagrama
siguiente:
Elastic Load Balancing Le recomendamos utilizar un Application Load Balancer para este tutorial.
20
Auto Scaling de Amazon EC2 Guía del usuario
Prerequisites
Para obtener más información sobre cómo introducir un equilibrador de carga en la arquitectura,
consulteElastic Load Balancing y Amazon EC2 Auto Scaling (p. 90).
Tareas
• Prerequisites (p. 21)
• Paso 1: Configurar una plantilla de lanzamiento o una configuración de lanzamiento (p. 21)
• Paso 2: Creación de un grupo de Auto Scaling (p. 24)
• Paso 3: Compruebe que el balanceador de carga está adjunto (p. 25)
• Paso 4: Pasos siguientes (p. 25)
• Paso 5: Eliminar recursos (p. 25)
Prerequisites
• Un balanceador de carga y un grupo de destino. Asegúrese de elegir las mismas zonas de disponibilidad
para el balanceador de carga que tiene previsto utilizar para el grupo de Auto Scaling. Para obtener
más información, consulteIntroducción a Elastic Load Balancingen laGuía del usuario de Elastic Load
Balancing.
• Un grupo de seguridad para la plantilla de inicio o la configuración de inicio. El grupo de seguridad debe
permitir el acceso desde el balanceador de carga en el puerto de escucha (normalmente el puerto 80
para tráfico HTTP) y el puerto que desea que utilice Elastic Load Balancing para comprobaciones de
estado. Para obtener más información, consulte la documentación aplicable:
• Grupos de seguridad de destinoen laGuía del usuario para Application Load Balancers
• Grupos de seguridad de destinoen laGuía del usuario para Network Load Balancers
De forma opcional, si las instancias tendrán direcciones IP públicas, puede permitir que el tráfico SSH se
conecte a las instancias.
• (Opcional) Un rol de IAM que conceda acceso a la aplicación aAWS.
• (Opcional) Una imagen de Amazon Machine (AMI) definida como plantilla de origen de las instancias
de Amazon EC2. Para crear una, lance una instancia. Especifique el rol de IAM (si ha creado uno) y
todos los scripts de configuración que necesite como datos de los usuarios. Conéctese a la instancia y
personalícela. Por ejemplo, puede instalar software y aplicaciones, copiar datos y adjuntar volúmenes
EBS adicionales. Pruebe la aplicación en la instancia para asegurarse de que se ha configurado
correctamente. Guarde esta configuración actualizada como una AMI personalizada. Si no necesita la
instancia más tarde, puede terminarla. Las instancias que se lancen desde la nueva AMI personalizada
incluirán todas las configuraciones que definió al crearla.
• Una nube virtual privada (VPC). En este tutorial se hace referencia a la VPC predeterminada, pero
puede utilizar la suya propia. Si utiliza su propia VPC, asegúrese de que tiene una subred asignada
a cada zona de disponibilidad de la región en la que esté trabajando. Como mínimo, debe tener dos
subredes públicas disponibles para crear el balanceador de carga. Debe tener dos subredes privadas o
dos subredes públicas para crear el grupo de Auto Scaling y registrarlo en el balanceador de carga.
Tenga en cuenta que todos los procedimientos siguientes son para la nueva consola.
21
Auto Scaling de Amazon EC2 Guía del usuario
Paso 1: Configurar una plantilla de lanzamiento
o una configuración de lanzamiento
Si ya tiene una plantilla de lanzamiento que desea utilizar, selecciónela mediante el siguiente
procedimiento.
Note
También puede utilizar una configuración de lanzamiento en lugar de una plantilla de lanzamiento.
Para obtener las instrucciones de la configuración de lanzamiento, consulte Seleccione o cree una
configuración de lanzamiento (p. 23).
También puede crear una nueva plantilla de lanzamiento mediante el siguiente procedimiento.
a. Elija Add network interface. En este tutorial, utilice la opción para especificar la interfaz de red.
b. (Opcional) En Auto-assign public IP (Asignar automáticamente IP pública), mantenga el valor
predeterminado Don't include in launch template (No incluir en la plantilla de lanzamiento). Al
crear el grupo de Auto Scaling, puede asignar una dirección IP pública a instancias del grupo
de Auto Scaling mediante subredes que tengan habilitado el atributo de direccionamiento de IP
públicas, como las subredes predeterminadas de la VPC predeterminada. Alternativamente, si
no necesita conectarse a sus instancias, puede elegirDeshabilitarpara evitar que las instancias
de su grupo reciban tráfico directamente de Internet. En este caso, recibirán tráfico solo desde el
balanceador de carga.
c. ParaID de grupo de seguridad, especifique un grupo de seguridad para las instancias de la misma
VPC que el equilibrador de carga.
d. ParaEliminar al terminar, elijaSí. De este modo, se elimina la interfaz de red cuando se reduce el
tamaño del grupo de Auto Scaling y se termina la instancia a la que está conectada la interfaz de
red.
9. (Opcional) Para distribuir de forma segura credenciales a las instancias, en Advanced details (Detalles
avanzados), IAM instance profile (Perfil de instancia de IAM), escriba el Nombre de recurso de
Amazon (ARN) de su rol de IAM.
10. (Opcional) Para especificar los datos de usuario o un script de configuración para las instancias,
pegue los datos o el script en Advanced details, User data.
22
Auto Scaling de Amazon EC2 Guía del usuario
Seleccione o cree una configuración de lanzamiento
También puede crear una nueva configuración de lanzamiento mediante el siguiente procedimiento.
a. (Opcional) Para distribuir de forma segura credenciales a la instancia EC2, paraPerfil de instancia
IAM, seleccione su rol de IAM. Para obtener más información, consulte Función de IAM para
aplicaciones que se ejecutan en instancias Amazon EC2 (p. 300).
b. (Opcional) Para especificar los datos de usuario o un script de configuración para su instancia,
pegue el script enDetalles avanzados,Datos de usuario.
c. (Opcional) ParaDetalles avanzados,Tipo de dirección IP, mantenga el valor predeterminado. Al
crear el grupo de Auto Scaling, puede asignar una dirección IP pública a instancias del grupo
de Auto Scaling mediante subredes que tengan habilitado el atributo de direccionamiento de IP
públicas, como las subredes predeterminadas de la VPC predeterminada. Alternativamente, si no
necesita conectarse a sus instancias, puede elegirNo asigne una dirección IP pública a ninguna
instanciapara evitar que las instancias de su grupo reciban tráfico directamente de Internet. En
este caso, recibirán tráfico solo desde el balanceador de carga.
7. ParaGrupos de seguridad, elija un grupo de seguridad existente de la misma VPC que el equilibrador
de carga. Si mantiene elCree un nuevo grupo de seguridadseleccionada, se configura una regla SSH
predeterminada para las instancias de Amazon EC2 que ejecutan Linux. Se configura una regla RDP
predeterminada para instancias de Amazon EC2 que ejecutan Windows.
8. ParaPar de claves (inicio de sesión), elija una opción enOpciones de par de claves.
Si aún no tiene un key pair de instancia de Amazon EC2, elijaCree un nuevo key pairY asígnele un
nombre reconocible. Seleccionarkey pairPara descargar el key pair en su equipo.
23
Auto Scaling de Amazon EC2 Guía del usuario
Paso 2: Creación de un grupo de Auto Scaling
Important
En la páginaConfigurar ajustesPuede configurar los ajustes de red y optar por diversificar entre
instancias bajo demanda e instancias de spot de varios tipos de instancia (si elige una plantilla de
lanzamiento).
4. [Solo plantilla de lanzamiento] Mantenga el ajuste Purchase options and instance types (Opciones de
compra y tipos de instancia) establecido en Adhere to the launch template (Adherirse a la plantilla de
lanzamiento) para utilizar el tipo de instancia EC2 y la opción de compra especificados en la plantilla
de lanzamiento.
5. En Network (Red), elija la VPC que haya utilizado para el balanceador de carga. Si elige la VPC
predeterminada, se configura automáticamente para proporcionar conectividad a Internet a las
instancias. Esta VPC incluye una subred pública en cada zona de disponibilidad de la región.
6. En Subnet (Subred), seleccione una o varias subredes de cada zona de disponibilidad que desee
incluir, en función de las zonas de disponibilidad en las que se encuentre el balanceador de carga.
7. Seleccione Siguiente.
8. En la páginaConfigure las opciones avanzadaspágina, enBalanceo de carga, elijaAsociar a un
equilibrador de carga existente.
9. SeleccionarElija entre los grupos de destino del equilibrador de cargaY elija el grupo de destino para el
balanceador de carga que creó.
10. (Opcional) Para utilizar las comprobaciones de estado de Elastic Load Balancing,
paraComprobaciones de estado, elijaELBUNDERTipo de comprobación de estado.
11. Cuando haya terminado de configurar el grupo de Auto Scaling, elijaIr a revisión.
12. En la páginaReview (Revisar)Revise los detalles del grupo de Auto Scaling. Si desea realizar cambios,
haga clic en Edit. Cuando haya terminado, seleccioneGrupo de Auto Scaling.
Después de crear el grupo de Auto Scaling con el balanceador de carga asociado, el balanceador de
carga registra automáticamente nuevas instancias a medida que se conectan. Solo tiene una instancia
en este punto, por lo que no hay mucho que registrar. Sin embargo, puede agregar más instancias
actualizando la capacidad deseada del grupo. Para obtener instrucciones paso a paso, consulte Escalado
manual (p. 126).
24
Auto Scaling de Amazon EC2 Guía del usuario
Paso 3: Compruebe que el
balanceador de carga está adjunto
1. Desde elPágina Grupos de Auto ScalingEn la consola de Amazon EC2, seleccione la casilla situada
junto a su grupo de Auto Scaling.
2. En la páginaDetalles dePestaña,Balanceo de cargaMuestra todos los grupos de destino del
balanceador de carga asociado o balanceadores de carga clásicos.
3. En la páginaActividad, enHistorial de actividad, puede verificar que las instancias se hayan lanzado
correctamente. LaEstadoLa columna muestra si su grupo de Auto Scaling ha lanzado instancias
correctamente. Si las instancias no se inician, puede encontrar ideas de solución de problemas para
problemas de lanzamiento de instancias comunes enSolución de problemas de Auto Scaling de
Amazon EC2 (p. 309).
4. En la páginaAdministración de instancias, enInstancias, puede verificar que las instancias están listas
para recibir tráfico. Inicialmente, las instancias están en estado Pending. Cuando una instancia está
lista para recibir tráfico, su estado es InService. LaEstadoLa columna muestra el resultado de las
comprobaciones de estado de Auto Scaling de Amazon EC2 en sus instancias. Aunque una instancia
pueda estar marcada en buen estado, el balanceador de carga solo enviará tráfico a instancias que
pasen las comprobaciones de estado del balanceador de carga.
5. Verifique que las instancias estén registradas en el balanceador de carga. Abra el iconoPágina Grupos
de destinode la consola de Amazon EC2. Seleccione el grupo de destino y elija la pestaña Targets
(Destinos). Si el estado de las instancias esinitial, es probable que se deba a que todavía están en
proceso de registrarse, o que todavía están siendo sometidos a controles de salud. Cuando el estado
de las instancias sea healthy, están listas para utilizarse.
• Puede configurar el grupo de Auto Scaling para utilizar las comprobaciones de estado de Elastic Load
Balancing. Si habilita las comprobaciones de estado del balanceador de carga y una instancia no supera
las comprobaciones de estado, el grupo de Auto Scaling considera que la instancia no está en buen
estado y la sustituye. Para obtener más información, consulte Agregar comprobaciones de estado de
ELB (p. 95).
• Puede ampliar la aplicación a una zona de disponibilidad adicional de la misma región para aumentar
la tolerancia a errores si hay interrupción del servicio. Para obtener más información, consulte Agregar
zonas de disponibilidad de (p. 96).
• Puede configurar el grupo de Auto Scaling para utilizar una política de escalado de seguimiento de
destino. Esto aumenta o disminuye automáticamente el número de instancias a medida que cambia la
demanda de las instancias. Esta permite que el grupo controle los cambios en la cantidad de tráfico que
recibe la aplicación. Para obtener más información, consulte Políticas de escalado de seguimiento de
destino (p. 138).
25
Auto Scaling de Amazon EC2 Guía del usuario
Paso 5: Eliminar recursos
Un icono de carga en el cuadro de diálogoNombreLa columna indica que el grupo de Auto Scaling se
ha eliminado. Cuando se ha producido la eliminación, elDeseado,Mín (Mínimo), yMax (Máximo)Las
columnas muestran0del grupo de Auto Scaling de. Se tarda unos minutos en terminar la instancia y
eliminar el grupo. Actualice la lista para ver el estado actual.
Omita el siguiente procedimiento si desea conservar el balanceador de carga para usarlo en el futuro.
26
Auto Scaling de Amazon EC2 Guía del usuario
Plantillas de lanzamiento
Una plantilla de lanzamiento es similar a una configuración de lanzamiento (p. 42), ya que sirve para
especificar la información de configuración de las instancias. Por ejemplo, incluye el ID de la imagen
de máquina de Amazon (AMI), el tipo de instancia, un par de claves, los grupos de seguridad y el resto
de los parámetros que se utilizan para lanzar instancias EC2. No obstante, la definición de una plantilla
de lanzamiento en lugar de una configuración de lanzamiento le permite tener varias versiones de una
plantilla. Con el control de versiones, puede crear un subconjunto del conjunto completo de parámetros
y, después, reutilizarlo para crear otras plantillas o versiones de plantilla. Por ejemplo, puede crear una
plantilla predeterminada que defina parámetros de configuración comunes, , y permitir que los demás
parámetros se especifiquen como parte de otra versión de la misma plantilla.
Le recomendamos que cree grupos de Auto Scaling a partir de plantillas de lanzamiento para asegurarse
de que tiene acceso a las características y mejoras más recientes. Si tiene previsto seguir utilizando
configuraciones de lanzamiento con Amazon EC2 Auto Scaling, tenga en cuenta que no todas las
características de los grupos de Auto Scaling están disponibles. Por ejemplo, no puede crear un grupo
de Auto Scaling que lance instancias de spot y bajo demanda o que especifique varios tipos de instancia
o varias plantillas de lanzamiento. Debe utilizar una plantilla de lanzamiento para configurar estas
características. Para obtener más información, consulte Grupos de Auto Scaling con varios tipos de
instancias y opciones de compra (p. 56).
Además de las características de Amazon EC2 Auto Scaling que puede configurar mediante plantillas de
lanzamiento, las plantillas de lanzamiento le permiten utilizar características más recientes de Amazon
EC2. Esto incluye la generación actual de volúmenes de IOPS aprovisionadas de EBS (io2), etiquetado de
volúmenes de EBS,T2 Instancias ilimitadas, inferencia elástica, yHosts dedicados, por nombrar algunos.
Los hosts dedicados son servidores físicos con capacidad para instancias EC2 dedicados completamente
a su uso. Mientras Amazon EC2Instancias dedicadastambién se ejecutan en hardware dedicado, la ventaja
de usar hosts dedicados sobre instancias dedicadas es que puede traer licencias de software elegibles de
proveedores externos y usarlas en instancias EC2.
Para crear una plantilla de lanzamiento para usarla con un grupo de Auto Scaling, cree la plantilla desde
cero, cree una nueva versión de una plantilla existente o copie los parámetros de una configuración de
lanzamiento, una instancia en ejecución u otra plantilla.
Cuando cree o actualice un grupo de Auto Scaling con una plantilla de lanzamiento, debe tener suficientes
permisos. Para obtener más información, consulte Soporte para plantillas de lanzamiento de (p. 295).
En los siguientes temas se describen los procedimientos más comunes para crear y trabajar con
plantillas de lanzamiento para usar con sus grupos de Auto Scaling. Para obtener más información
acerca de las plantillas de lanzamiento, consulte laLanzamiento de una instancia desde una plantilla de
lanzamientoSección sobre de laGuía del usuario de Amazon EC2 para instancias de Linux.
Contenido
• Creación de una plantilla de lanzamiento para un grupo de Auto Scaling (p. 28)
• Copiar una configuración de lanzamiento en una plantilla de lanzamiento (p. 34)
• Sustituir una configuración de lanzamiento por una plantilla de lanzamiento (p. 35)
• Ejemplos de creación y administración de plantillas de lanzamiento con elAWS Command Line
Interface(AWS CLI) (p. 36)
27
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una plantilla de lanzamiento
para un grupo de Auto Scaling
Una plantilla de lanzamiento proporciona funcionalidad completa para Amazon EC2 Auto Scaling y
también funciones más recientes de Amazon EC2, como la generación actual de volúmenes de IOPS
aprovisionadas de EBS (io2), etiquetado de volúmenes de EBS, instancias de T2 Unlimited, inferencia
elástica y hosts dedicados.
El procedimiento siguiente sirve para crear una plantilla de lanzamiento nueva. Después de crear la
plantilla de lanzamiento, puede crear el grupo de Auto Scaling siguiendo las instrucciones deCrear un
grupo de Auto Scaling mediante una plantilla de lanzamiento (p. 79).
Contenido
• Creación de una plantilla de lanzamiento (consola) (p. 28)
• Para crear una plantilla de lanzamiento a partir de una instancia existente (consola) (p. 33)
• Creación de una plantilla de lanzamiento (AWS CLI) (p. 34)
• Limitations (p. 34)
• Especifique la imagen de máquina de Amazon (AMI) desde la que desea lanzar las instancias.
• Elija un tipo de instancia que sea compatible con la AMI especificada.
• Especifique el key pair que se usará al conectarse a instancias, por ejemplo, mediante SSH.
• Agregue uno o más grupos de seguridad para permitir el acceso relevante a las instancias de una red
externa.
• Especifique si desea asociar volúmenes de EBS o volúmenes de almacén de instancias adicionales a
cada instancia.
• Agregue etiquetas personalizadas (pares clave-valor) a las instancias y los volúmenes.
a. Imagen de máquina de Amazon (AMI): Elija el ID de la AMI desde la que desea lanzar las
instancias. Puede buscar todas las AMI disponibles o, en la lista Quick Start (Inicio rápido),
28
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una plantilla de lanzamiento (consola)
seleccionar una de las AMI de uso común de la lista. Si no ve la AMI que necesita, puede buscar
una AMI adecuada, tomar nota de su ID y especificarla como un valor personalizado.
b. Tipo de instancia: Elija el iconotipo de instancia.
c. (Opcional)Par de claves (inicio de sesión): Especifique unpar de claves.
6. (Opcional) EnNetwork settings (Configuración de red), realice una de las siguientes opciones:
a. Plataforma de red: Elija si desea lanzar las instancias en una VPC o EC2-Classic, si procede.
No obstante, los ajustes de tipo de red y zona de disponibilidad de la plantilla de lanzamiento se
ignoran para Amazon EC2 Auto Scaling en favor de la configuración del grupo de Auto Scaling.
b. Grupos de seguridad: Elija uno o variosGrupos de seguridad deO déjelo en blanco para configurar
uno o varios grupos de seguridad como parte de la interfaz de red. Cada grupo de seguridad
debe configurarse para la VPC en la que el grupo de Auto Scaling lanzará las instancias. Si está
utilizando EC2-Classic, debe utilizar grupos de seguridad creados específicamente para EC2-
Classic.
a. Tipo de volumen: El tipo de volumen depende del tipo de instancia que haya elegido. Cada tipo de
instancia tiene un volumen de dispositivo raíz asociado, ya sea un volumen de Amazon EBS o un
volumen de almacén de instancias. Para obtener más información, consulteAlmacén de instancias
Amazon EC2yVolúmenes de Amazon EBSen laGuía del usuario de Amazon EC2 para instancias
de Linux.
b. Nombre del dispositivo: Especifique un nombre de dispositivo para el volumen.
c. Snapshot: Introduzca el ID de la instantánea desde la que desea crear el volumen.
d. Tamaño (GiB): Especifique un tamaño de almacenamiento para los volúmenes respaldados
por Amazon EBS. Si está creando el volumen a partir de una instantánea y no se especifica un
tamaño de volumen, el valor predeterminado es el de la instantánea.
e. Tipo de volumen: En los volúmenes de Amazon EBS, elija la opciónTipo de volumen.
f. IOPS: Con un volumen SSD de IOPS provisionadas, escriba el número máximo de operaciones
de entrada/salida por segundo (IOPS) que debe admitir.
g. Eliminar al terminar: En los volúmenes de Amazon EBS, decida si eliminar el volumen cuando se
termine la instancia asociada.
h. Encrypted: SeleccionarSíPara cambiar el estado de cifrado de un volumen de Amazon EBS.
El efecto predeterminado de configurar este parámetro varía según la elección de volumen de
origen, tal y como se describe en la tabla que se muestra a continuación. En todos los casos,
debe tener permiso para utilizar la CMK especificada. Para obtener más información acerca de
cómo especificar volúmenes cifrados, consulteAmazon EBS encryptionen laGuía del usuario de
Amazon EC2 para instancias de Linux.
29
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una plantilla de lanzamiento (consola)
* Si el cifrado predeterminado está habilitado, todos los volúmenes que acaba de crear (tanto si
el parámetro de Encrypted (Cifrado) está establecido en Yes (Sí) como si no lo está) se cifran
mediante la CMK predeterminada. El establecimiento de los parámetros Encrypted (Cifrado) y Key
(Clave) le permite especificar una CMK no predeterminada.
i. Clave de: Si eligióSíEn el paso anterior, opcionalmente escriba la clave maestra de cliente (CMK)
que desee utilizar al cifrar los volúmenes. Especifique un CMK que haya creado anteriormente
utilizando AWS Key Management Service. Puede pegar el ARN completo de cualquier clave
a la que tenga acceso. Para obtener más información, consulte laAWS Key Management
ServiceGuía para desarrolladoresy laPolítica de claves CMK necesarias para su uso con
volúmenes cifrados (p. 301)en esta guía. Nota: Amazon EBS no admite CMK asimétricas.
Note
Proporcionar una CMK sin establecer también el parámetro Encrypted (Cifrado) da como
resultado un error.
8. En Instance tags (Etiquetas de instancia), especifique etiquetas proporcionando combinaciones de
clave y valor. Puede etiquetar las instancias, los volúmenes o ambos.
9. Para cambiar la interfaz de red predeterminada, consulteCambio de la interfaz de red
predeterminada (p. 31). Omita este paso si desea mantener la interfaz de red predeterminada (la
interfaz de red principal).
10. Para configurar opciones avanzadas, consulte Configuración de opciones avanzadas para la plantilla
de lanzamiento (p. 32). De lo contrario, elijaCrear plantilla de lanzamiento.
11. Para crear un grupo de Auto Scaling, elijaGrupo de Auto ScalingEn la página de confirmación.
30
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una plantilla de lanzamiento (consola)
Condiciones y limitaciones
Al especificar una interfaz de red, tenga en cuenta las siguientes consideraciones y limitaciones:
31
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una plantilla de lanzamiento (consola)
En los siguientes pasos se analizan los ajustes más útiles a los que se debe prestar atención. Para obtener
más información acerca de cualquiera de las opciones de enDetalles avanzados, consulteCreación de una
plantilla de lanzamientoen laGuía del usuario de Amazon EC2 para instancias de Linux.
32
Auto Scaling de Amazon EC2 Guía del usuario
Para crear una plantilla de lanzamiento a
partir de una instancia existente (consola)
capacidad. Para obtener más información, consulteLanzar instancias en una Reserva de capacidad
existenteen laGuía del usuario de Amazon EC2 para instancias de Linux.
9. ParaPropiedad, puede elegir ejecutar sus instancias en hardware compartido (Compartido), en
hardware dedicado (Dedicado), o cuando se utiliza un grupo de recursos de host, en Hosts Dedicados
(host dedicado). Podrían aplicarse cargos adicionales.
Para obtener más información, consulteConfiguración del servicio de metadatos de instanciaen laGuía
del usuario de Amazon EC2 para instancias de Linux.
12. ParaDatos de usuarioDespués de iniciar la instancia, puede especificar los datos de usuario para
configurar una instancia o para ejecutar un script de configuración después de que se inicie la
instancia.
13. Elija Create launch template (Crear plantilla de lanzamiento).
14. Para crear un grupo de Auto Scaling, elijaGrupo de Auto ScalingEn la página de confirmación.
33
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una plantilla de lanzamiento (AWS CLI)
Limitations
• Una plantilla de lanzamiento le permite configurar un tipo de red (VPC o EC2-Classic), una subred y una
zona de disponibilidad. Sin embargo, estos parámetros se ignoran a favor de lo que se especifica en el
grupo Auto Scaling.
• Dado que la configuración de subred de la plantilla de inicio se ignora a favor de lo que se especifica
en el grupo Auto Scaling, todas las interfaces de red que se crean para una instancia determinada se
conectarán a la misma subred que la instancia. Para ver otras limitaciones en las interfaces de red
definidas por el usuario, consulteCambio de la interfaz de red predeterminada (p. 31).
• Una plantilla de lanzamiento le permite configurar ajustes adicionales en el grupo de Auto Scaling para
lanzar varios tipos de instancia y combinar opciones de compra bajo demanda y spot, como se describe
enGrupos de Auto Scaling con varios tipos de instancias y opciones de compra (p. 56). No se admite
el lanzamiento de instancias con esa combinación:
• Si especifica una solicitud de instancia de spot en la plantilla de lanzamiento
• En EC2-Classic
• La compatibilidad con hosts dedicados (tenencia de host) solo está disponible si especifica un grupo de
recursos de host. No puede dirigirse a un ID de host específico ni utilizar afinidad de ubicación de host.
Puede crear plantillas de lanzamiento a partir de configuraciones de lanzamiento existentes para poder
actualizar fácilmente los grupos de Auto Scaling de forma que utilicen plantillas de lanzamiento. Al igual
que las configuraciones de lanzamiento, las plantillas de lanzamiento pueden contener algunos o todos los
parámetros necesarios para lanzar una instancia. Con las plantillas de lanzamiento, también puede crear
varias versiones de una plantilla para que le resulte más rápido y sencillo lanzar nuevas instancias.
Para crear una plantilla de lanzamiento a partir de una configuración de lanzamiento (consola)
34
Auto Scaling de Amazon EC2 Guía del usuario
Sustituir una configuración de lanzamiento
por una plantilla de lanzamiento
4. En New launch template name (Nombre de la nueva plantilla de lanzamiento), puede utilizar el
nombre de la configuración de lanzamiento (el valor predeterminado) o escribir un nuevo nombre. Los
nombres de las plantillas de lanzamiento deben ser únicos.
5. (Opcional) Para crear un grupo de Auto Scaling que utilice la nueva plantilla de lanzamiento,
seleccione Crear un grupo de Auto Scaling mediante la nueva plantilla. Para obtener más información,
consulte Crear un grupo de Auto Scaling mediante una plantilla de lanzamiento (p. 79).
6. Elija Copy.
Después de crear la plantilla de lanzamiento, puede actualizar sus grupos de Auto Scaling, según sea
necesario, con la plantilla de lanzamiento que ha creado. Para obtener más información, consulte Sustituir
una configuración de lanzamiento por una plantilla de lanzamiento (p. 35).
Prerequisites
Para poder reemplazar una configuración de lanzamiento en un grupo de Auto Scaling, primero debe
crear la plantilla de lanzamiento. La forma más sencilla de crear una plantilla de lanzamiento es copiarla
de la configuración de lanzamiento. Para obtener más información, consulte Copiar una configuración de
lanzamiento en una plantilla de lanzamiento (p. 34).
Cuando reemplaza una configuración de lanzamiento por una plantilla de lanzamiento, se comprueban
los permisos ec2:RunInstances. Si está intentando utilizar una plantilla de lanzamiento y no
tiene suficientes permisos, recibirá un error que indica que no está autorizado a utilizar la plantilla
de lanzamiento. Para obtener más información acerca de los permisos de IAM necesarios, consulte,
consulteSoporte para plantillas de lanzamiento de (p. 295).
Se abre un panel dividido en la parte inferior de la página, que muestra información sobre el grupo
seleccionado.
35
Auto Scaling de Amazon EC2 Guía del usuario
AWS CLIEjemplos de uso de plantillas de lanzamiento
• update-auto-scaling-group(AWS CLI)
• Update asAutoScalingGroup(AWS Tools for Windows PowerShell)
Para obtener ejemplos de uso de un comando CLI para actualizar un grupo de Auto Scaling para utilizar
una plantilla de inicio, consulteActualización de un grupo de Auto Scaling para utilizar una plantilla de
lanzamiento (p. 41).
Contenido
• Creación de una plantilla de lanzamiento simple (p. 36)
• Especificación de etiquetas que etiquetan instancias en la creación (p. 37)
• Especificación de una interfaz de red existente (p. 37)
• Asignación de direcciones IP públicas (p. 38)
• Añadir una interfaz de red secundaria (p. 38)
• Creación de múltiples interfaces de red habilitadas para EFA (p. 38)
• Especificación de una asignación de dispositivos de bloques (p. 39)
• Administrar las plantillas de lanzamiento (p. 39)
• Actualización de un grupo de Auto Scaling para utilizar una plantilla de lanzamiento (p. 41)
36
Auto Scaling de Amazon EC2 Guía del usuario
Especificación de etiquetas que
etiquetan instancias en la creación
Para obtener más información acerca de cómo citar parámetros formateados en JSON,
consulteEntrecomillado de cadenas en laAWS CLIen laAWS Command Line InterfaceGuía del usuario de.
En el ejemplo siguiente se crea una plantilla de inicio simple, que hace referencia a un archivo de
configuración para los valores de parámetros de plantilla de inicio.
Contenido deconfig.json:
{
"ImageId":"ami-04d5cc9b88example",
"InstanceType":"t2.micro",
"SecurityGroupIds":["sg-903004f88example"]
}
37
Auto Scaling de Amazon EC2 Guía del usuario
Asignación de direcciones IP públicas
--launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"NetworkInterfaceId":"eni-
b9a5ac93","DeleteOnTermination":false}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Note
Si se conectan varias interfaces de red de la misma subred a una instancia, se puede introducir
un direccionamiento asimétrico, especialmente en instancias que utilicen una variante de Linux
que no sea de Amazon. Si necesita este tipo de configuración, debe configurar la interfaz de red
secundaria dentro del sistema operativo. Para ver un ejemplo, consulte .¿Cómo puedo hacer
que mi interfaz de red secundaria funcione en mi instancia de Ubuntu EC2?en laAWSCentro de
conocimiento de.
38
Auto Scaling de Amazon EC2 Guía del usuario
Especificación de una asignación de dispositivos de bloques
Warning
El tipo de instancia p4d.24xlarge incurre en costos más altos que los otros ejemplos de
esta sección. Para obtener más información acerca de los precios de las instancias de P4d,
consultePrecios de las Amazon EC2 instancias P4d.
Contenido
• Listado y descripción de las plantillas de lanzamiento (p. 39)
• Creación de una versión de una plantilla de lanzamiento (p. 40)
• Eliminación de una versión de una plantilla de lanzamiento (p. 41)
• Eliminación de una plantilla de lanzamiento (p. 41)
{
"LaunchTemplates": [
{
"LaunchTemplateId": "lt-068f72b729example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"CreateTime": "2020-02-28T19:52:27.000Z",
39
Auto Scaling de Amazon EC2 Guía del usuario
Administrar las plantillas de lanzamiento
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"DefaultVersionNumber": 1,
"LatestVersionNumber": 1
}
]
}
{
"LaunchTemplateVersions": [
{
"VersionDescription": "version1",
"LaunchTemplateId": "lt-068f72b729example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"VersionNumber": 1,
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"LaunchTemplateData": {
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{
"Key": "purpose",
"Value": "webserver"
}
]
}
],
"ImageId": "ami-04d5cc9b88example",
"InstanceType": "t2.micro",
"NetworkInterfaces": [
{
"DeviceIndex": 0,
"DeleteOnTermination": true,
"Groups": [
"sg-903004f88example"
],
"AssociatePublicIpAddress": true
}
]
},
"DefaultVersion": true,
"CreateTime": "2020-02-28T19:52:27.000Z"
}
]
}
40
Auto Scaling de Amazon EC2 Guía del usuario
Actualización de un grupo de Auto Scaling
para utilizar una plantilla de lanzamiento
Si cambia su grupo de Auto Scaling de usar una configuración de inicio, asegúrese de que sus
permisos estén actualizados. Para usar una plantilla de inicio, necesita permisos específicos. Para
obtener más información, consulte Soporte para plantillas de lanzamiento de (p. 295).
41
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una configuración de lanzamiento
Configuraciones de lanzamiento
Important
Aconfiguración de lanzamientoEs una plantilla de configuración de instancias que usa un grupo de Auto
Scaling para lanzar instancias EC2. Cuando se crea una configuración de lanzamiento, se especifica
información sobre las instancias. Incluya el ID de la imagen de máquina de Amazon (AMI), el tipo de
instancia, un par de claves, uno o varios grupos de seguridad y un mapeo de dispositivos de bloques. Si
ha lanzado una instancia EC2 con anterioridad, habrá especificado la misma información para lanzar la
instancia.
Puede especificar la configuración de lanzamiento con varios grupos de Auto Scaling. Sin embargo, solo
puede especificar una configuración de lanzamiento para un grupo de Auto Scaling cada vez y no puede
modificar una configuración de lanzamiento una vez creada. Para cambiar la configuración de lanzamiento
de un grupo de Auto Scaling, debe crear una configuración de lanzamiento y, a continuación, actualizar el
grupo de Auto Scaling con ella.
Tenga en cuenta que cuando crea un grupo de Auto Scaling, debe especificar una configuración de
lanzamiento, una plantilla de lanzamiento o una instancia EC2. Al crear un grupo de Auto Scaling con una
instancia EC2, Amazon EC2 Auto Scaling crea automáticamente una configuración de lanzamiento y la
asocia al grupo de Auto Scaling. Para obtener más información, consulte Creación de un grupo de Auto
Scaling mediante una instancia de EC2 (p. 83). Además, si está utilizando plantillas de lanzamiento,
puede especificar una plantilla de lanzamiento en lugar de una configuración de lanzamiento o una
instancia EC2. Para obtener más información, consulte Plantillas de lanzamiento (p. 27).
Contenido
• Creación de una configuración de lanzamiento (p. 42)
• Creación de una configuración de lanzamiento mediante una instancia EC2 (p. 46)
• Cambiar la configuración de lanzamiento de un grupo de Auto Scaling (p. 50)
• Solicitud de instancias puntuales para aplicaciones flexibles y tolerantes a errores (p. 51)
• Configuración del arrendamiento de instancias con una configuración de inicio (p. 52)
42
Auto Scaling de Amazon EC2 Guía del usuario
Creación de la configuración de lanzamiento (consola)
Cuando cree una configuración de lanzamiento, debe especificar información sobre las instancias EC2 que
se deben lanzar. Incluya la imagen de máquina de Amazon (AMI), el tipo de instancia, el par de claves,
los grupos de seguridad y el mapeo de dispositivos de bloques. Otra opción es crear una configuración de
lanzamiento usando atributos de una instancia EC2 en ejecución. Para obtener más información, consulte
Creación de una configuración de lanzamiento mediante una instancia EC2 (p. 46).
Después de crear una configuración de lanzamiento, puede crear un grupo de Auto Scaling. Para
obtener más información, consulte Crear un grupo de Auto Scaling mediante una configuración de
lanzamiento (p. 81).
Un grupo de Auto Scaling se asocia con una configuración de lanzamiento cada vez y no puede modificar
una configuración de lanzamiento una vez creada. Por lo tanto, si desea cambiar la configuración de
lanzamiento para un grupo de Auto Scaling, debe actualizarla con la nueva configuración de lanzamiento.
Para obtener más información, consulte Cambiar la configuración de lanzamiento de un grupo de Auto
Scaling (p. 50).
Contenido
• Creación de la configuración de lanzamiento (consola) (p. 43)
• Creación de una configuración de lanzamiento (AWS CLI) (p. 44)
• Configuración de las opciones de metadatos de instancia (p. 44)
Las instancias de spot son una opción rentable en comparación con las instancias
bajo demanda, si es flexible con respecto a cuándo es necesario ejecutar sus
aplicaciones y si sus aplicaciones se pueden interrumpir. Para obtener más información,
consulte Solicitud de instancias puntuales para aplicaciones flexibles y tolerantes a
errores (p. 51).
43
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una configuración de lanzamiento (AWS CLI)
b. (Opcional) ParaPerfil de instancia IAM, seleccione el rol que desea asociar a las instancias.
Para obtener más información, consulte Función de IAM para aplicaciones que se ejecutan en
instancias Amazon EC2 (p. 300).
c. (Opcional) ParaMonitoreo, elija si desea habilitar las instancias para publicar datos de métricas a
intervalos de 1 minuto en Amazon CloudWatch habilitando una supervisión detallada. Se aplican
cargos adicionales. Para obtener más información, consulte Configuración de la supervisión para
instancias de Auto Scaling (p. 256).
d. (Opcional) ParaDetalles avanzados,Datos de usuarioSi lo prefiere, puede especificar los datos
de usuario para configurar una instancia durante el lanzamiento o para ejecutar un script de
configuración después de que se inicie la instancia.
e. (Opcional) ParaDetalles avanzados,Tipo de dirección IP, elija si desea asignar undirección IP
públicaa las instancias del grupo. Si no establece ningún valor, el valor predeterminado es utilizar
la configuración de IP pública de asignación automática de las subredes en las que se inician las
instancias.
8. (Opcional) ParaAlmacenamiento (volúmenes)Si no necesita almacenamiento adicional, puede omitir
esta sección. De lo contrario, para especificar los volúmenes que desea adjuntar a las instancias
además de los volúmenes especificados por la AMI, elijaAdd New Volume. A continuación, elija
las opciones deseadas y los valores asociados paraDispositivos,Snapshot,Size (Tamaño),Tipo de
volumen,IOPS,Rendimiento,Eliminar al terminar, yEncrypted.
9. ParaGrupos de seguridad, cree o seleccione el grupo de seguridad que se va a asociar con las
instancias del grupo. Si deja elCreación de un nuevo grupo de seguridadSi se selecciona, se configura
una regla SSH predeterminada para instancias Amazon EC2 que ejecutan Linux. Se configura una
regla de RDP predeterminada para instancias Amazon EC2 que ejecutan Windows.
10. ParaPar de claves (inicio de sesión), elija una opción enOpciones de par de claves.
Si aún no tiene un key pair de instancia Amazon EC2, elijaCree un nuevo key pairY asígnele un
nombre reconocible. Seleccionarkey pairPara descargar el key pair en su equipo.
Important
44
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de IMDS
versión 2 (IMDSv2), que es un método orientado a la sesión para solicitar metadatos de instancia. Para
obtener más información sobre las ventajas de IMDSv2, consulte este artículo en laAWSBlog sobrePara
agregar defensa en profundidad al servicio de metadatos de instancia EC2.
Puede configurar IMDS para admitir IMDSv2 e IMDSv2 (el valor predeterminado), o para requerir el uso de
IMDSv2. Si está usando elAWS CLISi usa uno de los SDK para configurar IMDS, debe utilizar la versión
más reciente de laAWS CLIo el SDK para exigir el uso de IMDSv2.
Puede encontrar más información sobre la configuración del servicio de metadatos de instancia en el
siguiente tema: Configuración del servicio de metadatos de instanciaen laGuía del usuario de Amazon EC2
para instancias de Linux.
Utilice el siguiente procedimiento para configurar las opciones IMDS en una configuración de lanzamiento.
Después de crear la configuración de lanzamiento, puede asociarla a su grupo de Auto Scaling. Si asocia
la configuración de inicio con un grupo de Auto Scaling existente, la configuración de inicio existente
se desasocia del grupo Auto Scaling y las instancias existentes requerirán reemplazo para utilizar las
opciones IMDS especificadas en la nueva configuración de inicio. Para obtener más información, consulte
Cambiar la configuración de lanzamiento de un grupo de Auto Scaling (p. 50).
Para exigir el uso de IMDSv2 en una configuración de lanzamiento mediante la herramientaAWS CLI
45
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una configuración de
lanzamiento mediante una instancia EC2
Existen diferencias entre crear una configuración de lanzamiento desde cero y crear una configuración
de lanzamiento desde una instancia EC2 existente. Cuando crea una configuración de lanzamiento
desde cero, debe especificar el ID de la imagen, el tipo de instancia, los recursos opcionales (como
dispositivos de almacenamiento) y ajustes opcionales (como la monitorización). Al crear una configuración
de lanzamiento desde una instancia en ejecución, Amazon EC2 Auto Scaling obtiene los atributos de la
configuración de lanzamiento de la instancia especificada. Los atributos también se derivan del mapeo de
dispositivos de bloques de la AMI desde la que se lanzó la instancia, omitiendo los dispositivos de bloques
adicionales que se añadieron tras el lanzamiento.
Al crear una configuración de inicio mediante una instancia en ejecución, puede anular los siguientes
atributos especificándolos como parte de la misma solicitud: AMI, dispositivos de bloques, key pair, perfil
de instancia, tipo de instancia, kernel, monitorización de instancias, tenencia de ubicación, disco RAM,
grupos de seguridad, precio de spot (máximo), datos del usuario, si la instancia tiene una dirección IP
pública y si la instancia está optimizada para EBS.
Tip
PuedeCree un grupo de Auto Scaling directamente desde una instancia EC2 (p. 83). Cuando
se utiliza esta característica, Amazon EC2 Auto Scaling crea automáticamente una configuración
de lanzamiento por usted.
46
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una configuración de
lanzamiento mediante una instancia EC2
En los siguientes ejemplos se muestra cómo crear una configuración de lanzamiento desde una instancia
EC2.
Ejemplos
• Creación de una configuración de lanzamiento mediante una instancia EC2 (p. 47)
• Cree una configuración de inicio a partir de una instancia y anule los dispositivos de bloque (AWS
CLI) (p. 48)
• Cree una configuración de lanzamiento y anule el tipo de instancia (AWS CLI) (p. 49)
{
"LaunchConfigurations": [
{
"UserData": null,
"EbsOptimized": false,
"LaunchConfigurationARN": "arn",
"InstanceMonitoring": {
"Enabled": false
},
"ImageId": "ami-05355a6c",
47
Auto Scaling de Amazon EC2 Guía del usuario
Cree una configuración de inicio a partir de una
instancia y anule los dispositivos de bloque (AWS CLI)
"CreatedTime": "2014-12-29T16:14:50.382Z",
"BlockDeviceMappings": [],
"KeyName": "my-key-pair",
"SecurityGroups": [
"sg-8422d1eb"
],
"LaunchConfigurationName": "my-lc-from-instance",
"KernelId": "null",
"RamdiskId": null,
"InstanceType": "t1.micro",
"AssociatePublicIpAddress": true
}
]
}
{
"LaunchConfigurations": [
{
"UserData": null,
"EbsOptimized": false,
"LaunchConfigurationARN": "arn",
"InstanceMonitoring": {
"Enabled": false
},
"ImageId": "ami-c49c0dac",
48
Auto Scaling de Amazon EC2 Guía del usuario
Cree una configuración de lanzamiento
y anule el tipo de instancia (AWS CLI)
"CreatedTime": "2015-01-07T14:51:26.065Z",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"SnapshotId": "snap-3decf207"
}
},
{
"DeviceName": "/dev/sdf",
"Ebs": {
"SnapshotId": "snap-eed6ac86"
}
}
],
"KeyName": "my-key-pair",
"SecurityGroups": [
"sg-8637d3e3"
],
"LaunchConfigurationName": "my-lc-from-instance-bdm",
"KernelId": null,
"RamdiskId": null,
"InstanceType": "t1.micro",
"AssociatePublicIpAddress": true
}
]
}
49
Auto Scaling de Amazon EC2 Guía del usuario
Cambiar una configuración de lanzamiento
"LaunchConfigurations": [
{
"UserData": null,
"EbsOptimized": false,
"LaunchConfigurationARN": "arn",
"InstanceMonitoring": {
"Enabled": false
},
"ImageId": "ami-05355a6c",
"CreatedTime": "2014-12-29T16:14:50.382Z",
"BlockDeviceMappings": [],
"KeyName": "my-key-pair",
"SecurityGroups": [
"sg-8422d1eb"
],
"LaunchConfigurationName": "my-lc-from-instance-changetype",
"KernelId": "null",
"RamdiskId": null,
"InstanceType": "t2.medium",
"AssociatePublicIpAddress": true
}
]
}
Después de cambiar la configuración de lanzamiento para un grupo de Auto Scaling, las nuevas instancias
se lanzan con las nuevas opciones de configuración, pero las instancias existentes no resultan afectadas.
Para actualizar las instancias existentes, termine las instancias de forma que se sustituyan por el grupo de
Auto Scaling o permita que el escalado automático reemplace gradualmente las instancias más antiguas
por instancias más recientes en función de suPolíticas de terminación (p. 215).
Note
50
Auto Scaling de Amazon EC2 Guía del usuario
Solicitar instancias de subasta
5. En el panel de navegación, elija AUTO SCALING y elija Auto Scaling Groups (Grupos de Auto
Scaling).
6. Seleccione la casilla de verificación situada junto al grupo de Auto Scaling.
Se abre un panel dividido en la parte inferior de la página, que muestra información sobre el grupo
seleccionado.
7. En la páginaDetalles de, elijaConfiguración de lanzamiento,Editar.
8. ParaConfiguración de lanzamiento, seleccione la nueva configuración de lanzamiento.
9. Cuando haya terminado, seleccioneActualización.
En este tema se describe cómo lanzar únicamente instancias de spot en un grupo de Auto Scaling
especificando los ajustes en la configuración de lanzamiento, en lugar de en el propio grupo de Auto
Scaling. La información de este tema también se aplica a los grupos de Auto Scaling que solicitan
instancias puntuales con una plantilla de inicio.
Important
Normalmente, las instancias de spot se utilizan para complementar instancias bajo demanda.
Para este escenario, puede especificar la misma configuración que se utiliza para lanzar
instancias de spot durante la configuración de un grupo de Auto Scaling. Cuando especifique la
configuración como parte del grupo Auto Scaling, puede solicitar el inicio de instancias puntuales
solo después de iniciar un determinado número de instancias bajo demanda y, a continuación,
continuar iniciando alguna combinación de instancias bajo demanda e instancias puntuales a
medida que se escala el grupo. Para obtener más información, consulte Grupos de Auto Scaling
con varios tipos de instancias y opciones de compra (p. 56).
Antes de lanzar instancias de spot a través de Amazon EC2 Auto Scaling, le recomendamos que se
familiarice con el lanzamiento y la administración de instancias de spot. Para obtener más información,
consulteInstancias de spoten laGuía del usuario de Amazon EC2 para instancias de Linux.
51
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de la tenencia de instancia
Cuando cree una configuración o una plantilla de lanzamiento para lanzar instancias de spot en lugar de
instancias bajo demanda, tenga en cuenta las siguientes consideraciones:
• Definición del precio máximo. Debe definir el precio máximo que está dispuesto a pagar en la
configuración o la plantilla de lanzamiento. Si el precio de las instancias de spot no supera el precio
máximo, la solicitud se atenderá en función de la capacidad de instancias de spot. Solo pagará el precio
de spot de las instancias de spot que lance. Si el precio de las instancias de spot supera el precio
máximo para una instancia en ejecución de su grupo de Auto Scaling, el servicio de spot de Amazon
EC2 termina la instancia. Para obtener más información, consultePrecios y ahorroen laGuía del usuario
de Amazon EC2 para instancias de Linux.
• Cambio del precio máximo. Debe crear una versión de la configuración o la plantilla de lanzamiento
con el precio nuevo. Si usa una nueva configuración de lanzamiento, debe asociarla a su grupo
de Auto Scaling. Con una plantilla de lanzamiento, puede configurar el grupo de Auto Scaling para
que utilice la plantilla predeterminada o la versión más reciente de la plantilla. De esta forma, se
asocia automáticamente al grupo de Auto Scaling. Las instancias existentes seguirán ejecutándose
siempre y cuando el precio máximo especificado en la configuración de lanzamiento o en la plantilla de
lanzamiento utilizada para estas instancias sea mayor que el precio de spot actual.
• Mantener las instancias de spot. Al terminar la instancia de spot, el grupo de Auto Scaling intenta lanzar
una instancia de sustitución para mantener la capacidad deseada para el grupo. Si el precio máximo
supera el precio de spot, se lanza una instancia de spot. De lo contrario (o si la solicitud no se satisface
correctamente), sigue intentándolo.
• Equilibrio entre zonas de disponibilidad. Si especifica varias zonas de disponibilidad, Amazon EC2
Auto Scaling distribuye las solicitudes de spot entre las zonas especificadas. Si el precio máximo es
demasiado bajo en una zona de disponibilidad para se atiendan las solicitudes, Amazon EC2 Auto
Scaling comprueba si se han atendido solicitudes en otras zonas. En tal caso, Amazon EC2 Auto Scaling
cancela las solicitudes que no se han atendido y las redistribuye entre las zonas de disponibilidad
que tienen solicitudes atendidas. Si el precio en una zona de disponibilidad sin solicitudes atendidas
se reduce lo suficiente como para poder atender solicitudes futuras, Amazon EC2 Auto Scaling
reequilibra todas las zonas de disponibilidad. Para obtener más información, consulte Actividades de
reequilibrio (p. 7).
• Terminación de instancias de spot. Amazon EC2 Auto Scaling puede terminar o sustituir las instancias
de spot de la misma forma que puede terminar o sustituir instancias bajo demanda. Para obtener más
información, consulte Controlar qué instancias de Auto Scaling terminan durante la escala en (p. 215).
• Compartido (default): varios Cuentas de AWS Puede compartir el mismo hardware físico.
• instancia dedicada (dedicated): la instancia se ejecuta en hardware de un solo inquilino.
• Host dedicado (host): la instancia se ejecuta en un servidor físico con capacidad de instancia EC2
totalmente dedicada a su uso, un servidor aislado con configuraciones que puede controlar.
En este tema se describe cómo lanzar instancias dedicadas en el grupo de Auto Scaling especificando la
configuración de lanzamiento. Para obtener información sobre precios y obtener más información sobre
las instancias dedicadas, consulte laInstancias dedicadas de Amazon EC2Página del producto yInstancias
dedicadasen laGuía del usuario de Amazon EC2 para instancias de Linux.
Puede configurar la tenencia para instancias EC2 mediante una configuración de lanzamiento o una
plantilla de lanzamiento. Sin embargo, el valor de tenencia host no se puede utilizar con una configuración
de lanzamiento. Utilice solo los valores de tenencia dedicated o default.
52
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de la tenencia de instancia
Important
Para utilizar un valor de tenencia de host, debe utilizar una plantilla de lanzamiento. Para obtener
más información, consulte Creación de una plantilla de lanzamiento para un grupo de Auto
Scaling (p. 28). Antes de lanzar hosts dedicados, le recomendamos que se familiarice con el
lanzamiento y la administración de hosts dedicados a través deAWS License Manager. Para
obtener más información, consulte laGuía del usuario de License Manager.
Las instancias dedicadas están físicamente aisladas en el nivel de hardware de host de las instancias
que no están dedicadas y de las instancias que pertenecen a otros grupos de Cuentas de AWS . Cuando
crea una VPC, su atributo de tenencia está establecido de forma predeterminada en default. En esa
VPC, puede lanzar instancias con un valor de tenencia de dedicated de forma que se ejecuten como
instancias de un solo propietario. De lo contrario, se ejecutarán como instancias de tenencia compartida
de forma predeterminada. Si establece el atributo de tenencia de una VPC en dedicated, todas las
instancias lanzadas en la VPC se ejecutan como instancias de un solo propietario.
En la siguiente tabla se ofrece un resumen de la tenencia de ubicación de las instancias de Auto Scaling
lanzadas en una VPC.
Para crear una configuración de lanzamiento que crea instancias dedicadas (AWS CLI)
{
"LaunchConfigurations": [
53
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de la tenencia de instancia
{
"UserData": null,
"EbsOptimized": false,
"PlacementTenancy": "dedicated",
"LaunchConfigurationARN": "arn",
"InstanceMonitoring": {
"Enabled": true
},
"ImageId": "ami-b5a7ea85",
"CreatedTime": "2020-03-08T23:39:49.011Z",
"BlockDeviceMappings": [],
"KeyName": null,
"SecurityGroups": [],
"LaunchConfigurationName": "my-launch-config",
"KernelId": null,
"RamdiskId": null,
"InstanceType": "m3.medium"
}
]
}
54
Auto Scaling de Amazon EC2 Guía del usuario
El tamaño de un grupo de Auto Scaling depende del número de instancias que establezca como capacidad
deseada. Puede ajustar su tamaño para satisfacer la demanda, ya sea de forma manual o mediante el uso
de escalado automático.
Un grupo de Auto Scaling comienza lanzando suficientes instancias para satisfacer su capacidad deseada.
Mantiene este número de instancias realizando comprobaciones de estado periódicas en las instancias
del grupo. El grupo de Auto Scaling sigue manteniendo un número fijo de instancias aunque una de ellas
deje de estar en buen estado. Si una instancia pasa a tener un estado incorrecto, el grupo termina la
instancia en mal estado y lanza otra instancia para sustituirla. Para obtener más información, consulte
Comprobaciones de Health para instancias de Auto Scaling (p. 239).
Puede utilizar políticas de escalado para aumentar o disminuir dinámicamente el número de instancias
de su grupo para satisfacer las condiciones cambiantes. Cuando la política de escalado está en vigor, el
grupo de Auto Scaling ajusta la capacidad deseada del grupo de, entre los valores de capacidad mínima
y máxima, y lanza o termina las instancias según sea necesario. También puede efectuar el escalado
mediante una programación. Para obtener más información, consulte Escale el tamaño del grupo de Auto
Scaling (p. 123).
Un grupo de Auto Scaling puede lanzar Instancias bajo demanda, Instancias de spot o ambas. Puede
especificar varias opciones de compra para el grupo de Auto Scaling solo cuando configure el grupo para
que utilice una plantilla de lanzamiento. (Recomendamos que utilice plantillas de lanzamiento en lugar
de configuraciones de lanzamiento para asegurarse de que puede utilizar las últimas características de
Amazon EC2).
Las instancias de spot le brindan acceso a capacidad de Amazon EC2 sin uso con importantes descuentos
en comparación con los precios bajo demanda. Para obtener más información, consulte Amazon EC2
Instancias de spot. Existen diferencias clave entre las instancias de spot y las instancias a petición:
Cuando se termina una instancia de spot, el grupo de Auto Scaling intenta lanzar una instancia de
sustitución para mantener la capacidad deseada para el grupo.
Cuando las instancias se lancen, si especifica varias zonas de disponibilidad, la capacidad deseada
se distribuye entre ellas. Si se produce una acción de escalado, Amazon EC2 Auto Scaling mantiene
automáticamente el equilibrio en todas las zonas de disponibilidad especificadas.
Si es nuevo en los grupos de Auto Scaling, comience creando una plantilla de inicio o una configuración de
inicio y, a continuación, utilícela para crear un grupo de Auto Scaling en el que todas las instancias tengan
los mismos atributos de instancia. Puede establecer los siguientes atributos de instancia especificándolos
como parte de la plantilla de inicio o de la configuración de inicio: AMI, dispositivos de bloque, key pair,
tipo de instancia, grupos de seguridad, datos de usuario, supervisión de instancias EC2, perfil de instancia,
kernel, ramdisk, tenencia de la instancia, si la instancia tiene una dirección IP pública y si la instancia
55
Auto Scaling de Amazon EC2 Guía del usuario
Uso de varios tipos de instancias y opciones de compra
está optimizada para EBS. LaCómo empezar a utilizar Amazon EC2 Auto Scaling (p. 14)proporciona una
introducción rápida a los distintos bloques de creación que se utilizan en Amazon EC2 Auto Scaling.
Contenido
• Grupos de Auto Scaling con varios tipos de instancias y opciones de compra (p. 56)
• Crear un grupo de Auto Scaling mediante una plantilla de lanzamiento (p. 79)
• Crear un grupo de Auto Scaling mediante una configuración de lanzamiento (p. 81)
• Creación de un grupo de Auto Scaling mediante una instancia de EC2 (p. 83)
• Etiquetado de grupos e instancias de Auto Scaling (p. 86)
• Elastic Load Balancing y Amazon EC2 Auto Scaling (p. 90)
• Iniciar instancias de Auto Scaling en una VPC (p. 103)
• Obtención de recomendaciones para un tipo de instanciaAWS Compute Optimizer (p. 105)
• Reemplazo de instancias de Auto Scaling en función de la duración máxima (p. 108)
• Reemplazo de instancias de Auto Scaling basadas en una actualización de instancia (p. 110)
• Combine los grupos de Auto Scaling en un solo grupo multizona (p. 117)
• Eliminación de la infraestructura de Auto Scaling (p. 119)
• Elija uno o varios tipos de instancia de instancias para el grupo (si lo desea, puede anular el tipo de
instancia especificado en la plantilla de lanzamiento).
• Defina varias plantillas de inicio para permitir que las instancias con diferentes arquitecturas de CPU (por
ejemplo, Arm y x86) se inicien en el mismo grupo Auto Scaling.
• Asigne una ponderación específica a cada tipo de instancia. Esto podría resultar útil si, por ejemplo, los
tipos de instancia ofrecen diferentes funcionalidades de vCPU, memoria, almacenamiento o ancho de
banda de red.
• Dé prioridad los tipos de instancia que pueden beneficiarse de los descuentos de Savings Plan de
Savings o de instancias reservadas.
• Especifique cuánta capacidad a petición y de spot se lanzará y, si lo desea, una parte básica a petición.
• Defina cómo debe Amazon EC2 Auto Scaling distribuir la capacidad de spot entre los tipos de instancia.
• Habilite el reequilibrio de la capacidad. Cuando activa el reequilibrio de capacidad, Amazon EC2
Auto Scaling intenta lanzar una instancia de spot siempre que el servicio de spot de Amazon EC2
notifique que una instancia de spot tiene un riesgo elevado de interrupción. Después de iniciar una
nueva instancia, finaliza una instancia antigua. Para obtener más información, consulte Reequilibrio de
capacidad de Amazon EC2 Auto Scaling de Amazon EC2 (p. 242).
56
Auto Scaling de Amazon EC2 Guía del usuario
Estrategias de asignación
varios para que Amazon EC2 Auto Scaling lance otro tipo de instancia en caso de que no haya suficiente
capacidad en las zonas de disponibilidad elegidas. Con las instancias de spot, si no hay suficiente
capacidad de una instancia, Amazon EC2 Auto Scaling seguirá intentándolo con otros grupos de instancias
de spot (en función de los tipos de instancias y la estrategia de distribución que haya elegido) en lugar de
iniciar instancias a petición, para que así pueda aprovechar el ahorro que brindan las instancias de spot.
Contenido
• Estrategias de asignación (p. 57)
• Control de la proporción de instancias bajo demanda (p. 59)
• Prácticas recomendadas para Instancias de spot (p. 60)
• Prerequisites (p. 61)
• Crear un grupo de Auto Scaling con instancias de spot y bajo demanda (consola) (p. 61)
• Configuración de estrategias de asignación de puntos (AWS CLI) (p. 63)
• Verificando si el grupo Auto Scaling está configurado correctamente y si el grupo ha iniciado instancias
(AWS CLI) (p. 69)
• Configuración de anulaciones (p. 69)
Estrategias de asignación
Las siguientes estrategias de asignación determinan cómo el grupo Auto Scaling cumple con
suCapacidades de spot y bajo demandade los posibles tipos de instancia.
Primero intenta garantizar que las instancias de Amazon EC2 Auto Scaling estén equilibradas
uniformemente entre las zonas de disponibilidad que ha especificado. A continuación, lanza tipos de
instancias de acuerdo con la estrategia de asignación especificada.
On-Demand Instances
La estrategia de asignación de las instancias bajo demanda es prioritized. Amazon EC2 Auto Scaling
utiliza el orden de los tipos de instancia en la lista de invalidaciones de plantilla de lanzamiento para
determinar qué tipo de instancia se utilizará en primer lugar al cumplir con la capacidad bajo demanda.
Por ejemplo, supongamos que ha especificado tres anulaciones de plantilla de lanzamiento en el siguiente
orden: c5.large, c4.large y c3.large. Cuando se lanzan las instancias bajo demanda, el grupo
de Auto Scaling satisface la capacidad bajo demanda comenzando conc5.large, luegoc4.largey, a
continuación,c3.large.
Tenga en cuenta lo siguiente cuando administre el orden de prioridad de las instancias a petición:
Puede pagar el uso por adelantado para conseguir importantes descuentos en las instancias bajo
demanda mediante Savings Plans o instancias reservadas. Para obtener más información acerca de
Savings Plans o Instancias reservadas, consulte laPrecios de Amazon EC2(Se ha creado el certificado).
• Con las instancias reservadas, se aplicará un descuento sobre los precios normales de las instancias a
petición si Amazon EC2 Auto Scaling lanza tipos de instancias coincidentes. Esto significa que, si tiene
instancias reservadas de c4.large sin utilizar, puede establecer la prioridad del tipo de instancia para
asignar la prioridad más alta de las instancias reservadas a un tipo de instancia c4.large. Cuando se
lanza una instancia c4.large, obtendrá el precio de instancia reservada.
• Con Savings Plans, se aplicará un descuento sobre los precios normales de las instancias a petición
cuando se utilicen los planes de ahorro de instancias de Amazon EC2 o los planes de Compute Savings
Plans. Debido a la naturaleza flexible de Savings Plans, dispondrá de una mayor flexibilidad para
priorizar los tipos de instancia. Siempre que utilice tipos de instancia que estén incluidos en su Savings
Plan, podrá asignarles cualquier orden de prioridad e incluso, ocasionalmente, cambiar su pedido por
57
Auto Scaling de Amazon EC2 Guía del usuario
Estrategias de asignación
completo y seguir disfrutando del descuento proporcionado por su plan de ahorros. Para obtener más
información sobre Savings Plans, consulte laGuía de usuario de Planes de ahorro.
Spot Instances
Amazon EC2 Auto Scaling proporciona las siguientes estrategias de asignación que se pueden utilizar para
las instancias de spot:
capacity-optimized
Amazon EC2 Auto Scaling asigna las instancias desde el grupo de instancias de spot con capacidad
óptima para el número de instancias que va a lanzar. Esta forma de implementación ayuda a utilizar la
capacidad sobrante de EC2 de la forma más eficaz posible.
Con las instancias de spot, los precios cambian lentamente en función de tendencias a largo plazo
registradas en la oferta y la demanda, pero la capacidad fluctúa en tiempo real. La estrategia
capacity-optimized lanza automáticamente Instancias de spot en los grupos con mayor
disponibilidad analizando los datos de capacidad en tiempo real y prediciendo cuáles son los que
tienen una mayor disponibilidad. Este comportamiento funciona bien con cargas de trabajo de big
data, análisis, representación de imágenes y medios, y aprendizaje automático. También funciona
bien a la hora realizar procesos de alto rendimiento que puedan tener un costo mayor de interrupción
asociado al reinicio del trabajo y la comprobación de puntos. Al ofrecer la posibilidad de experimentar
menos interrupciones, la estrategia capacity-optimized puede reducir el costo total de la carga de
trabajo.
Amazon EC2 Auto Scaling asigna las instancias de spot a partir del número (N) de grupos por zona de
disponibilidad que especifique y desde los grupos de instancias de spot que tienen el precio más bajo
en cada zona de disponibilidad.
Por ejemplo, si especifica cuatro tipos de instancia y cuatro zonas de disponibilidad, su grupo de Auto
Scaling tiene acceso a hasta 16 grupos de spot (cuatro en cada zona de disponibilidad). Si especifica
dos grupos de spot (N = 2) para la estrategia de asignación, su grupo de Auto Scaling puede recurrir a
los dos grupos más baratos por zona de disponibilidad para cubrir la capacidad de spot.
Tenga en cuenta que Amazon EC2 Auto Scaling intenta dibujar instancias puntuales a partir del
número de grupos que especifique con el mejor esfuerzo. Si un grupo se queda sin capacidad puntual
antes de cumplir con la capacidad deseada, Amazon EC2 Auto Scaling seguirá cumpliendo su
solicitud utilizando el siguiente grupo más barato. Para asegurarse de que se cumple la capacidad
deseada, puede recibir instancias puntuales de más del número de grupos que especificó. Del mismo
modo, si la mayoría de los grupos no tienen capacidad puntual, es posible que reciba la capacidad
total deseada de menos que el número de grupos que especificó.
Si lo prefiere, puede especificar un precio máximo para las instancias de spot. Si no especifica un precio
máximo, el precio máximo predeterminado es el precio bajo demanda, pero seguirá recibiendo los
importantes descuentos que ofrecen las instancias de spot. Estos descuentos son posibles debido a los
precios de spot estables disponibles mediante el nuevo modelo de precios de las instancias de spot.
58
Auto Scaling de Amazon EC2 Guía del usuario
Control de la proporción de instancias bajo demanda
Para obtener más información acerca de las estrategias de asignación de instancias de spot,
consultePresentamos la estrategia de asignación de capacidad optimizada para las instancias de spot de
Amazon EC2en laAWSBlog.
El comportamiento del grupo de Auto Scaling a medida que aumenta de tamaño es el siguiente:
10 20 30 40
Ejemplo 1
On-Demand base: 10 10 10 10
10
On-Demand 0 5 10 15
percentage above
base: 50%
Spot percentage: 0 5 10 15
50%
Ejemplo 2
On-Demand base: 0 0 0 0
0
On-Demand 0 0 0 0
percentage above
base: 0%
Spot percentage: 10 20 30 40
100%
Ejemplo 3
On-Demand base: 0 0 0 0
0
On-Demand 6 12 18 24
percentage above
base: 60%
Spot percentage: 4 8 12 16
40%
Ejemplo 4
59
Auto Scaling de Amazon EC2 Guía del usuario
Prácticas recomendadas para Instancias de spot
On-Demand base: 0 0 0 0
0
On-Demand 10 20 30 40
percentage above
base: 100%
Spot percentage: 0 0 0 0
0%
Ejemplo 5
On-Demand base: 10 12 12 12
12
On-Demand 0 0 0 0
percentage above
base: 0%
Spot percentage: 0 8 18 28
100%
• Use el precio máximo predeterminado, que es el precio bajo demanda. Solo pagará el precio de spot
de las instancias de spot que lance. Si el precio de sport no supera el precio máximo, la solicitud se
atenderá en función de la disponibilidad. Para obtener más información, consultePrecios y ahorroen
laGuía del usuario de Amazon EC2 para instancias de Linux.
• Cree su grupo de Auto Scaling con varios tipos de instancias. Dado que la capacidad fluctúa
independientemente para cada tipo de instancia en una zona de disponibilidad, a menudo puede obtener
más capacidad de cómputos cuando tiene flexibilidad en los tipos de instancias.
• Del mismo modo, no se limita únicamente a los tipos de instancias más populares. Dado que los precios
se ajustan en función de la demanda a largo plazo, los tipos de instancia más populares (como las
familias de instancias lanzadas recientemente) tienden a tener más ajustes de precios. Elegir tipos de
instancia de generaciones más antiguas, que resultan menos populares, tiende a reducir los costos y
ocasionar menos interrupciones.
• Le recomendamos que utilice lacapacity-optimizedorcapacity-optimized-
prioritizedEstrategia de asignación de recursos. Esto significa que Amazon EC2 Auto Scaling
lanza instancias mediante el uso de grupos de spot que se seleccionan de manera óptima en función
de la capacidad de spot disponible, lo que le ayuda a reducir la posibilidad de que se produzca una
interrupción de spot.
• Si elige lalowest-pricey ejecute un servicio web, especifique un número elevado de grupos de spot,
por ejemplo, N = 10. La especificación de un número elevado de grupos de spot reduce el impacto
de las interrupciones de instancias de spot si un grupo de una de las zonas de disponibilidad deja de
estar disponible temporalmente. Si ejecuta el procesamiento por lotes u otras aplicaciones que no son
esenciales, puede especificar un número menor de grupos de spot, por ejemplo, N=2. Esto ayuda a
garantizar que aprovisiona instancias de spot solo de los grupos de spot más económicos disponibles
para cada zona de disponibilidad.
60
Auto Scaling de Amazon EC2 Guía del usuario
Prerequisites
Si desea especificar un precio máximo, puede usar laAWS CLIo un SDK para crear el grupo de Auto
Scaling, pero tenga cuidado. Las Instancias de spot no se lanzarán si el precio máximo es inferior al precio
de spot de los tipos de instancias seleccionados.
Prerequisites
Su plantilla de lanzamiento está configurada para usarse con un grupo de Auto Scaling. Para obtener más
información, consulte Creación de una plantilla de lanzamiento para un grupo de Auto Scaling (p. 28).
Puede crear un grupo de Auto Scaling mediante una plantilla de lanzamiento solo si tiene permisos para
llamar a laec2:RunInstancesaction. Para obtener más información, consulte Soporte para plantillas de
lanzamiento de (p. 295).
Para crear un grupo de Auto Scaling con instancias de spot y bajo demanda
a. ParaNombre de grupo de Auto Scaling, escriba un nombre para el grupo de Auto Scaling.
b. En launch template (Plantilla de lanzamiento), elija una plantilla de lanzamiento existente.
c. ParaLanzar la versión de plantillaPara escalado ascendente, decida si el grupo de Auto Scaling
utiliza la versión predeterminada, la última versión o una versión específica de la plantilla de
lanzamiento.
d. Compruebe que la plantilla de lanzamiento admita todas las opciones que tiene previsto utilizar y,
a continuación, elija Next (Siguiente).
5. En la páginaConfigurar ajustes(En inglés), paraOpciones de compra de instancias, elijaCombinación
entre opciones de compra y tipos de instancia.
6. En Instances distribution (Distribución de instancias), haga lo siguiente:
61
Auto Scaling de Amazon EC2 Guía del usuario
Crear un grupo de Auto Scaling con
instancias de spot y bajo demanda (consola)
O puede aceptar el resto de las opciones predeterminadas y elegir Skip to review (Omitir para revisar).
13. En la páginaConfigure las opciones avanzadas, configure las siguientes opciones y, a continuación,
elijaSiguiente:
a. (Opcional) Para registrar sus instancias EC2 con Elastic Load Balancing (ELB), elija un
balanceador de carga existente o cree uno nuevo. Para obtener más información, consulte Elastic
Load Balancing y Amazon EC2 Auto Scaling (p. 90). Para crear un nuevo balanceador de
carga, siga el procedimiento deConfigurar un Application Load Balancer o un Network Load
Balancer utilizando la consola Auto Scaling de Amazon EC2 (p. 94).
b. (Opcional) Para habilitar laELBComprobaciones de estado de laComprobaciones de estado,
elijaELBUNDERTipo de comprobación de estado.
c. (Opcional) EnPerHealth odo de gracia de la, introduzca la cantidad de tiempo hasta que
Amazon EC2 Auto Scaling compruebe el estado de las instancias después de su puesta en
servicio. La intención es evitar que Amazon EC2 Auto Scaling marque instancias como en mal
estado y terminen antes de que tengan tiempo para aparecer. El valor predeterminado es de
300 segundos.
14. En la página Configure group size and scaling policies (Configurar directivas de tamaño de grupo y
escala) configure las siguientes opciones y, a continuación, elija Next (Siguiente):
62
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de estrategias de
asignación de puntos (AWS CLI)
15. (Opcional) Para recibir notificaciones, en Add notification (Añadir notificación), configure la
notificación y, a continuación, elija Next (Siguiente). Para obtener más información, consulte Obtener
notificaciones de Amazon SNS cuando su grupo de Auto Scaling se escala (p. 259).
16. (Opcional) Para añadir etiquetas, elija Add Tags (Añadir etiquetas), facilite un valor y una clave de
etiqueta, y luego elija Next (Siguiente). Para obtener más información, consulte Etiquetado de grupos
e instancias de Auto Scaling (p. 86).
17. En la página Review (Revisar), elija Create Auto Scaling group (Crear grupo de Auto Scaling).
Estos ejemplos muestran cómo utilizar un archivo de configuración con formato JSON o YAML.
Si utilizaAWS CLIversión 1, debe especificar un archivo de configuración con formato JSON. Si
utilizaAWS CLIversión 2, puede especificar un archivo de configuración con formato YAML o
JSON.
Ejemplos
• Ejemplo 1: Lanzamiento de Instancias de spot con lacapacity-optimizedEstrategia de
asignación (p. 63)
• Ejemplo 2: Lanzamiento de Instancias de spot con lacapacity-optimized-prioritizedEstrategia de
asignación (p. 65)
• Ejemplo 3: Lanzamiento de Instancias de spot con lalowest-priceEstrategia de asignación diversificada
en dos grupos (p. 67)
• El porcentaje del grupo que se va a lanzar como instancias bajo demanda (0) y un número base de
instancias bajo demanda con el que se va a comenzar (1)
• Los tipos de instancia que se lanzarán en orden de prioridad
(c5.large,c5a.large,m5.large,m5a.large,c4.large,m4.large,c3.large,m3.large)
• Las subredes en las que lanzar las instancias (subnet-5ea0c127, subnet-
c934b782)subnet-6194ea3b, cada una de ellas correspondiente a una zona de disponibilidad
diferente
• La plantilla de lanzamiento (my-launch-template) y la versión de la plantilla de lanzamiento
($Default)
Cuando Amazon EC2 Auto Scaling intenta cubrir la capacidad bajo demanda, lanza lac5.largeprimer
tipo de instancia. Las instancias de spot proceden del grupo de spot óptimo en cada zona de disponibilidad
en función de la capacidad de la instancia de spot.
63
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de estrategias de
asignación de puntos (AWS CLI)
JSON
{
"AutoScalingGroupName": "my-asg",
"MixedInstancesPolicy": {
"LaunchTemplate": {
"LaunchTemplateSpecification": {
"LaunchTemplateName": "my-launch-template",
"Version": "$Default"
},
"Overrides": [
{
"InstanceType": "c5.large"
},
{
"InstanceType": "c5a.large"
},
{
"InstanceType": "m5.large"
},
{
"InstanceType": "m5a.large"
},
{
"InstanceType": "c4.large"
},
{
"InstanceType": "m4.large"
},
{
"InstanceType": "c3.large"
},
{
"InstanceType": "m3.large"
}
]
},
"InstancesDistribution": {
"OnDemandBaseCapacity": 1,
"OnDemandPercentageAboveBaseCapacity": 0,
"SpotAllocationStrategy": "capacity-optimized"
}
},
"MinSize": 1,
"MaxSize": 5,
"DesiredCapacity": 3,
"VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
YAML
También puede utilizar el siguientecreate-auto-scaling-grouppara crear el grupo Auto Scaling, haciendo
referencia a un archivo YAML como único parámetro para el grupo Auto Scaling en lugar de un archivo
JSON.
64
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de estrategias de
asignación de puntos (AWS CLI)
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
LaunchTemplate:
LaunchTemplateSpecification:
LaunchTemplateName: my-launch-template
Version: $Default
Overrides:
- InstanceType: c5.large
- InstanceType: c5a.large
- InstanceType: m5.large
- InstanceType: m5a.large
- InstanceType: c4.large
- InstanceType: m4.large
- InstanceType: c3.large
- InstanceType: m3.large
InstancesDistribution:
OnDemandBaseCapacity: 1
OnDemandPercentageAboveBaseCapacity: 0
SpotAllocationStrategy: capacity-optimized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
• El porcentaje del grupo que se va a lanzar como instancias bajo demanda (0) y un número base de
instancias bajo demanda con el que se va a comenzar (1)
• Los tipos de instancia que se lanzarán en orden de prioridad
(c5.large,c5a.large,m5.large,m5a.large,c4.large,m4.large,c3.large,m3.large)
• Las subredes en las que lanzar las instancias (subnet-5ea0c127, subnet-
c934b782)subnet-6194ea3b, cada una de ellas correspondiente a una zona de disponibilidad
diferente
• La plantilla de lanzamiento (my-launch-template) y la versión de la plantilla de lanzamiento
($Latest)
Cuando Amazon EC2 Auto Scaling intenta cubrir la capacidad bajo demanda, lanza lac5.largeprimer
tipo de instancia. Cuando Amazon EC2 Auto Scaling intenta cumplir con su capacidad de spot, respeta las
prioridades de tipo de instancia sobre la base del mejor esfuerzo, pero optimiza primero la capacidad.
JSON
{
"AutoScalingGroupName": "my-asg",
"MixedInstancesPolicy": {
"LaunchTemplate": {
"LaunchTemplateSpecification": {
65
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de estrategias de
asignación de puntos (AWS CLI)
"LaunchTemplateName": "my-launch-template",
"Version": "$Latest"
},
"Overrides": [
{
"InstanceType": "c5.large"
},
{
"InstanceType": "c5a.large"
},
{
"InstanceType": "m5.large"
},
{
"InstanceType": "m5a.large"
},
{
"InstanceType": "c4.large"
},
{
"InstanceType": "m4.large"
},
{
"InstanceType": "c3.large"
},
{
"InstanceType": "m3.large"
}
]
},
"InstancesDistribution": {
"OnDemandBaseCapacity": 1,
"OnDemandPercentageAboveBaseCapacity": 0,
"SpotAllocationStrategy": "capacity-optimized-prioritized"
}
},
"MinSize": 1,
"MaxSize": 5,
"DesiredCapacity": 3,
"VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
YAML
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
LaunchTemplate:
LaunchTemplateSpecification:
LaunchTemplateName: my-launch-template
Version: $Default
Overrides:
- InstanceType: c5.large
- InstanceType: c5a.large
- InstanceType: m5.large
66
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de estrategias de
asignación de puntos (AWS CLI)
- InstanceType: m5a.large
- InstanceType: c4.large
- InstanceType: m4.large
- InstanceType: c3.large
- InstanceType: m3.large
InstancesDistribution:
OnDemandBaseCapacity: 1
OnDemandPercentageAboveBaseCapacity: 0
SpotAllocationStrategy: capacity-optimized-prioritized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
• El porcentaje del grupo de que lanzar como instancias bajo demanda (50) sin especificar también un
número base de instancias bajo demanda con las que comenzar
• Los tipos de instancia que se lanzarán en orden de prioridad
(c5.large,c5a.large,m5.large,m5a.large,c4.large,m4.large,c3.large,m3.large)
• Las subredes en las que lanzar las instancias (subnet-5ea0c127, subnet-
c934b782)subnet-6194ea3b, cada una de ellas correspondiente a una zona de disponibilidad
diferente
• La plantilla de lanzamiento (my-launch-template) y la versión de la plantilla de lanzamiento
($Latest)
Cuando Amazon EC2 Auto Scaling intenta cubrir la capacidad bajo demanda, lanza lac5.largeprimer
tipo de instancia. Para su capacidad de spot, Amazon EC2 Auto Scaling intenta lanzar las instancias de
spot de manera uniforme en los dos grupos de precio más bajo de cada zona de disponibilidad.
JSON
{
"AutoScalingGroupName": "my-asg",
"MixedInstancesPolicy": {
"LaunchTemplate": {
"LaunchTemplateSpecification": {
"LaunchTemplateName": "my-launch-template",
"Version": "$Latest"
},
"Overrides": [
{
"InstanceType": "c5.large"
},
{
"InstanceType": "c5a.large"
},
{
"InstanceType": "m5.large"
67
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de estrategias de
asignación de puntos (AWS CLI)
},
{
"InstanceType": "m5a.large"
},
{
"InstanceType": "c4.large"
},
{
"InstanceType": "m4.large"
},
{
"InstanceType": "c3.large"
},
{
"InstanceType": "m3.large"
}
]
},
"InstancesDistribution": {
"OnDemandPercentageAboveBaseCapacity": 50,
"SpotAllocationStrategy": "lowest-price",
"SpotInstancePools": 2
}
},
"MinSize": 1,
"MaxSize": 5,
"DesiredCapacity": 3,
"VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
YAML
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
LaunchTemplate:
LaunchTemplateSpecification:
LaunchTemplateName: my-launch-template
Version: $Default
Overrides:
- InstanceType: c5.large
- InstanceType: c5a.large
- InstanceType: m5.large
- InstanceType: m5a.large
- InstanceType: c4.large
- InstanceType: m4.large
- InstanceType: c3.large
- InstanceType: m3.large
InstancesDistribution:
OnDemandPercentageAboveBaseCapacity: 50
SpotAllocationStrategy: lowest-price
SpotInstancePools: 2
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
68
Auto Scaling de Amazon EC2 Guía del usuario
Verificando si el grupo Auto Scaling está configurado
correctamente y si el grupo ha iniciado instancias (AWS CLI)
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
Note
Para ver otros ejemplos, consulteEspecificación de una plantilla de inicio diferente para un
tipo de instancia (p. 69),Configuración de ponderación de instancias para Amazon EC2
Auto Scaling (p. 73), yReequilibrio de capacidad de Amazon EC2 Auto Scaling de Amazon
EC2 (p. 242).
Configuración de anulaciones
Dependiendo de sus requisitos, debe reemplazar algunos atributos de la plantilla de inicio actual cuando
utilice varios tipos de instancias. Por ejemplo, algunos tipos de instancia pueden requerir una plantilla de
lanzamiento con una AMI diferente. Para ello, configure laOverridespropiedad.
LaOverridesle permite definir un conjunto de propiedades que Amazon EC2 Auto Scaling puede utilizar
para iniciar instancias, entre las que se incluyen:
• InstanceType— El tipo de instancia. Para obtener más información sobre los tipos de instancia
disponibles, consulteTipos de instanciasen laGuía del usuario de Amazon EC2 para instancias de Linux.
• LaunchTemplateSpecification— (Opcional) Plantilla de inicio para un tipo de instancia individual.
Esta propiedad está limitada actualmente a laAWS CLIo un SDK, y no está disponible desde la consola.
• WeightedCapacity— (Opcional) El número de unidades que una instancia aprovisionada de este tipo
proporciona hacia el cumplimiento de la capacidad deseada del grupo de Auto Scaling.
Contenido
• Especificación de una plantilla de inicio diferente para un tipo de instancia (p. 69)
• Configuración de ponderación de instancias para Amazon EC2 Auto Scaling (p. 73)
Supongamos que configura un grupo de Auto Scaling para aplicaciones de uso intensivo de procesos y
desea incluir una combinación de tipos de instancias C5, C5a y C6g. Sin embargo, las instancias C6g
69
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
cuentan con unAWSProcesador Graviton basado en la arquitectura Arm de 64 bits, mientras que las
instancias C5 y C5a se ejecutan en procesadores Intel x86 de 64 bits. La AMI para instancias C5 funciona
en instancias C5a y viceversa, pero no en instancias C6g. LaOverridesle permite incluir una plantilla de
lanzamiento diferente para las instancias C6g, mientras sigue utilizando la misma plantilla de inicio para las
instancias C5 y C5a.
Note
En este momento, esta característica solo está disponible si utiliza laAWS CLIo un SDK, y no está
disponible desde la consola.
Agregar o cambiar una plantilla de inicio para un tipo de instancia (AWS CLI)
En el siguiente procedimiento se muestra cómo usar laAWS CLIpara configurar un grupo de Auto Scaling
para que uno o más de los tipos de instancia utilicen una plantilla de inicio distinta del resto del grupo.
1. Cree un archivo de configuración donde especifique una estructura de directivas de instancias mixtas
e incluya elOverridesParámetro de.
{
"AutoScalingGroupName":"my-asg",
"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":{
"OnDemandBaseCapacity": 1,
"OnDemandPercentageAboveBaseCapacity": 50,
"SpotAllocationStrategy": "capacity-optimized"
}
},
"MinSize":1,
"MaxSize":5,
"DesiredCapacity":3,
"VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
"Tags":[ ]
70
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
Para cambiar la plantilla de inicio de un tipo de instancia en un grupo de Auto Scaling existente
Cuando se realiza este cambio, las nuevas instancias que se lanzan se basan en la nueva
configuración, pero las instancias existentes no resultan afectadas. Para asegurarse de que el grupo
Auto Scaling utiliza la nueva configuración, puede reemplazar todas las instancias del grupo iniciando
una actualización de instancia o utilizando la función de duración máxima de la instancia.
{
"AutoScalingGroupName":"my-asg",
"MixedInstancesPolicy":{
"LaunchTemplate":{
"Overrides":[
{
"InstanceType":"c6g.large",
"LaunchTemplateSpecification": {
"LaunchTemplateName": "my-launch-template-for-arm",
"Version": "$Latest"
}
},
{
"InstanceType":"c5.large"
},
{
"InstanceType":"c5a.large"
}
]
}
}
}
{
"AutoScalingGroups":[
{
71
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
"AutoScalingGroupName":"my-asg",
"AutoScalingGroupARN":"arn",
"MixedInstancesPolicy":{
"LaunchTemplate":{
"LaunchTemplateSpecification":{
"LaunchTemplateId":"lt-0fb0e487336917fb2",
"LaunchTemplateName":"my-launch-template-for-x86",
"Version":"$Latest"
},
"Overrides":[
{
"InstanceType":"c6g.large",
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-09d958b8fb2ba5bcc",
"LaunchTemplateName": "my-launch-template-for-arm",
"Version": "$Latest"
}
},
{
"InstanceType":"c5.large"
},
{
"InstanceType":"c5a.large"
}
]
},
"InstancesDistribution":{
"OnDemandAllocationStrategy":"prioritized",
"OnDemandBaseCapacity":1,
"OnDemandPercentageAboveBaseCapacity":50,
"SpotAllocationStrategy":"capacity-optimized"
}
},
"MinSize":1,
"MaxSize":5,
"DesiredCapacity":3,
"Instances":[
{
"InstanceId":"i-07c63168522c0f620",
"InstanceType":"c5.large",
"AvailabilityZone":"us-west-2c",
"LifecycleState":"InService",
"HealthStatus":"Healthy",
"LaunchTemplate":{
"LaunchTemplateId":"lt-0fb0e487336917fb2",
"LaunchTemplateName":"my-launch-template-for-x86",
"Version":"1"
},
"ProtectedFromScaleIn":false
},
{
"InstanceId":"i-0b7ff78be9896a2c2",
"InstanceType":"c5.large",
"AvailabilityZone":"us-west-2a",
"LifecycleState":"InService",
"HealthStatus":"Healthy",
"LaunchTemplate":{
"LaunchTemplateId":"lt-0fb0e487336917fb2",
"LaunchTemplateName":"my-launch-template-for-x86",
"Version":"1"
},
"ProtectedFromScaleIn":false
},
{
"InstanceId":"i-0c682c2ceae918bc0",
"InstanceType":"c6g.large",
72
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
"AvailabilityZone":"us-west-2b",
"LifecycleState":"InService",
"HealthStatus":"Healthy",
"LaunchTemplate":{
"LaunchTemplateId":"lt-09d958b8fb2ba5bcc",
"LaunchTemplateName":"my-launch-template-for-arm",
"Version":"1"
},
...
}
]
}
Supongamos, por ejemplo, que ejecuta una aplicación que requiere muchos recursos de computación y
que funciona mejor con al menos 8 vCPU y 15 GiB de RAM. Si utiliza c5.2xlarge como unidad base,
cualquiera de los siguientes tipos de instancias EC2 satisfaría las necesidades de la aplicación.
c5.2xlarge 8 16
c5.4xlarge 16 32
c5.12xlarge 48 96
c5.18xlarge 72 144
c5.24xlarge 96 192
De forma predeterminada, a todos los tipos de instancia se les asigna la misma ponderación. En otras
palabras, tanto si Amazon EC2 Auto Scaling lanza un tipo de instancia grande como si tiene pequeño,
todas las instancias cuentan en la capacidad deseada del grupo.
Sin embargo, con la ponderación de instancias, se asigna un valor numérico que especifica cuántas
unidades de capacidad se van a asociar a cada tipo de instancia. Por ejemplo, si las instancias tienen
diferentes tamaños, una instancia c5.2xlarge podría tener una ponderación de 2, mientras que una
instancia c5.4xlarge (que es dos veces mayor) podría tener una ponderación de 4, etc. Luego, cuando
Amazon EC2 Auto Scaling lanza instancias, sus ponderaciones se tendrán en cuenta para calcular la
capacidad deseada.
73
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
misma región. Los precios mostrados son solo ejemplos; no son los precios actuales. Estos son sus costos
por hora de instancia.
Con la ponderación de instancias, puede evaluar los costos en función del uso por hora de unidad. Puede
calcular el precio por hora de unidad dividiendo el precio de un tipo de instancia por el número de unidades
que representa. En las instancias bajo demanda, el precio por hora de unidad es el mismo cuando se
implementa un solo tipo de instancia y cuando se implementa un tamaño diferente del mismo tipo de
instancia. Sin embargo, el precio de spot por hora de unidad varía en función del grupo de spot.
La forma más fácil de entender cómo funciona el cálculo del precio por unidad de hora con instancias
ponderadas es con un ejemplo. Para facilitar el cálculo, supongamos que desea lanzar instancias de spot
solo en us-east-1a. El precio por hora de unidad se indica a continuación.
Considerations
En esta sección, se analizan las consideraciones clave para implementar la ponderación de instancias de
manera eficaz.
• Comience eligiendo algunos tipos de instancia que reflejen los requisitos reales de rendimiento de la
aplicación. A continuación, decida cuánto debe contar cada tipo de instancia en la capacidad deseada
del grupo de Auto Scaling especificando sus ponderaciones. Las ponderaciones se aplican a las
instancias actuales y futuras del grupo.
• Tenga cuidado si elige rangos muy grandes para las ponderaciones. Por ejemplo, no es recomendable
que especifique una ponderación de 1 para un tipo de instancia si el siguiente tipo de instancia mayor
tiene una ponderación de 200. La diferencia entre la ponderación más baja y más alta tampoco debe ser
exagerada. Si alguno de los tipos de instancia tiene una diferencia de ponderación demasiado grande,
esto puede tener un efecto negativo a la hora de optimizar continuamente la relación costo-rendimiento.
74
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
• El tamaño del grupo de Auto Scaling se mide en unidades de capacidad, y no en instancias. Por
ejemplo, si las ponderaciones se basan en la vCPU, debe especificar el número mínimo, máximo y
deseado de núcleos que quiere utilizar.
• Establezca las ponderaciones y la capacidad deseada para que esta sea al menos dos o tres veces
mayor que su ponderación más alta.
• Si decide establecer su propio precio máximo para Spot, debe especificar un precioPor hora de
instanciaque es lo suficientemente alto para su tipo de instancia más caro. Amazon EC2 Auto Scaling
aprovisiona instancias de spot si el precio de spot actual en una zona de disponibilidad está por
debajo de su precio máximo y la capacidad está disponible. Si la solicitud de instancias de spot no se
puede satisfacer en un grupo de instancias de spot, se sigue intentando en otros grupos de spot para
aprovechar el ahorro de costos de las instancias de spot.
• La capacidad actual será igual o superior a la capacidad deseada. Como Amazon EC2 Auto Scaling
quiere aprovisionar instancias hasta que se satisfaga totalmente la capacidad deseada, puede
sobrepasarse el límite. Por ejemplo, supongamos que especifica dos tipos de instancias: c5.2xlarge
y c5.12xlarge, y que asigna la ponderación 2 a c5.2xlarge y la ponderación 12 a c5.12xlarge.
Si faltan 5 unidades para cubrir la capacidad deseada y Amazon EC2 Auto Scaling aprovisiona
unc5.12xlarge, la capacidad deseada se excede en 7 unidades.
• Cuando Amazon EC2 Auto Scaling aprovisiona instancias para alcanzar la capacidad deseada, da más
prioridad a distribuir instancias entre diferentes zonas de disponibilidad respetando las estrategias de
asignación de instancias de spot y bajo demanda que a evitar que se superen los límites.
• Amazon EC2 Auto Scaling puede sobrepasar el límite máximo de capacidad para mantener el equilibrio
entre las zonas de disponibilidad aplicando las estrategias de asignación que desee. El límite máximo
exigido por Amazon EC2 Auto Scaling es un valor igual a la capacidad deseada más la ponderación más
alta.
• Al agregar ponderaciones de instancia a un grupo de Auto Scaling existente, debe incluir todos los tipos
de instancia que ya se estén ejecutando en el grupo.
• Al modificar los ponderaciones de instancia existentes, Amazon EC2 Auto Scaling lanzará o terminará
instancias para alcanzar la capacidad deseada en función de los nuevos pesos.
• Si quita un tipo de instancia, las instancias en ejecución de ese tipo seguirán teniendo los valores de
ponderación de la última actualización, incluso aunque se haya eliminado ese tipo de instancia.
Para poder crear grupos de Auto Scaling utilizando la ponderación de instancias, debe saber cómo se
lanzan grupos con distintos tipos de instancias. Para obtener más información y ver otros ejemplos,
consulte Grupos de Auto Scaling con varios tipos de instancias y opciones de compra (p. 56).
Los siguientes ejemplos muestran cómo usar laAWS CLIPara añadir ponderaciones al crear grupos de
Auto Scaling y para añadir o modificar ponderaciones de los grupos de Auto Scaling existentes. Puede
configurar una serie de parámetros en un archivo JSON y hacer referencia a ese archivo como único
parámetro de su grupo de Auto Scaling.
75
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
• El porcentaje del grupo que se lanzará como instancias bajo demanda (0)
• La estrategia de asignación de instancias de spot de cada zona de disponibilidad (capacity-
optimized)
• Los tipos de instancia que se van a lanzar por orden de prioridad (m4.16xlarge, m5.24xlarge)
• Las ponderaciones de las instancias en relación con la diferencia de tamaño relativa (vCPU) entre
los tipos de instancia (16, 24)
• Las subredes en las que lanzar las instancias (subnet-5ea0c127, subnet-
c934b782)subnet-6194ea3b, cada una de ellas correspondiente a una zona de disponibilidad
diferente
• La plantilla de lanzamiento (my-launch-template) y la versión de la plantilla de lanzamiento
($Latest)
{
"AutoScalingGroupName": "my-asg",
"MixedInstancesPolicy": {
"LaunchTemplate": {
"LaunchTemplateSpecification": {
"LaunchTemplateName": "my-launch-template",
"Version": "$Latest"
},
"Overrides": [
{
"InstanceType": "m4.16xlarge",
"WeightedCapacity": "16"
},
{
"InstanceType": "m5.24xlarge",
"WeightedCapacity": "24"
}
]
},
"InstancesDistribution": {
"OnDemandPercentageAboveBaseCapacity": 0,
"SpotAllocationStrategy": "capacity-optimized"
}
},
"MinSize": 160,
"MaxSize": 720,
"DesiredCapacity": 480,
"VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
"Tags": []
}
76
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
• Los tipos de instancia que se van a lanzar por orden de prioridad (c5.18xlarge, c5.24xlarge,
c5.2xlarge, c5.4xlarge)
• Las ponderaciones de las instancias en relación con la diferencia de tamaño relativa (vCPU) entre
los tipos de instancia (18, 24, 2. 4)
• La nueva capacidad deseada, que es mayor que la ponderación más alta
{
"AutoScalingGroupName": "my-existing-asg",
"MixedInstancesPolicy": {
"LaunchTemplate": {
"Overrides": [
{
"InstanceType": "c5.18xlarge",
"WeightedCapacity": "18"
},
{
"InstanceType": "c5.24xlarge",
"WeightedCapacity": "24"
},
{
"InstanceType": "c5.2xlarge",
"WeightedCapacity": "2"
},
{
"InstanceType": "c5.4xlarge",
"WeightedCapacity": "4"
}
]
}
},
"MinSize": 0,
"MaxSize": 100,
"DesiredCapacity": 100
}
{
"AutoScalingGroups": [
{
"AutoScalingGroupName": "my-asg",
77
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de anulaciones
"AutoScalingGroupARN": "arn",
"MixedInstancesPolicy": {
"LaunchTemplate": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-0b97f1e282EXAMPLE",
"LaunchTemplateName": "my-launch-template",
"Version": "$Latest"
},
"Overrides": [
{
"InstanceType": "m4.16xlarge",
"WeightedCapacity": "16"
},
{
"InstanceType": "m5.24xlarge",
"WeightedCapacity": "24"
}
]
},
"InstancesDistribution": {
"OnDemandAllocationStrategy": "prioritized",
"OnDemandBaseCapacity": 0,
"OnDemandPercentageAboveBaseCapacity": 0,
"SpotAllocationStrategy": "capacity-optimized"
}
},
"MinSize": 160,
"MaxSize": 720,
"DesiredCapacity": 480,
"DefaultCooldown": 300,
"AvailabilityZones": [
"us-west-2a",
"us-west-2b",
"us-west-2c"
],
"LoadBalancerNames": [],
"TargetGroupARNs": [],
"HealthCheckType": "EC2",
"HealthCheckGracePeriod": 0,
"Instances": [
{
"InstanceId": "i-027327f0ace86f499",
"InstanceType": "m5.24xlarge",
"AvailabilityZone": "us-west-2a",
"LifecycleState": "InService",
"HealthStatus": "Healthy",
"LaunchTemplate": {
"LaunchTemplateId": "lt-0b97f1e282EXAMPLE",
"LaunchTemplateName": "my-launch-template",
"Version": "7"
},
"ProtectedFromScaleIn": false,
"WeightedCapacity": "24"
},
{
"InstanceId": "i-0ec0d761cc134878d",
"InstanceType": "m4.16xlarge",
"AvailabilityZone": "us-west-2a",
"LifecycleState": "Pending",
"HealthStatus": "Healthy",
"LaunchTemplate": {
"LaunchTemplateId": "lt-0b97f1e282EXAMPLE",
"LaunchTemplateName": "my-launch-template",
"Version": "7"
},
"ProtectedFromScaleIn": false,
78
Auto Scaling de Amazon EC2 Guía del usuario
Creación de un grupo de mediante
una plantilla de lanzamiento
"WeightedCapacity": "16"
},
...
}
]
}
Con las plantillas de lanzamiento, puede configurar el grupo de Auto Scaling para elegir la versión
predeterminada o la última de la plantilla de lanzamiento de forma dinámica cuando se produce un
evento de escalado ascendente. Por ejemplo, puede configurar el grupo de Auto Scaling para elegir
la versión predeterminada actual de una plantilla de lanzamiento. Para cambiar la configuración de las
instancias EC2 que va a lanzar el grupo, cree o designe una nueva versión predeterminada de la plantilla
de lanzamiento. Como opción, puede elegir la versión específica de la plantilla de lanzamiento que el grupo
utiliza para iniciar instancias EC2. Puede cambiar las selecciones en cualquier momento actualizando el
grupo.
Cada plantilla de lanzamiento incluye la información que Amazon EC2 necesita para lanzar instancias,
como una AMI y un tipo de instancia. Puede crear un grupo de Auto Scaling que se adhiera a la plantilla
de lanzamiento. O bien, puede reemplazar el tipo de instancia en la plantilla de lanzamiento y combinar
instancias a petición y de spot. Para obtener más información, consulte Grupos de Auto Scaling con varios
tipos de instancias y opciones de compra (p. 56).
El grupo de Auto Scaling especifica la capacidad deseada y la información adicional que necesita Amazon
EC2 para iniciar instancias, como las zonas de disponibilidad y las subredes de VPC. Puede establecer
la capacidad deseada según un número específico de instancias, o bien puede aprovechar el escalado
automático para ajustar la capacidad en función de la demanda real.
Prerequisites
• Debe haber creado una plantilla de lanzamiento que incluya los parámetros necesarios para lanzar una
instancia EC2. Para obtener información sobre estos parámetros y las limitaciones que se aplican al
crear una plantilla de lanzamiento para usarla con un grupo de Auto Scaling, consulteCreación de una
plantilla de lanzamiento para un grupo de Auto Scaling (p. 28).
• Debe tener permisos de IAM para crear un grupo de Auto Scaling mediante una plantilla de lanzamiento
y también para crear recursos EC2 para las instancias. Para obtener más información, consulte Soporte
para plantillas de lanzamiento de (p. 295).
79
Auto Scaling de Amazon EC2 Guía del usuario
Creación de un grupo de mediante
una plantilla de lanzamiento
O puede aceptar el resto de las opciones predeterminadas y elegir Skip to review (Omitir para revisar).
9. (Opcional) En elConfigure las opciones avanzadasEn, configure las siguientes opciones y, a
continuación, elijaSiguiente:
a. Para registrar las instancias de Amazon EC2 con un balanceador de carga, elija un balanceador
de carga existente o cree uno nuevo. Para obtener más información, consulte Elastic Load
Balancing y Amazon EC2 Auto Scaling (p. 90). Para crear un nuevo balanceador de carga,
siga el procedimiento deConfigurar un Application Load Balancer o un Network Load Balancer
utilizando la consola Auto Scaling de Amazon EC2 (p. 94).
b. Para activar Elastic Load Balancing (ELB) comprobaciones de estado, paraComprobaciones de
estado, elijaELBUNDERTipo de comprobación de estado. Estas comprobaciones de estado son
opcionales cuando se habilita el balance de carga.
c. UNDERPeriodo de gracia de la Health, introduzca la cantidad de tiempo hasta que Amazon
EC2 Auto Scaling compruebe el estado de las instancias después de su puesta en servicio. La
intención de esta configuración es evitar que Amazon EC2 Auto Scaling marque instancias como
en mal estado y las termine antes de que tengan tiempo para aparecer. El valor predeterminado
es de 300 segundos.
10. (Opcional) En la página Configure group size and scaling policies (Configurar políticas de tamaño de
grupo y escala) configure las siguientes opciones y, a continuación, elija Next (Siguiente):
a. En Desired capacity (Capacidad deseada), introduzca el número inicial de instancias que desea
lanzar. Al cambiar este número a un valor fuera de los límites de capacidad mínima o máxima,
debe actualizar los valores de Minimum capacity (Capacidad mínima) o Maximum capacity
(Capacidad máxima). Para obtener más información, consulte Determina los límites de capacidad
para el grupo de Auto Scaling (p. 124).
b. Para ajustar automáticamente el tamaño del grupo de Auto Scaling, elijaPolítica de escalado de
seguimiento de destinoy siga las instrucciones. Para obtener más información, consulte Políticas
de escalado de seguimiento de destino (p. 141).
c. En Instance scale-in protection (Protección de escalado descendente de instancias), elija si desea
habilitar la protección de escalado descendente de instancias. Para obtener más información,
consulte Usar la protección de escalado ascendente de instancias (p. 225).
11. (Opcional) Para recibir notificaciones, en Add notification (Añadir notificación), configure la
notificación y, a continuación, elija Next (Siguiente). Para obtener más información, consulte Obtener
notificaciones de Amazon SNS cuando su grupo de Auto Scaling se escala (p. 259).
80
Auto Scaling de Amazon EC2 Guía del usuario
Crear un grupo de mediante una
configuración de lanzamiento
12. (Opcional) Para añadir etiquetas, elija Add Tags (Añadir etiquetas), facilite un valor y una clave de
etiqueta, y luego elija Next (Siguiente). Para obtener más información, consulte Etiquetado de grupos
e instancias de Auto Scaling (p. 86).
13. En la página Review (Revisar), elija Create Auto Scaling group (Crear grupo de Auto Scaling).
Para configurar las instancias de Amazon EC2, puede especificar una plantilla de lanzamiento,
una configuración de lanzamiento o una instancia EC2. Le recomendamos usar una plantilla de
lanzamiento para asegurarse de que está utilizando las últimas características de Amazon EC2.
Para obtener más información, consulte Plantillas de lanzamiento (p. 27).
El siguiente procedimiento demuestra cómo crear un grupo de Auto Scaling mediante una configuración
de lanzamiento. No puede modificar una configuración de lanzamiento después de crearla, pero puede
sustituir la configuración de lanzamiento por un grupo de Auto Scaling. Para obtener más información,
consulte Cambiar la configuración de lanzamiento de un grupo de Auto Scaling (p. 50).
Prerequisites
Cree una configuración de lanzamiento. Para obtener más información, consulte Creación de una
configuración de lanzamiento (p. 42).
81
Auto Scaling de Amazon EC2 Guía del usuario
Crear un grupo de mediante una
configuración de lanzamiento
O puede aceptar el resto de las opciones predeterminadas y elegir Skip to review (Omitir para revisar).
9. (Opcional) En elConfigure las opciones avanzadasEn, configure las siguientes opciones y, a
continuación, elijaSiguiente:
a. Para registrar las instancias de Amazon EC2 con un balanceador de carga, elija un balanceador
de carga existente o cree uno nuevo. Para obtener más información, consulte Elastic Load
Balancing y Amazon EC2 Auto Scaling (p. 90). Para crear un nuevo balanceador de carga,
siga el procedimiento deConfigurar un Application Load Balancer o un Network Load Balancer
utilizando la consola Auto Scaling de Amazon EC2 (p. 94).
b. Para activar Elastic Load Balancing (ELB) comprobaciones de estado, paraComprobaciones de
estado, elijaELBUNDERTipo de comprobación de estado. Estas comprobaciones de estado son
opcionales cuando se habilita el balance de carga.
c. UNDERPeriodo de gracia de la Health, introduzca la cantidad de tiempo hasta que Amazon
EC2 Auto Scaling compruebe el estado de las instancias después de su puesta en servicio. La
intención de esta configuración es evitar que Amazon EC2 Auto Scaling marque instancias como
en mal estado y las termine antes de que tengan tiempo para aparecer. El valor predeterminado
es de 300 segundos.
10. (Opcional) En la página Configure group size and scaling policies (Configurar políticas de tamaño de
grupo y escala) configure las siguientes opciones y, a continuación, elija Next (Siguiente):
a. En Desired capacity (Capacidad deseada), introduzca el número inicial de instancias que desea
lanzar. Al cambiar este número a un valor fuera de los límites de capacidad mínima o máxima,
debe actualizar los valores de Minimum capacity (Capacidad mínima) o Maximum capacity
(Capacidad máxima). Para obtener más información, consulte Determina los límites de capacidad
para el grupo de Auto Scaling (p. 124).
b. Para ajustar automáticamente el tamaño del grupo de Auto Scaling, elijaPolítica de escalado de
seguimiento de destinoy siga las instrucciones. Para obtener más información, consulte Políticas
de escalado de seguimiento de destino (p. 141).
c. En Instance scale-in protection (Protección de escalado descendente de instancias), elija si desea
habilitar la protección de escalado descendente de instancias. Para obtener más información,
consulte Usar la protección de escalado ascendente de instancias (p. 225).
11. (Opcional) Para recibir notificaciones, en Add notification (Añadir notificación), configure la
notificación y, a continuación, elija Next (Siguiente). Para obtener más información, consulte Obtener
notificaciones de Amazon SNS cuando su grupo de Auto Scaling se escala (p. 259).
12. (Opcional) Para añadir etiquetas, elija Add Tags (Añadir etiquetas), facilite un valor y una clave de
etiqueta, y luego elija Next (Siguiente). Para obtener más información, consulte Etiquetado de grupos
e instancias de Auto Scaling (p. 86).
13. En la página Review (Revisar), elija Create Auto Scaling group (Crear grupo de Auto Scaling).
82
Auto Scaling de Amazon EC2 Guía del usuario
Creación de un grupo de mediante una instancia EC2
Puede crear un grupo de Auto Scaling mediante una instancia EC2 existente de una de estas tres
maneras.
• Cree una plantilla de lanzamiento a partir de una instancia EC2 existente. A continuación, utilice la
plantilla de lanzamiento para crear un nuevo grupo de Auto Scaling. Para obtener este procedimiento,
consultePara crear una plantilla de lanzamiento a partir de una instancia existente (consola) (p. 33).
• Utilice la consola para crear un grupo de Auto Scaling desde una instancia EC2 en ejecución. Al hacerlo,
Amazon EC2 Auto Scaling crea una configuración de lanzamiento para usted y la asocia al grupo de
Auto Scaling. Este método funciona bien si desea agregar la instancia al nuevo grupo Auto Scaling,
donde puede administrarla Amazon EC2 Auto Scaling. Para obtener más información, consulte Adjunte
instancias de EC2 al grupo de Auto Scaling (p. 128).
• Especifique el ID de una instancia EC2 existente en la llamada a la API que crea el grupo Auto Scaling.
Este método es el tema del siguiente procedimiento.
Cuando se especifica un ID de una instancia existente, Amazon EC2 Auto Scaling crea una configuración
de lanzamiento y la asocia al grupo de Auto Scaling. Esta configuración de lanzamiento tiene el mismo
nombre que el grupo de Auto Scaling y obtiene sus atributos de la instancia especificada, como el ID de
AMI, el tipo de instancia, key pair y el grupo de seguridad. Los dispositivos de bloques proceden de la AMI
que se utilizó para lanzar la instancia, no de la instancia.
• Si la instancia identificada tiene etiquetas, las etiquetas no se copian en laTagsatributo del nuevo grupo
de Auto Scaling.
• El grupo de Auto Scaling incluye la asignación de dispositivos de bloques de la AMI que se utilizó para
lanzar la instancia. No incluye ningún dispositivo de bloques asociado después del lanzamiento de la
instancia.
• Si la instancia identificada está registrada en uno o varios balanceadores de carga, la información sobre
el balanceador de carga no se copia en el atributo del grupo de destino o balanceador de carga del
nuevo grupo de Auto Scaling.
Antes de comenzar, busque el ID de la instancia EC2 mediante la consola de Amazon EC2 o ladescribe-
instancescomando (AWS CLI). La instancia EC2 debe cumplir los siguientes criterios:
• La instancia está en la subred y la zona de disponibilidad en la que desea crear el grupo de Auto
Scaling.
• La instancia no es miembro de otro grupo de Auto Scaling.
• La instancia tiene el estado running.
• La AMI que se utilizó para lanzar la instancia debe existir.
83
Auto Scaling de Amazon EC2 Guía del usuario
Cree un grupo de Auto Scaling a partir
de una instancia EC2 (AWS CLI)
En la siguiente respuesta de ejemplo muestra que la capacidad deseada del grupo es 2, que el grupo
dispone de 2 instancias en ejecución y que la configuración de lanzamiento se denominamy-asg-
from-instance.
{
"AutoScalingGroups":[
{
"AutoScalingGroupName":"my-asg-from-instance",
"AutoScalingGroupARN":"arn",
"LaunchConfigurationName":"my-asg-from-instance",
"MinSize":1,
"MaxSize":2,
"DesiredCapacity":2,
"DefaultCooldown":300,
"AvailabilityZones":[
"us-west-2a"
],
"LoadBalancerNames":[ ],
"TargetGroupARNs":[ ],
"HealthCheckType":"EC2",
"HealthCheckGracePeriod":0,
"Instances":[
{
"InstanceId":"i-06905f55584de02da",
"InstanceType":"t2.micro",
"AvailabilityZone":"us-west-2a",
"LifecycleState":"InService",
"HealthStatus":"Healthy",
"LaunchConfigurationName":"my-asg-from-instance",
"ProtectedFromScaleIn":false
},
{
"InstanceId":"i-087b42219468eacde",
"InstanceType":"t2.micro",
"AvailabilityZone":"us-west-2a",
84
Auto Scaling de Amazon EC2 Guía del usuario
Cree un grupo de Auto Scaling a partir
de una instancia EC2 (AWS CLI)
"LifecycleState":"InService",
"HealthStatus":"Healthy",
"LaunchConfigurationName":"my-asg-from-instance",
"ProtectedFromScaleIn":false
}
],
"CreatedTime":"2020-10-28T02:39:22.152Z",
"SuspendedProcesses":[ ],
"VPCZoneIdentifier":"subnet-6bea5f06",
"EnabledMetrics":[ ],
"Tags":[ ],
"TerminationPolicies":[
"Default"
],
"NewInstancesProtectedFromScaleIn":false,
"ServiceLinkedRoleARN":"arn"
}
]
}
{
"LaunchConfigurations":[
{
"LaunchConfigurationName":"my-asg-from-instance",
"LaunchConfigurationARN":"arn",
"ImageId":"ami-0528a5175983e7f28",
"KeyName":"my-key-pair-uswest2",
"SecurityGroups":[
"sg-05eaec502fcdadc2e"
],
"ClassicLinkVPCSecurityGroups":[ ],
"UserData":"",
"InstanceType":"t2.micro",
"KernelId":"",
"RamdiskId":"",
"BlockDeviceMappings":[ ],
"InstanceMonitoring":{
"Enabled":true
},
"CreatedTime":"2020-10-28T02:39:22.321Z",
"EbsOptimized":false,
"AssociatePublicIpAddress":true
}
]
}
85
Auto Scaling de Amazon EC2 Guía del usuario
Etiquetado de grupos e instancias de Auto Scaling
Después de terminar una instancia de Amazon EC2, no puede reiniciarla. Después de terminar,
sus datos se han ido y el volumen no se puede adjuntar a ninguna instancia. Para obtener más
información sobre la terminación de instancias, consulteTerminación de una instanciaen laGuía del
usuario de Amazon EC2 para instancias de Linux.
Puede añadir varias etiquetas a cada grupo de Auto Scaling. Además, puede propagar las etiquetas del
grupo de Auto Scaling a las instancias de Amazon EC2 que lance. El etiquetado de instancias le permite
ver la asignación de costos de las instancias por etiqueta en suAWSFacturación. Para obtener más
información, consulte Uso de etiquetas de asignación de costos en la Guía del usuario de AWS Billing and
Cost Management.
También puede controlar qué usuarios y grupos de IAM de su cuenta tienen permiso para crear, editar
o eliminar etiquetas. Para obtener más información, consulte Controlar qué claves de etiqueta y valores
de etiqueta se pueden usar (p. 288). No obstante, tenga en cuenta que una política que impida que
los usuarios realicen una operación de etiquetado en un grupo de Auto Scaling no les impedirá cambiar
las etiquetas manualmente en las instancias una vez lanzadas. Para obtener información acerca de las
políticas de IAM para etiquetar (o eliminar el etiquetado) recursos de Amazon EC2, consulteEjemplo:
Etiquetado de recursosen laGuía del usuario de Amazon EC2 para instancias de Linux.
Las etiquetas no se propagan a volúmenes de Amazon EBS. Para añadir etiquetas a volúmenes de
Amazon EBS, especifique las etiquetas en una plantilla de lanzamiento, pero tenga cuidado al configurar
etiquetas de instancia en la plantilla de lanzamiento. Si la plantilla de lanzamiento especifica una etiqueta
de instancia con una clave que también se especifica para el grupo de Auto Scaling, Amazon EC2 Auto
Scaling invalida el valor de esa etiqueta de instancia por el valor especificado por el grupo de Auto Scaling.
Para obtener información acerca de cómo especificar etiquetas en una plantilla de lanzamiento, consulte
Creación de una plantilla de lanzamiento para un grupo de Auto Scaling (p. 28).
Contenido
• Restricciones de las etiquetas (p. 86)
• Ciclo de vida del etiquetado (p. 87)
• Agregar o modificar etiquetas para el grupo de Auto Scaling (p. 87)
• Eliminar etiquetas (p. 89)
86
Auto Scaling de Amazon EC2 Guía del usuario
Ciclo de vida del etiquetado
• Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.
• No utilice elaws:En los nombres o valores de las etiquetas, porque está reservado paraAWSUsarUse.
No puede editar ni eliminar nombres o valores de etiqueta con este prefijo, y no se tienen en cuenta para
el límite de etiquetas por grupo de Auto Scaling.
• Cuando un grupo de Auto Scaling lanza instancias, añade etiquetas a las instancias mientras crea los
recursos y no después de haberlos creado.
• El grupo de Auto Scaling añade una etiqueta automáticamente a las instancias con una clave
deaws:autoscaling:groupNamey un valor del nombre del grupo de Auto Scaling.
• Cuando asocia instancias existentes, el grupo de Auto Scaling añade las etiquetas a las instancias,
sobrescribiendo las etiquetas existentes con la misma clave de etiqueta. Asimismo, añade una etiqueta
con la claveaws:autoscaling:groupNamey un valor del nombre del grupo de Auto Scaling.
• Cuando desvincula una instancia de un grupo de Auto Scaling, solo se elimina
laaws:autoscaling:groupNameetiqueta.
Contenido
• Añadir o modificar etiquetas (consola) (p. 87)
• Para añadir o modificar etiquetas (AWS CLI) (p. 88)
Cuando utiliza la consola de Amazon EC2 para crear un grupo de Auto Scaling, puede especificar claves
y valores de etiqueta en la pestañaAgregue etiquetasEn el asistente Create Auto Scaling group. Para
propagar una etiqueta a las instancias lanzadas en el grupo de Auto Scaling, asegúrese de mantener
laEtiquetar nuevas instanciaspara esa etiqueta seleccionada. En caso contrario, puede anular la selección.
87
Auto Scaling de Amazon EC2 Guía del usuario
Agregar o modificar etiquetas para el grupo de Auto Scaling
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles), elija Tags (Etiquetas), Edit (Editar).
4. Para modificar las etiquetas existentes, edite Key y Value.
5. Para agregar una nueva etiqueta, seleccione Add tag y modifique Key y Value. Puedes
mantenerEtiquetar nuevas instanciasPara añadir la etiqueta a las instancias lanzadas en el grupo de
Auto Scaling automáticamente y cancelar su selección en caso contrario.
6. Cuando haya terminado de agregar etiquetas, elija Update (Actualizar).
• Usarcreate-auto-scaling-groupPara crear un nuevo grupo de Auto Scaling y añadir una etiqueta, por
ejemplo,env=prod, para el grupo de Auto Scaling. La etiqueta también se añade a cualquier instancia
lanzada en el grupo de Auto Scaling.
• Utilice el comando create-or-update-tags para crear o modificar una etiqueta. Por ejemplo, el siguiente
comando añade las etiquetas cost-center=cc123 y Name=my-asg. Las etiquetas también se
añadirán a cualquier instancia lanzada en el grupo de Auto Scaling después de realizar este cambio.
Si ya existe una etiqueta con esta clave, se sustituye la etiqueta existente. La consola de Amazon EC2
asocia el nombre mostrado de cada instancia con el nombre que se especifica para laName(distingue
entre mayúsculas y minús
Para obtener una lista de todas las etiquetas de un grupo de Auto Scaling
• Utilice el siguientedescribe-tagsPara obtener una lista de las etiquetas del grupo de Auto Scaling
especificado.
{
"Tags": [
88
Auto Scaling de Amazon EC2 Guía del usuario
Eliminar etiquetas
{
"ResourceType": "auto-scaling-group",
"ResourceId": "my-asg",
"PropagateAtLaunch": true,
"Value": "prod",
"Key": "env"
}
]
}
{
"AutoScalingGroups": [
{
"AutoScalingGroupARN": "arn",
"HealthCheckGracePeriod": 0,
"SuspendedProcesses": [],
"DesiredCapacity": 1,
"Tags": [
{
"ResourceType": "auto-scaling-group",
"ResourceId": "my-asg",
"PropagateAtLaunch": true,
"Value": "prod",
"Key": "env"
}
],
"EnabledMetrics": [],
"LoadBalancerNames": [],
"AutoScalingGroupName": "my-asg",
...
}
]
}
Eliminar etiquetas
Puede eliminar una etiqueta asociada a su grupo de Auto Scaling en cualquier momento.
Contenido
• Eliminar etiquetas (consola) (p. 89)
• Eliminar etiquetas (AWS CLI) (p. 90)
89
Auto Scaling de Amazon EC2 Guía del usuario
Elastic Load Balancing
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles), elija Tags (Etiquetas), Edit (Editar).
4. Elija Remove (Eliminar) junto a la etiqueta.
5. Elija Update (Actualizar).
Debe especificar la clave de etiqueta, pero no obligatorio especificar el valor. Si especifica un valor y el
valor es incorrecto, la etiqueta no se elimina.
Para utilizar Elastic Load Balancing con el grupo Auto Scaling,Asocie el balanceador de carga a su grupo
de Auto Scaling (p. 92). De este modo, registra el grupo con el balanceador de carga, que actúa como
un único punto de contacto para todo el tráfico web entrante a su grupo de Auto Scaling.
Cuando utiliza Elastic Load Balancing con su grupo de Auto Scaling, no es necesario registrar instancias
EC2 individuales con el balanceador de carga. Las instancias iniciadas por el grupo de Auto Scaling se
registran automáticamente con el balanceador de carga. Del mismo modo, las instancias que termine el
grupo de Auto Scaling se anulan automáticamente del balanceador de carga.
Después de asociar un balanceador de carga a su grupo de Auto Scaling, puede configurar el grupo de
Auto Scaling para que utilice métricas de Elastic Load Balancing de la aplicación (como el recuento de
solicitudes del balanceador de carga de la aplicación por destino) para escalar el número de instancias del
grupo a medida que fluctúe la demanda.
Si lo desea, puede agregar comprobaciones de estado de Elastic Load Balancing al grupo Auto Scaling
para que Amazon EC2 Auto Scaling pueda identificar y reemplazar instancias que no estén en buen estado
basándose en estas comprobaciones de estado adicionales. De lo contrario, puede crear una alarma
de CloudWatch que le notifique si el número de hosts en buen estado del grupo de destino es inferior al
permitido.
Limitaciones
• El balanceador de carga y su grupo de destino deben estar en la misma región que el grupo de Auto
Scaling.
• El grupo de destino debe especificar un tipo de destino deinstance. No puede especificar un tipo de
destino deipAl utilizar un grupo de Auto Scaling.
Contenido
90
Auto Scaling de Amazon EC2 Guía del usuario
Tipos de Elastic Load Balancing
Hay una diferencia clave en el modo en que se configuran los tipos de balanceador de carga. Con
Application Load Balancers, Network Load Balancers y Gateway Load Balancers, las instancias se
registran como destinos con un grupo de destino y se enruta el tráfico al grupo de destino. Con Classic
Load Balancers (Balanceadores de carga clásicos), las instancias se registran directamente en el
balanceador
Las rutas y los balanceadores de carga en la capa de transporte (TCP/SSL) o la capa de aplicación
(HTTP/HTTPS). Un Classic Load Balancer admite EC2-Classic o una VPC.
Para obtener más información acerca de Elastic Load Balancing, consulte los temas siguientes:
91
Auto Scaling de Amazon EC2 Guía del usuario
Requisitos previos
Si es necesario, cree una nueva plantilla de lanzamiento o una configuración de lanzamiento para su grupo
de Auto Scaling. Cree una plantilla de inicio o una configuración de inicio con un grupo de seguridad que
controla el tráfico hacia y desde las instancias detrás del equilibrador de carga. Las reglas recomendadas
dependen del tipo de balanceador de carga y de los tipos de backends que utiliza el balanceador de carga.
Por ejemplo, para enrutar el tráfico a los servidores web, permita el acceso HTTP entrante en el puerto 80
desde el equilibrador de carga.
Puede configurar la comprobación de estado para un grupo de Auto Scaling en cualquier momento.
Para añadir comprobaciones de estado de Elastic Load Balancing, consulteAdición de comprobaciones
de estado Elastic Load Balancing a un grupo de Auto Scaling (p. 95). Antes de añadir estas
comprobaciones de estado, asegúrese de que el grupo de seguridad de la plantilla de lanzamiento o la
configuración de lanzamiento permite el acceso desde el balanceador de carga en el puerto correcto para
que Elastic Load Balancing realice comprobaciones de estado.
Antes de implementar dispositivos virtuales detrás de un Load Balancer de puerta de enlace, la plantilla de
inicio o la configuración de inicio debe cumplir los siguientes requisitos:
• La imagen de máquina de Amazon (AMI) debe especificar el ID de una AMI que admita GENEVE
utilizando un Load Balancer de gateway.
• Los grupos de seguridad deben permitir el tráfico UDP en el puerto 6081.
Al asociar un Application Load Balancer o un Network Load Balancer de carga de gateway, asocia un
grupo de destino. Amazon EC2 Auto Scaling añade instancias al grupo de destino asociado cuando se
lanzan. Puede asociar uno o varios grupos de destino y configurar las comprobaciones de estado de cada
grupo de destino.
92
Auto Scaling de Amazon EC2 Guía del usuario
Conexión de un balanceador de carga
Contenido
• Descripción del estado del balanceador de carga (p. 93)
• Adjuntar un equilibrador de carga existente (p. 93)
• Configurar un Application Load Balancer o un Network Load Balancer utilizando la consola Auto
Scaling de Amazon EC2 (p. 94)
• Separar un balanceador de carga (p. 95)
Cuando desasocia un balanceador de carga, este pasa a tener el estado Removing mientras se cancela
el registro de las instancias del grupo. Las instancias siguen ejecutándose una vez que se ha cancelado su
registro. De forma predeterminada, el vaciado de conexiones está habilitado para balanceadores de carga
de aplicaciones, balanceadores de carga de red y balanceadores de carga de gateway. Si el vaciado de
conexiones está habilitado, Elastic Load Balancing espera a que se completen las solicitudes en tránsito
o a que termine el tiempo de espera máximo (lo que ocurra primero) antes de cancelar el registro de las
instancias.
Para adjuntar un equilibrador de carga existente mientras crea un nuevo grupo de Auto Scaling
SeleccionarElija entre los grupos de destino del equilibrador de cargaEn y, a continuación, elija un
grupo de destino enGrupos de destino del balanceador de carga existentesfield.
b. En Classic Load Balancer:
93
Auto Scaling de Amazon EC2 Guía del usuario
Conexión de un balanceador de carga
Utilice el siguiente procedimiento para asociar un balanceador de carga a un grupo de Auto Scaling.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles), elija Load balancing (Balance de carga), Edit (Editar).
4. En Load balancing (Balance de carga), realice una de las siguientes acciones:
Para crear y adjuntar un nuevo equilibrador de carga a medida que crea un nuevo grupo de Auto
Scaling
94
Auto Scaling de Amazon EC2 Guía del usuario
Agregar comprobaciones de estado de ELB
Después de crear el grupo Auto Scaling, puede utilizar la consola Elastic Load Balancing
para crear oyentes adicionales. Esto resulta útil si necesita crear un listener con un protocolo
seguro, como HTTPS o un listener UDP. Puede agregar más oyentes a los equilibradores de
carga existentes, siempre y cuando utilice puertos distintos.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
4. En la pestaña Details (Detalles), elija Load balancing (Balance de carga), Edit (Editar).
5. En Load balancing (Balance de carga), realice una de las siguientes acciones:
a. ParaGrupos de destino del Load Balancer de aplicaciones, redes o puertas de enlaceElija el icono
de eliminar (X) situado junto al grupo de destino.
b. ParaClassic Load BalancersElija el icono de eliminar (X) situado junto al balanceador de carga.
6. Elija Update (Actualizar).
Puede asociar uno o varios grupos de destino del balanceador de carga, uno o varios balanceadores de
carga clásicos o ambos al grupo de Auto Scaling. Sin embargo, de forma predeterminada, el grupo Auto
Scaling no considera que una instancia está en mal estado ni la sustituye si no supera las comprobaciones
de estado de Elastic Load Balancing.
Para asegurarse de que el grupo Auto Scaling puede determinar el estado de la instancia basándose
en pruebas adicionales de equilibrador de carga, configure el grupo Auto Scaling para que utilice Elastic
Load Balancing (ELB). El balanceador de carga, de forma periódica, envía pings, intenta establecer una
conexión o envía solicitudes para probar las instancias EC2 y determina si una instancia no está en buen
estado. Si configura el grupo de Auto Scaling para que utilice comprobaciones de estado de Elastic Load
Balancing, este considera que el estado de la instancia es incorrecto si no supera las comprobaciones de
estado de EC2 o las comprobaciones de estado de Elastic Load Balancing. Si asocia varios grupos de
destino del balanceador de carga o balanceadores de carga clásicos al grupo, todos ellos deben registrar
una instancia como correcta para que se considere que está en buen estado. Si alguno de ellos registra
95
Auto Scaling de Amazon EC2 Guía del usuario
Agregar zonas de disponibilidad de
una instancia como en mal estado, el grupo Auto Scaling sustituye la instancia, aunque otros la registren
como correcta.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles), elija Health checks (Comprobaciones de estado), Edit (Editar).
4. En Health check type (Tipo de comprobación de estado), seleccione Enable ELB health checks
(Habilitar comprobaciones de estado de ELB).
5. ParaPeríodo de gracia de HealthEscriba la cantidad de tiempo, en segundos, que Auto Scaling de
Amazon EC2 debe esperar antes de comprobar el estado de una instancia. Las instancias nuevas a
menudo necesitan tiempo para un breve calentamiento antes de que puedan pasar una comprobación
de estado. Para proporcionar tiempo suficiente para preparar, establezca el periodo de gracia de
comprobación de estado del grupo de para que coincida con el tiempo de inicio esperado de la
aplicación.
6. Elija Update (Actualizar).
7. En la pestaña Instance management (Administración de instancia), en Instances (Instancias), puede
ver el estado de las instancias. La columna Health Status (Estado) muestra los resultados de las
comprobaciones de estado recién agregadas.
Véase también
• Para obtener más información, consulte Comprobaciones de Health para instancias de Auto
Scaling (p. 239).
• Para configurar las comprobaciones de estado de su Application Load Balancer,
consulteComprobaciones de estado de los grupos de destinoen laGuía del usuario para Application Load
Balancers.
• Para configurar las comprobaciones de estado de su Network Load Balancer, consulteComprobaciones
de estado de los grupos de destinoen laGuía del usuario para Network Load Balancers.
• Para configurar las comprobaciones de estado de su Load Balancer de gateway,
consulteComprobaciones de estado de los grupos de destinoen laGuía del usuario de balanceadores de
carga de gateway.
• Para configurar las comprobaciones de estado de su Classic Load Balancer, consulteConfigurar
comprobaciones de estado para su Classic Load Balanceren laGuía del usuario para Classic Load
Balancers.
96
Auto Scaling de Amazon EC2 Guía del usuario
Agregar zonas de disponibilidad de
Cuando una zona de disponibilidad pasa a tener un estado incorrecto o deja de estar disponible, Amazon
EC2 Auto Scaling lanza nuevas instancias en la zona de disponibilidad afectada. Cuando la zona de
disponibilidad en mal estado vuelve a tener un estado correcto, Amazon EC2 Auto Scaling redistribuye
automáticamente las instancias de la aplicación de manera uniforme por todas las zonas de disponibilidad
del grupo de Auto Scaling. Para ello, Amazon EC2 Auto Scaling intenta lanzar nuevas instancias en la
zona de disponibilidad con el menor número de instancias. Sin embargo, si el intento fracasa, Auto Scaling
de Amazon EC2 intenta lanzar instancias en otras zonas de disponibilidad hasta que lo consiga.
Elastic Load Balancing crea un nodo de balanceador de carga para cada zona de disponibilidad que
habilita para el balanceador de carga. Si habilita el balanceo de carga entre zonas para el balanceador de
carga, cada nodo del balanceador de carga distribuye el tráfico equitativamente entre todas las instancias
registradas en todas las zonas de disponibilidad habilitadas. Si cross-zone load balancing está inhabilitado,
cada nodo del balanceador de carga distribuye las solicitudes equitativamente entre todas las instancias
registradas solo en su zona de disponibilidad.
Debe especificar al menos una zona de disponibilidad al crear el grupo de Auto Scaling. Después, puede
ampliar la disponibilidad de la aplicación aplicados añadiendo una zona de disponibilidad a su grupo de
Auto Scaling y habilitando dicha zona de disponibilidad para el balanceador de carga (si el balanceador de
carga lo admite).
Contenido
• Agregar una zona de disponibilidad (p. 97)
• Eliminar una zona de disponibilidad (p. 98)
• Limitations (p. 99)
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles), elija Network (Red), Edit (Editar).
4. EnSubredesElija la subred correspondiente a la zona de disponibilidad que desea añadir al grupo Auto
Scaling.
5. Elija Update (Actualizar).
6. Para actualizar las zonas de disponibilidad del balanceador de carga para que comparta las mismas
zonas de disponibilidad que el grupo de Auto Scaling, siga los pasos siguientes:
97
Auto Scaling de Amazon EC2 Guía del usuario
Agregar zonas de disponibilidad de
subred en esa zona, se seleccionará. Si hay más de una subred en esa zona, seleccione
una de ellas.
• Para equilibradores de carga clásicos en una VPC:
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles), elija Network (Red), Edit (Editar).
4. EnSubredes, elija el icono de eliminación (X) de la subred correspondiente a la zona de disponibilidad
que desea eliminar del grupo Auto Scaling. Si hay más de una subred en esa zona, elija el icono de
eliminación (X) para cada una de ellas.
5. Elija Update (Actualizar).
6. Para actualizar las zonas de disponibilidad del balanceador de carga para que comparta las mismas
zonas de disponibilidad que el grupo de Auto Scaling, siga los pasos siguientes:
98
Auto Scaling de Amazon EC2 Guía del usuario
AWS CLIejemplos para trabajar con Elastic Load Balancing
Limitations
Para actualizar las zonas de disponibilidad habilitadas para el balanceador de carga, debe tener en cuenta
las siguientes limitaciones:
• Al habilitar una zona de disponibilidad para el balanceador de carga, especifica una subred de dicha
zona de disponibilidad. Tenga en cuenta que, como máximo, puede habilitar una subred por cada zona
de disponibilidad para su balanceador de carga.
• Para los balanceadores de carga expuestos a Internet, las subredes que especifique para el
balanceador de carga deben tener al menos ocho direcciones IP disponibles.
• Para Application Load Balancer (Balanceadores de carga de aplicaciones), debe habilitar al menos dos
zonas de disponibilidad
• En Network Load Balancers, no puede deshabilitar las zonas de disponibilidad habilitadas, pero puede
habilitar otras adicionales.
• Para los equilibradores de carga de puerta de enlace, no puede cambiar las zonas de disponibilidad ni
las subredes que se agregaron cuando se creó el equilibrador de carga.
Contenido
• Enlace a un grupo de destino del balanceador de carga (p. 99)
• Describiendo grupos de destino del balanceador de carga (p. 100)
• Desenlace de un grupo de destino del balanceador de carga (p. 100)
• Conexión de un Classic Load Balancer (p. 100)
• Describe Balanceadores de carga clásicos (p. 100)
• Desconexión de un Classic Load Balancer (p. 101)
• Agregar comprobaciones de estado Elastic Load Balancing (p. 101)
• Actualización de zonas de disponibilidad de (p. 101)
99
Auto Scaling de Amazon EC2 Guía del usuario
AWS CLIejemplos para trabajar con Elastic Load Balancing
--target-group-arns "arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-
targets/1234567890123456" \
--max-size 5 --min-size 1 --desired-capacity 2
Para obtener una explicación de laStateen la salida, consulte laDescripción del estado del balanceador
de carga (p. 93)en un tema anterior.
Los siguientes ejemplos deequilibradores de carga adjuntaasocia el Classic Load Balancer especificado a
un grupo de Auto Scaling existente.
100
Auto Scaling de Amazon EC2 Guía del usuario
AWS CLIejemplos para trabajar con Elastic Load Balancing
Para obtener una explicación de laStateen la salida, consulteDescripción del estado del balanceador de
carga (p. 93).
1. Especifique las subredes que se utilizan para el grupo Auto Scaling mediante el siguienteupdate-auto-
scaling-groupEl comando de.
2. Verifique que las instancias de las nuevas subredes están listas para aceptar tráfico del balanceador
de carga utilizando los siguientesdescribe-auto-scaling-groupsEl comando de.
101
Auto Scaling de Amazon EC2 Guía del usuario
AWS CLIejemplos para trabajar con Elastic Load Balancing
Para un grupo de Auto Scaling con un Classic Load Balancer en una VPC
1. Especifique las subredes que se utilizan para el grupo Auto Scaling mediante el siguienteupdate-auto-
scaling-groupEl comando de.
2. Verifique que las instancias de las nuevas subredes están listas para aceptar tráfico del balanceador
de carga utilizando los siguientesdescribe-auto-scaling-groupsEl comando de.
3. Habilite la nueva subred para su Classic Load Balancer (Balanceador de carga clásico)
usandobalanceador de carga adjunto a subredesEl comando de.
1. Especifique las zonas de disponibilidad que se utilizan para el grupo Auto Scaling mediante lo
siguienteupdate-auto-scaling-groupEl comando de.
2. Verifique que las instancias de las nuevas zonas de disponibilidad están listas para aceptar tráfico del
balanceador de carga utilizando los siguientesdescribe-auto-scaling-groupsEl comando de.
3. Habilite la nueva zona de disponibilidad para su Classic Load Balancer a través deHability-zones-for-
load-balancerEl comando de.
102
Auto Scaling de Amazon EC2 Guía del usuario
Lanzar instancias en una VPC
En una nube virtual privada (VPC), puede lanzarAWSrecursos como grupos de Auto Scaling. Un grupo
de Auto Scaling en una VPC funciona prácticamente de la misma forma que en Amazon EC2 y admite el
mismo conjunto de características.
Una subred de Amazon VPC es una subdivisión dentro de una zona de disponibilidad definida por un
segmento del intervalo de direcciones IP de la VPC. Mediante el uso de subredes, puede agrupar sus
instancias en función de sus necesidades operativas y de seguridad. Una subred reside en su totalidad
dentro de la zona de disponibilidad en la que se creó. Las instancias de Auto Scaling se lanzan dentro de
las subredes.
Para permitir la comunicación entre Internet y las instancias de las subredes, debe crear una gateway de
Internet y asociarla a la VPC. Una gateway de Internet permite que los recursos incluidos en las subredes
se conecten a Internet a través del límite de red de Amazon EC2. Si el tráfico de una subred se direcciona
a un puerto de enlace a Internet, la subred recibe el nombre de subred pública. Si el tráfico de una subred
no se dirige a una gateway de Internet, la subred recibe el nombre de subred privada. Utilice una subred
pública para los recursos que deben conectarse a Internet y una subred privada para los recursos que no
necesitan conectarse a Internet. Para obtener más información acerca de cómo conceder acceso a Internet
a instancias de una VPC, consulteAcceder a Interneten laAmazon VPC User Guide.
Contenido
• VPC predeterminada (p. 103)
• VPC no predeterminada (p. 104)
• Consideraciones a la hora de elegir subredes VPC (p. 104)
• Direcciones IP en una VPC (p. 104)
• Interfaces de red en una VPC (p. 104)
• Tenencia de ubicación de instancias (p. 105)
• Más recursos para aprender acerca de las VPC (p. 105)
VPC predeterminada
Si ha creado su Cuenta de AWS después del 4 de diciembre de 2013 o está creando su grupo
Auto Scaling en un nuevo Región de AWS Creamos una VPC predeterminada para usted. La VPC
predeterminada incluye una subred predeterminada en cada zona de disponibilidad. Si dispone de
una VPC predeterminada, su grupo de Auto Scaling se crea en la VPC predeterminada de forma
predeterminada.
Si ha creado su Cuenta de AWS Antes del 4 de diciembre de 2013, es posible que pueda elegir entre
Amazon VPC y EC2-Classic en determinadas regiones. Si tiene una de estas cuentas antiguas, es posible
que tenga grupos de Auto Scaling en EC2-Classic en algunas regiones de en lugar de Amazon VPC. Se
recomienda encarecidamente migrar las instancias clásicas a una VPC. Una de las ventajas de utilizar una
VPC es la capacidad de colocar sus instancias en subredes privadas sin ruta a Internet.
Para obtener información acerca de las VPC predeterminadas y cómo saber si su cuenta incluye una VPC
predeterminada, consulteVPC predeterminada y subredes predeterminadasen laAmazon VPC User Guide.
103
Auto Scaling de Amazon EC2 Guía del usuario
VPC no predeterminada
VPC no predeterminada
Puede optar por crear VPC adicionales yendo a la página de Amazon VPC en elAWS Management
Consoley seleccionandoAsistente de inicio de VPC.
Para obtener más información, consulte la Guía del usuario de Amazon VPC.
• Si va a adjuntar un equilibrador de carga de Elastic Load Balancing al grupo Auto Scaling, las instancias
se pueden iniciar en subredes públicas o privadas. Sin embargo, el equilibrador de carga sólo se puede
crear en subredes públicas.
• Si accede a las instancias de Auto Scaling directamente a través de SSH, las instancias solo se pueden
iniciar en subredes públicas.
• Si está accediendo a instancias de Auto Scaling sin entrada usandoAWS Systems
ManagerAdministrador de sesiones, las instancias se pueden iniciar en subredes públicas o privadas.
• Si utiliza subredes privadas, puede permitir que las instancias de Auto Scaling accedan a Internet
mediante una puerta de enlace NAT pública.
• De forma predeterminada, las subredes predeterminadas de una VPC predeterminada son subredes
públicas.
Puede configurar una plantilla de lanzamiento o una configuración de lanzamiento para asignar direcciones
IP públicas a sus instancias. La asignación de direcciones IP públicas a las instancias les permite
comunicarse con Internet o con otros Amazon Web Services.
Si habilita direcciones IP públicas para las instancias y las lanza en una subred configurada para asignar
automáticamente direcciones IPv6, las instancias reciben direcciones IPv4 e IPv6. De lo contrario, reciben
únicamente direcciones IPv4. Para obtener más información, consulteDirecciones IPv6en laGuía del
usuario de Amazon EC2 para instancias de Linux.
Para obtener información sobre cómo especificar intervalos de CIDR para su VPC o subred, consulte
laAmazon VPC User Guide.
104
Auto Scaling de Amazon EC2 Guía del usuario
Tenencia de ubicación de instancias
Al lanzar una instancia mediante una plantilla de lanzamiento, puede especificar interfaces de red
adicionales. Sin embargo, al iniciar una instancia de Auto Scaling con varias interfaces de red, cada
interfaz se crea automáticamente en la misma subred que la instancia. Esto se debe a que Amazon EC2
Auto Scaling pasa por alto las subredes definidas en la plantilla de lanzamiento en favor de lo que se
especifica en el grupo de Auto Scaling. Para obtener más información, consulte Creación de una plantilla
de lanzamiento para un grupo de Auto Scaling.
Si crea o conecta dos o varias interfaces de red de la misma subred a una instancia, pueden producirse
problemas de red, como el ruteo asimétrico, especialmente en instancias que utilicen una variante de
no Amazon Linux. Si necesita este tipo de configuración, debe configurar la interfaz de red secundaria
dentro del sistema operativo. Para ver un ejemplo, consulte .¿Cómo puedo hacer que mi interfaz de red
secundaria funcione en mi instancia de Ubuntu EC2?en laAWSCentro de Conocimiento.
Para hacer recomendaciones, Compute Optimizer analiza las especificaciones de instancia existentes y el
historial de métricas recientes. A continuación, los datos recopilados se utilizan para recomendar qué tipos
de instancias Amazon EC2 se optimizan mejor para gestionar la carga de trabajo de rendimiento existente.
Las recomendaciones se devuelven junto con el precio de la instancia por hora.
Note
Para obtener recomendaciones de Compute Optimizer, primero debe darse de alta en Compute
Optimizer. Para obtener más información, consulteIntroducción alAWS Compute Optimizeren
laAWS Compute OptimizerGuía del usuario de.
105
Auto Scaling de Amazon EC2 Guía del usuario
Limitations
Contenido
• Limitations (p. 106)
• Findings (p. 106)
• Visualización de recomendaciones (p. 106)
• Consideraciones para evaluar las recomendaciones (p. 107)
Limitations
Compute Optimizer genera recomendaciones para las instancias de los grupos de Auto Scaling
configurados para lanzar y ejecutar los tipos de instancias M, C, R, T y X. Sin embargo, no genera
recomendaciones para tipos de instancia -g alimentados porAWSProcesadores Graviton2 (por ejemplo,
C6g) y para tipos de instancias -n que tienen un mayor rendimiento de ancho de banda de red (por
ejemplo, M5n).
Los grupos Auto Scaling también deben configurarse para ejecutar un único tipo de instancia (es decir, no
hay tipos de instancia mixtos), no deben tener una política de escalado asociada a ellos y tener los mismos
valores para la capacidad deseada, mínima y máxima (es decir, un grupo de Auto Scaling con un número
fijo de instancias). Compute Optimizer genera recomendaciones para instancias en grupos de Auto Scaling
que cumplenTodode estos requisitos de configuración.
Findings
Compute Optimizer clasifica sus conclusiones sobre los grupos de Auto Scaling de la siguiente manera:
• No optimizado para: se considera que un grupo de Auto Scaling no está optimizado cuando Compute
Optimizer ha identificado una recomendación que puede proporcionar un mejor rendimiento para su
carga de trabajo.
• Optimizado: un grupo de Auto Scaling se considera optimizado cuando Compute Optimizer determina
que el grupo está aprovisionado correctamente para ejecutar la carga de trabajo, según el tipo de
instancia elegido. Para recursos optimizados, Compute Optimizer puede recomendar a veces un tipo de
instancia de nueva generación.
• None (Ninguno)— No hay recomendaciones para este grupo de Auto Scaling. Esto puede ocurrir si
hace menos de 12 horas que se dio de alta en Compute Optimizer, cuando el grupo de Auto Scaling
lleva ejecutándose menos de 30 horas o cuando el grupo de Auto Scaling o el tipo de instancia
no es compatible con Compute Optimizer. Para obtener más información, consulte la sección
Limitations (p. 106).
Visualización de recomendaciones
Una vez que haya optado por Compute Optimizer, puede ver las conclusiones y recomendaciones que
genera para los grupos de Auto Scaling. Si ha optado recientemente, es posible que las recomendaciones
no estén disponibles durante un máximo de 12 horas.
106
Auto Scaling de Amazon EC2 Guía del usuario
Consideraciones para evaluar las recomendaciones
La vista cambia para mostrar hasta tres recomendaciones de instancia diferentes en una vista
preconfigurada, en función de la configuración predeterminada de la tabla. También proporciona datos
de métricas de CloudWatch recientes (utilización media de CPU, media de entrada en la red y media
de salida de la red) para el grupo de Auto Scaling.
Determine si desea utilizar alguna de las recomendaciones. Decida si desea optimizar para mejora del
rendimiento, para reducción de costos o para una combinación de ambos.
Para cambiar el tipo de instancia en el grupo de Auto Scaling, actualice la plantilla de lanzamiento o el
grupo de Auto Scaling para que utilicen una nueva configuración de lanzamiento. Las instancias existentes
siguen utilizando la configuración anterior. Para actualizar las instancias existentes, termínelas de forma
que se sustituyan por el grupo de Auto Scaling, o bien permita que el escalado automático reemplace
gradualmente las instancias más antiguas por instancias más recientes en función de suPolíticas de
terminación (p. 215).
Note
• Las recomendaciones no prevén su uso. Las recomendaciones se basan en su uso histórico durante el
periodo de 14 días más reciente. Asegúrese de elegir un tipo de instancia que se espera que satisfaga
sus necesidades de uso futuras.
• Céntrese en las métricas gráficas para determinar si el uso real es inferior a la capacidad de la instancia.
También puede ver los datos de métricas (promedio, pico, percentil) en CloudWatch para evaluar más
detalladamente las recomendaciones de instancias EC2. Por ejemplo, observe cómo cambian las
métricas de porcentaje de CPU durante el día y si hay picos que deben acomodarse. Para obtener
más información, consulteVisualización de métricas disponiblesen laGuía del usuario de Amazon
CloudWatch.
• Compute Optimizer podría proporcionar recomendaciones para instancias de rendimiento ampliable,
que son las instancias T3, T3a y T2. Si amplía su capacidad periódicamente por encima del nivel de
referencia, asegúrese de que puede seguir haciéndolo ahora con las vCPU del nuevo tipo de instancia.
Para obtener más información, consulteCréditos de CPU y rendimiento de referencia para las instancias
de rendimiento ampliableen laGuía del usuario de Amazon EC2 para instancias de Linux.
• Si ha adquirido una instancia reservada, es posible que su instancia bajo demanda se facture como
instancia reservada. Antes de cambiar el tipo de instancia actual, evalúe primero el impacto en la
utilización y la cobertura de la Instancia reservada.
• Considere la posibilidad de cambiar a instancias de nueva generación, siempre que sea posible.
• Al migrar a una familia de instancias diferente, asegúrese de que el tipo de instancia actual y el nuevo
tipo de instancia sean compatibles, por ejemplo, en cuanto a virtualización, arquitectura o tipo de red.
Para obtener más información, consulte Compatibilidad para cambiar el tamaño de instancias en la Guía
del usuario de Amazon EC2 para instancias de Linux.
• Por último, considere la calificación de riesgo de rendimiento que se proporciona para cada
recomendación. El riesgo de rendimiento indica la cantidad de esfuerzo que puede necesitar invertir para
validar si el tipo de instancia recomendado cumple los requisitos de rendimiento de la carga de trabajo.
También es recomendable que realice pruebas de carga y rendimiento rigurosas antes y después de
realizar cualquier cambio.
107
Auto Scaling de Amazon EC2 Guía del usuario
Sustitución de instancias en función de la duración máxima
Recursos adicionales
La duración máxima de la instancia especifica la cantidad máxima de tiempo (en segundos) que una
instancia puede estar en servicio. La duración máxima se aplica tanto a las instancias actuales como a las
instancias futuras del grupo. Cuando una instancia se acerca a su duración máxima, se termina y sustituye,
y no se puede volver a utilizar.
Al configurar la duración máxima de la instancia para el grupo de Auto Scaling, debe especificar un valor
de al menos 86.400 segundos (1 día). Para borrar un valor establecido anteriormente, especifique un valor
nuevo de 0.
Tenga en cuenta que no está garantizada la sustitución de las instancias al final de su duración máxima.
En algunos casos, es posible que Amazon EC2 Auto Scaling tenga que comenzar a reemplazar las
instancias inmediatamente después de configurar el parámetro de duración máxima de la instancia. La
intención de este comportamiento más agresivo es evitar que se reemplacen todas las instancias al mismo
tiempo.
En función de la duración máxima especificada y del tamaño del grupo de Auto Scaling, la velocidad de
sustitución puede variar. En general, Amazon EC2 Auto Scaling reemplaza las instancias de una en una,
con una pausa entre reemplazos. Sin embargo, la velocidad de sustitución será mayor cuando no haya
tiempo suficiente para reemplazar cada instancia individualmente de acuerdo con la duración máxima
especificada. En este caso, Amazon EC2 Auto Scaling reemplazará varias instancias a la vez, hasta un 10
por ciento de la capacidad actual de su grupo de Auto Scaling.
• Establezca el límite máximo de duración de la instancia en un periodo de tiempo más largo para espaciar
los reemplazos. Esto es útil para los grupos que tienen un gran número de instancias que reemplazar.
• Agregue tiempo adicional entre determinados reemplazos mediante la protección de instancias para
evitar que se reemplacen temporalmente instancias individuales del grupo de Auto Scaling. Cuando esté
listo para reemplazar estas instancias, elimine la protección de cada instancia individual. Para obtener
más información, consulte Usar la protección de escalado ascendente de instancias (p. 225).
Cree el grupo de Auto Scaling de la manera habitual. Después de crear el grupo de Auto Scaling, edítelo
para especificar la duración máxima de la instancia.
108
Auto Scaling de Amazon EC2 Guía del usuario
Sustitución de instancias en función de la duración máxima
Al especificar la duración máxima de las instancias mediante laAWS CLIPuede aplicar este límite a un
grupo de Auto Scaling existente. También puede aplicar este límite a un nuevo grupo de Auto Scaling
cuando lo cree.
A continuación, se incluye un archivo de ejemplo config.json que muestra una duración máxima de
instancia de 2592000 segundos (30 días).
{
"AutoScalingGroupName": "my-asg",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "$Latest"
},
"MinSize": 1,
"MaxSize": 5,
"MaxInstanceLifetime": 2592000,
"VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
"Tags": []
}
Usardescribe-auto-scaling-groupscomando.
{
"AutoScalingGroups": [
{
"AutoScalingGroupName": "my-asg",
"AutoScalingGroupARN": "arn",
"LaunchTemplate": {
"LaunchTemplateId": "lt-0b97f1e282EXAMPLE",
"LaunchTemplateName": "my-launch-template",
"Version": "$Latest"
},
"MinSize": 1,
"MaxSize": 5,
"DesiredCapacity": 1,
"DefaultCooldown": 300,
"AvailabilityZones": [
"us-west-2a",
"us-west-2b",
"us-west-2c"
],
109
Auto Scaling de Amazon EC2 Guía del usuario
Sustitución de instancias basadas
en una actualización de instancia
"LoadBalancerNames": [],
"TargetGroupARNs": [],
"HealthCheckType": "EC2",
"HealthCheckGracePeriod": 0,
"Instances": [
{
"InstanceId": "i-04d180b9d5fc578fc",
"InstanceType": "t2.small",
"AvailabilityZone": "us-west-2b",
"LifecycleState": "Pending",
"HealthStatus": "Healthy",
"LaunchTemplate": {
"LaunchTemplateId": "lt-0b97f1e282EXAMPLE",
"LaunchTemplateName": "my-launch-template",
"Version": "7"
},
"ProtectedFromScaleIn": false
}
],
"CreatedTime": "2019-11-14T22:56:15.487Z",
"SuspendedProcesses": [],
"VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
"EnabledMetrics": [],
"Tags": [],
"TerminationPolicies": [
"Default"
],
"NewInstancesProtectedFromScaleIn": false,
"ServiceLinkedRoleARN": "arn",
"MaxInstanceLifetime": 2592000
}
]
}
Durante una actualización de instancias, Amazon EC2 Auto Scaling deja un conjunto de instancias fuera
de servicio, las termina y, a continuación, lanza un conjunto de instancias con la nueva configuración.
Después de eso, las instancias se reemplazan de forma sucesiva. En una actualización continua,
cuando se lanza una nueva instancia, Amazon EC2 Auto Scaling espera hasta que la instancia pasa una
comprobación de estado y finaliza la preparación antes de pasar a reemplazar otra instancia. Este proceso
se repite hasta que se terminan y sustituyen todas las instancias.
Esta característica resulta útil, por ejemplo, cuando tiene una nueva plantilla de lanzamiento o
configuración de lanzamiento que especifica una nueva AMI o nuevos datos de usuario. Solo necesita
actualizar el grupo de Auto Scaling para especificar la nueva plantilla de lanzamiento o la configuración
de lanzamiento. A continuación, inicie una actualización de instancia para comenzar inmediatamente el
proceso de sustitución de instancias en el grupo de.
110
Auto Scaling de Amazon EC2 Guía del usuario
Iniciar o cancelar una actualización de instancias(consola)
para determinar el estado de una instancia, consulteComprobaciones de Health para instancias de Auto
Scaling (p. 239).
Antes de iniciar una actualización de instancias, puede configurar el porcentaje mínimo en buen estado
para controlar el nivel de interrupción de la aplicación. Si la aplicación no supera las comprobaciones de
estado, el proceso de actualización continua espera un período de hasta 60 minutos después de que
alcance el umbral mínimo en buen estado antes de que se produzca un error. La intención es darle tiempo
para recuperarse en caso de un problema temporal. Si se produce un error en el proceso de actualización
continua, las instancias que ya se han reemplazado no se revierten a su configuración anterior. Para
corregir una actualización de instancia fallida, primero resuelva el problema subyacente que causó un error
en la actualización y, a continuación, inicie otra actualización de instancia.
Después de determinar que una instancia recién lanzada está en buen estado, Amazon EC2 Auto Scaling
no pasa inmediatamente al siguiente reemplazo. Proporciona una ventana para que cada instancia se
prepare después del lanzamiento, que se puede configurar. Esto puede ser útil cuando tiene scripts de
configuración que tardan tiempo en ejecutarse. Para proteger la disponibilidad de la aplicación, asegúrese
de que el período de preparación de la instancia cubra el tiempo de inicio esperado de la aplicación, desde
cuando una nueva instancia entra en servicio hasta cuando puede recibir tráfico.
A continuación se indican los aspectos que deben tenerse en cuenta al comenzar una actualización de
instancias, a fin de garantizar que el grupo siga funcionando del modo previsto.
• Durante la preparación, una instancia recién lanzada no se cuenta para las métricas agregadas del
grupo Auto Scaling.
• Si ha agregado políticas de escalado al grupo de Auto Scaling, las actividades de escalado se ejecutan
en paralelo. Si establece un intervalo largo para el período de preparación de la actualización de
instancias, las instancias recién iniciadas tardarán más tiempo en reflejarse en las métricas. Por lo tanto,
un período de preparación adecuado ayuda a evitar que Amazon EC2 Auto Scaling se escale en datos
métricos obsoletos.
• Si ha agregado un enlace de ciclo de vida al grupo de Auto Scaling, el período de calentamiento no
comienza hasta que se completan las acciones del enlace de ciclo de vida y la instancia entra en el
campoInServiceEstado.
Puede iniciar o cancelar una actualización de instancia mediante laAWS Management Console, elAWS
CLI, o un SDK.
Se abre un panel dividido en la parte inferior delGrupos de Auto Scaling(Se ha creado el certificado).
3. En la pestaña Instance refresh (Actualización de instancias) en Instance refreshes (Actualizaciones de
instancias), elija Start instance refresh (Iniciar actualización de instancias).
4. En el cuadro de diálogo Start instance refresh (Iniciar actualización de instancia) haga lo siguiente:
111
Auto Scaling de Amazon EC2 Guía del usuario
Inicie o cancele una actualización de instancias (AWS CLI)
actualización de instancias para permitir que la operación continúe, expresada como un porcentaje
de la capacidad deseada del grupo. Aumentar esta configuración al 100 por ciento limita la tasa
de reemplazo a una instancia al mismo tiempo. Por el contrario, reducir esta configuración a 0 por
ciento tiene como efecto el reemplazo de todas las instancias al mismo tiempo.
• (Opcional) En Preparación de la instancia, el valor predeterminado es el valor especificado para el
período de gracia de comprobación de estado del grupo. Puede cambiar el valor para asegurarse
de que refleja el tiempo real de inicio de la aplicación. El valor predeterminado puede no reflejar
actualizaciones muy recientes en la versión más reciente de la aplicación.
5. Elija Inicio.
Para comenzar una actualización de instancias desde la AWS CLI, utilice el comando start-instance-
refresh. Puede especificar las preferencias que desee cambiar en un archivo de configuración JSON.
Cuando haga referencia al archivo de configuración, proporcione la ruta y el nombre del archivo como se
muestra en el ejemplo siguiente.
Contenido de config.json.
{
"AutoScalingGroupName": "my-asg",
112
Auto Scaling de Amazon EC2 Guía del usuario
Inicie o cancele una actualización de instancias (AWS CLI)
"Preferences": {
"InstanceWarmup": 400,
"MinHealthyPercentage": 50
}
}
Como alternativa, puede comenzar la actualización de instancias sin las preferencias opcionales si ejecuta
el siguiente comando. Si no se proporcionan preferencias, los valores predeterminados se utilizan para
InstanceWarmup y MinHealthyPercentage.
Resultado de ejemplo.
{
"InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
Para ver las actualizaciones de instancias de un grupo de Auto Scaling, utilice las siguientesdescribe-
instance-refreshescomando.
Resultado de ejemplo.
{
"InstanceRefreshes": [
{
"InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b",
"AutoScalingGroupName": "my-asg",
"Status": "InProgress",
"StartTime": "2020-06-02T18:11:27Z",
"PercentageComplete": 0,
"InstancesToUpdate": 5
},
{
"InstanceRefreshId": "dd7728d0-5bc4-4575-96a3-1b2c52bf8bb1",
"AutoScalingGroupName": "my-asg",
"Status": "Successful",
"StartTime": "2020-06-02T16:43:19Z",
"EndTime": "2020-06-02T16:53:37Z",
"PercentageComplete": 100,
"InstancesToUpdate": 0
}
]
}
Resultado de ejemplo.
113
Auto Scaling de Amazon EC2 Guía del usuario
Limitations
{
"InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
Limitations
• Instancias terminadas antes del lanzamiento: Cuando sólo hay una instancia en el grupo Auto Scaling,
iniciar una actualización de instancia puede provocar una interrupción porque Amazon EC2 Auto Scaling
finaliza una instancia y, a continuación, inicia una nueva instancia.
• Duración total: El período máximo de tiempo que una actualización de instancias puede continuar
reemplazando activamente las instancias es de 14 días.
• Las instancias no reemplazadas: Si una instancia está en espera o protegida de la escala en, no se
puede reemplazar. Si Amazon EC2 Auto Scaling encuentra una instancia que no puede sustituir,
continuará reemplazando otras instancias.
• Tiempo de espera de una hora: Cuando una instancia de actualización no puede continuar realizando
reemplazos porque hay instancias en espera o protegidas contra la escalado, sigue intentándolo durante
una hora y proporciona un mensaje de estado para ayudarle a resolver el problema. Si el problema
persiste después de una hora, la operación produce un error.
• Sin restauración: Puede cancelar una actualización de instancia en cualquier momento, pero las
instancias que ya se hayan reemplazado no vuelven a su configuración anterior.
Para habilitar los puntos de comprobación para una actualización de instancia, agregue las siguientes
preferencias de actualización al archivo de configuración que define los parámetros de actualización de
instancia cuando utilice la herramientaAWS CLI:
El porcentaje del grupo Auto Scaling que debe reemplazarse correctamente se indica con el último valor
que se muestra en el cuadroCheckpointPercentagesmatriz. La operación no pasa aSuccessfulhasta
que este porcentaje del grupo se reemplace correctamente, y cada instancia se calienta y esté lista para
empezar a servir de nuevo el tráfico.
Amazon EC2 Auto Scaling emite eventos para cada punto de control. Si agrega una regla de EventBridge
para enviar los eventos a un destino como Amazon SNS, puede recibir una notificación cuando puede
114
Auto Scaling de Amazon EC2 Guía del usuario
Añadir puntos de control
ejecutar las validaciones necesarias. Para obtener más información, consulte Creación de reglas de
EventBridge por ejemplo eventos de actualización (p. 270).
Se abre un panel dividido en la parte inferior delGrupos de Auto Scaling(Se ha creado el certificado).
3. En la pestaña Instance refresh (Actualización de instancias) en Instance refreshes (Actualizaciones de
instancias), elija Start instance refresh (Iniciar actualización de instancias).
4. En el navegadorActualización de instancias de inicio(Cuadro de diálogo), especifique los valores
aplicables paraPorcentaje mínimo de saludyRecuperación de instancias.
5. Seleccione laHabilitar actualización de instancias con puntos de control.
Esto muestra un cuadro en el que puede definir el umbral porcentual para el primer punto de control.
6. Para establecer un porcentaje para el primer punto de control, introduzca un número del 1 al 100 en el
campo numérico enProceda hasta que se actualice el ____% del grupo.
7. Para agregar otro punto de control, seleccioneAñadir punto de controly, a continuación, defina el
porcentaje para el siguiente punto de control.
8. Para especificar cuánto tiempo espera Amazon EC2 Auto Scaling una vez alcanzado un punto de
control, actualice los campos deEsperar a1 hourentre puntos de control. La unidad de tiempo puede
ser de horas, minutos o segundos.
9. Elija Inicio.
Contenido de config.json.
{
"AutoScalingGroupName": "my-asg",
"Preferences": {
"InstanceWarmup": 400,
"MinHealthyPercentage": 80,
"CheckpointPercentages": [1,20,100],
"CheckpointDelay": 600
}
115
Auto Scaling de Amazon EC2 Guía del usuario
Añadir puntos de control
Contenido de config.json.
{
"AutoScalingGroupName": "my-asg",
"Preferences": {
"InstanceWarmup": 400,
"MinHealthyPercentage": 80,
"CheckpointPercentages": [20,100],
"CheckpointDelay": 600
}
}
Para reemplazar una parte del grupo Auto Scaling y, a continuación, detenerse por completo, utilice
el siguiente ejemplostart-instance-refreshcomando. En este ejemplo se configura una actualización
de instancia que actualiza el 1 por ciento del grupo Auto Scaling inicialmente, espera 10 minutos y, a
continuación, actualiza el 19 por ciento siguiente antes de finalizar la operación.
Contenido de config.json.
{
"AutoScalingGroupName": "my-asg",
"Preferences": {
"InstanceWarmup": 400,
"MinHealthyPercentage": 80,
"CheckpointPercentages": [1,20],
"CheckpointDelay": 600
}
}
Por ejemplo, suponga que su grupo Auto Scaling tiene 10 instancias y realiza los siguientes reemplazos.
Los porcentajes de sus puntos de control son[20,50]con un retraso en el puesto de control de 15
minutos y un porcentaje mínimo de salud del 80%.
116
Auto Scaling de Amazon EC2 Guía del usuario
Fusión de grupos de Auto Scaling
A las 0:35, la operación dejará de lanzar nuevas instancias aunque el porcentaje completado aún no
refleje con precisión el número de reemplazos completados al 50% hasta 10 minutos después, cuando la
nueva instancia complete su período de calentamiento.
• Dado que los puntos de control se basan en porcentajes, el número de instancias que se van a
reemplazar para llegar a un punto de control cambia con el tamaño del grupo. Esto significa que cuando
se produce una actividad de escalado horizontal y aumenta el tamaño del grupo, una operación en
curso podría volver a llegar a un punto de control. Si esto sucede, Amazon EC2 Auto Scaling envía otra
notificación y repite el tiempo de espera entre los puntos de control antes de continuar.
• Es posible saltarse un puesto de control bajo ciertas circunstancias. Por ejemplo, supongamos que su
grupo Auto Scaling tiene 2 instancias y los porcentajes de puntos de control son[10,40,100]. Una vez
reemplazada la primera instancia, Amazon EC2 Auto Scaling calcula que se ha reemplazado el 50% del
grupo. Debido a que el 50% es mayor que los dos primeros puntos de control, se omite el primer punto
de control (10) y envía una notificación para el segundo punto de control (40).
• La cancelación de la operación impide que se realicen nuevos reemplazos. Si cancela la operación o
produce un error antes de llegar al último punto de control, las instancias que ya se han reemplazado no
se revierten a su configuración anterior.
• En el caso de una actualización parcial, al volver a ejecutar la operación, Amazon EC2 Auto Scaling
no se reinicia desde el punto del último punto de control y se detiene cuando solo se reemplazan las
instancias antiguas. Sin embargo, se dirigirá primero a instancias antiguas para su reemplazo antes de
dirigirse a nuevas instancias.
En los siguientes ejemplos se presupone que tiene dos grupos idénticos en dos zonas de disponibilidad
diferentes: us-west-2a y us-west-2c. Estos dos grupos comparten las siguientes especificaciones:
• Tamaño mínimo = 2
• Tamaño máximo = 5
• Capacidad deseada = 3
117
Auto Scaling de Amazon EC2 Guía del usuario
Zonas de fusión (AWS CLI)
Para combinar distintos grupos de una sola zona en un solo grupo multizona
{
"AutoScalingGroups": [
{
"AutoScalingGroupARN": "arn",
"HealthCheckGracePeriod": 300,
"SuspendedProcesses": [],
"DesiredCapacity": 0,
"Tags": [],
"EnabledMetrics": [],
"LoadBalancerNames": [],
"AutoScalingGroupName": "my-group-c",
"DefaultCooldown": 300,
"MinSize": 0,
"Instances": [],
"MaxSize": 0,
"VPCZoneIdentifier": "null",
"TerminationPolicies": [
"Default"
],
"LaunchConfigurationName": "my-launch-config",
"CreatedTime": "2015-02-26T18:24:14.449Z",
"AvailabilityZones": [
"us-west-2c"
],
"HealthCheckType": "EC2"
}
]
}
118
Auto Scaling de Amazon EC2 Guía del usuario
Eliminación de la infraestructura de Auto Scaling
6. Usardelete-auto-scaling-groupPara eliminarmy-group-c.
Tareas
• Eliminar un grupo de Auto Scaling (p. 119)
• (Opcional) Eliminar la configuración de lanzamiento (p. 119)
• (Opcional) Eliminar la plantilla de lanzamiento (p. 120)
• (Opcional) Eliminar el balanceador de carga y grupos de destino (p. 120)
• (Opcional) Eliminar alarmas de CloudWatch (p. 121)
Un icono de carga en elNombreLa columna indica que el grupo de Auto Scaling se ha eliminado.
LaDeseado,Mín (Mínimo), yMax (Máximo)Las columnas muestran0Para el grupo de Auto Scaling. Se
tarda unos minutos en terminar la instancia y eliminar el grupo. Actualice la lista para ver el estado
actual.
119
Auto Scaling de Amazon EC2 Guía del usuario
(Opcional) Eliminar la plantilla de lanzamiento
Utilice el siguientedelete-launch-configurationcomando.
Puede omitir este paso si desea mantener la plantilla de lanzamiento para usarla en el futuro.
• Elija Actions, Delete template. Cuando se le pida confirmación, elija Delete launch template.
• Elija Actions (Acciones), Delete template version (Eliminar plantilla de lanzamiento). Seleccione la
versión que desea eliminar y elija Delete launch template version (Eliminar versión de plantilla de
lanzamiento).
120
Auto Scaling de Amazon EC2 Guía del usuario
(Opcional) Eliminar alarmas de CloudWatch
Para eliminar el balanceador de carga asociado al grupo de Auto Scaling (AWS CLI)
En los balanceadores de carga de aplicaciones y balanceadores de carga de red, utilice los siguientes
pasos:delete-load-balancerydelete-target-groupcommands.
Puede omitir este paso si su grupo de Auto Scaling no está asociado a ninguna alarma de CloudWatch o si
desea conservar las alarmas para usarlas en el futuro.
Note
Eliminar un grupo de Auto Scaling elimina automáticamente las alarmas de CloudWatch que
Amazon EC2 Auto Scaling administra para las políticas de escalado de seguimiento de destino.
Utilice el comando delete-alarms. Puede eliminar una o más alarmas a la vez. Por ejemplo, utilice el
siguiente comando para eliminar las alarmas Step-Scaling-AlarmHigh-AddCapacity y Step-
Scaling-AlarmLow-RemoveCapacity.
121
Auto Scaling de Amazon EC2 Guía del usuario
(Opcional) Eliminar alarmas de CloudWatch
122
Auto Scaling de Amazon EC2 Guía del usuario
Opciones de escalado
Auto Scaling de Amazon EC2 ofrece varias formas para ajustar el escalado de acuerdo con las
necesidades de sus aplicaciones. Por lo tanto, es importante que conozca bien su aplicación. Tenga en
cuenta las siguientes consideraciones:
• ¿Qué papel desea que Amazon EC2 Auto Scaling desempeñe en la arquitectura de su aplicación? Es
habitual pensar en el escalado automático principalmente como un mecanismo para aumentar y reducir
la capacidad; sin embargo, también resulta útil para mantener un número constante de servidores.
• ¿Qué restricciones de costos son importantes para usted? Como Amazon EC2 Auto Scaling utiliza
instancias EC2 Auto Scaling, solo paga los recursos que utiliza. Conocer las limitaciones de costos le
ayuda a decidir cuándo y cuánto escalar sus aplicaciones.
• ¿Qué métricas son importantes para su aplicación? Amazon CloudWatch admite una serie de métricas
diferentes que puede utilizar con su grupo de Auto Scaling.
Contenido
• Opciones de escalado (p. 123)
• Determina los límites de capacidad para el grupo de Auto Scaling (p. 124)
• Mantener un número fijo de instancias en el grupo de Auto Scaling (p. 125)
• Escale manual para Amazon EC2 Auto Scaling (p. 126)
• Escale dinámico para Amazon EC2 Auto Scaling (p. 135)
• Escaling predictivo para Amazon EC2 Auto Scaling (p. 168)
• Escale programado para Amazon EC2 Auto Scaling (p. 178)
• Enganches de ciclo de vida de Amazon EC2 Auto Scaling (p. 184)
• Grupos de Amazon EC2 (p. 200)
• Controlar qué instancias de Auto Scaling terminan durante la escala en (p. 215)
• Eliminación temporal de instancias del grupo de Auto Scaling (p. 228)
• Suspensión y reanudación de un proceso para un grupo de Auto Scaling (p. 232)
Opciones de escalado
Auto Scaling de Amazon EC2 ofrece varias formas de escalar su grupo de Auto Scaling.
Puede configurar su grupo de Auto Scaling para mantener un número específico de instancias en
ejecución en todo momento. Para mantener los niveles de instancias actuales, Amazon EC2 Auto Scaling
realiza una comprobación de estado periódica en las instancias en ejecución dentro de un grupo de Auto
Scaling. Cuando Amazon EC2 Auto Scaling encuentra una instancia en mal estado, la termina y lanza una
nueva. Para obtener más información, consulte Mantener un número fijo de instancias en el grupo de Auto
Scaling (p. 125).
123
Auto Scaling de Amazon EC2 Guía del usuario
Establecimiento de límites de capacidad
Escalar manualmente
El escalado manual es la forma más básica de escalar los recursos, donde especifica únicamente
el cambio en la capacidad máxima, mínima o deseada de su grupo de Auto Scaling. Auto Scaling
de Amazon EC2 se encarga del proceso de creación o terminación de instancias para mantener la
capacidad actualizada. Para obtener más información, consulte Escale manual para Amazon EC2 Auto
Scaling (p. 126).
El escalado por programación significa que las acciones de escalado se ejecutan de manera automática
en función de la hora y la fecha. Esto resulta útil cuando sabe exactamente cuándo aumentar o disminuir
el número de instancias del grupo, simplemente porque la necesidad surge de acuerdo con una
programación previsible. Para obtener más información, consulte Escale programado para Amazon EC2
Auto Scaling (p. 178).
Una forma más avanzada de escalar los recursos, mediante el escalado dinámico, le permite definir una
política de escalado que cambie el tamaño dinámico del grupo de Auto Scaling para satisfacer los cambios
en la demanda. Por ejemplo, tiene una aplicación web que actualmente se ejecuta en dos instancias
y desea que la utilización de CPU del grupo de Auto Scaling permanezca en el 50% cuando cambia la
carga en la aplicación. Este método es útil para el escalado descendente en respuesta a las condiciones
cambiantes, cuando no sabe cuándo cambiarán estas condiciones. Puede configurar Amazon EC2 Auto
Scaling para que responda por usted. Para obtener más información, consulte Escale dinámico para
Amazon EC2 Auto Scaling (p. 135).
También puede combinar el escalado predictivo y el escalado dinámico (enfoques proactivo y reactivo,
respectivamente) para escalar la capacidad de Amazon EC2 con mayor rapidez. Para obtener más
información, consulte Escaling predictivo para Amazon EC2 Auto Scaling (p. 168).
Un grupo de Auto Scaling comenzará iniciando tantas instancias como se especifique para la capacidad
deseada. Si no hay políticas de escalado o acciones programadas asociadas al grupo Auto Scaling,
Amazon EC2 Auto Scaling mantiene la cantidad deseada de instancias y realiza comprobaciones
periódicas de estado en las instancias del grupo. Las instancias no saludables serán terminadas y
reemplazadas por otras nuevas.
Un grupo de Auto Scaling es elástico si tiene diferentes valores para la capacidad mínima y máxima. Todas
las solicitudes para cambiar la capacidad deseada del grupo de Auto Scaling (ya sea mediante escalado
manual o automático) deben estar comprendidas dentro de estos límites.
Si elige escalar automáticamente su grupo, elmaximumpermite que Amazon EC2 Auto Scaling escale el
número de instancias según sea necesario para gestionar el aumento de la demanda. El límite mínimo
garantiza que siempre haya cierto número de instancias en ejecución.
Estos límites también se aplican cuando el grupo de Auto Scaling, por ejemplo, cuando desea desactivar
el escalado automático y hacer que el grupo se ejecute en un tamaño fijo, ya sea de forma temporal o
permanente.
124
Auto Scaling de Amazon EC2 Guía del usuario
Mantenimiento de un número fijo de instancias
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
4. En el panel inferior, en elDetalles dePuede ver o cambiar la configuración actual de la capacidad
mínima, máxima y deseada.
Por encima de laDetalles decontiene información general sobre el grupo Auto Scaling, incluido el número
actual de instancias del grupo, la capacidad mínima, máxima y deseada y una columna de estado. Si el
grupo Auto Scaling utiliza ponderación de instancias, la información incluye el número de unidades de
capacidad aportadas a la capacidad deseada. Para agregar o quitar columnas de la lista, elija el icono de
configuración en la parte superior de la página. Luego, paraatributos de grupos de Auto Scaling, active o
desactive cada columna y elijaConfirmarcambios.
Para verificar el tamaño del grupo de Auto Scaling después de realizar cambios
Espere unos minutos y, a continuación, actualice la vista para ver el estado más reciente. Una vez
completada una actividad de escalado, observe que laInstanciasmuestra un nuevo valor.
También puede ver el número de instancias y el estado de las instancias que se están ejecutando
actualmente desde laAdministración de instanciasdebajo deInstancias.
Si necesita un número fijo de instancias, solo tiene que establecer el mismo valor en la capacidad mínima,
máxima y deseada. Una vez que haya creado el grupo de Auto Scaling, el grupo de comienza lanzando
suficientes instancias para satisfacer su capacidad deseada. Si no hay otras condiciones de escalado
asociadas al grupo de Auto Scaling, el grupo de mantiene este número de instancias en ejecución en todo
momento aunque una instancia deje de estar en buen estado.
Auto Scaling de Amazon EC2 monitoriza el estado de cada instancia de Amazon EC2 que lanza. Cuando
encuentra una instancia en mal estado, termina la instancia y lanza una nueva. Si detiene o termina una
instancia en ejecución, se considera que la instancia está en mal estado y se sustituye. Si una instancia
125
Auto Scaling de Amazon EC2 Guía del usuario
Escalado manual
termina de forma inesperada, Auto Scaling de Amazon EC2 lo detecta y lanza una instancia de sustitución.
Esta función le permite mantener un número fijo de instancias EC2 automáticamente. Para obtener más
información sobre las sustituciones de la comprobación de estado, consulte Comprobaciones de Health
para instancias de Auto Scaling (p. 239).
El Auto Scaling de Amazon EC2 también le permite ajustar la capacidad deseada para actualizar el
número de instancias que intenta mantener. Para poder ajustar la capacidad deseada en un valor que esté
fuera del rango de capacidad mínima y máxima, debe actualizar estos límites.
En el siguiente ejemplo se presupone que ha creado un grupo de Auto Scaling 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.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestañaDetails (Detalles) elija Group details (Detalles de grupo), Edit (Editar).
4. En Desired capacity (Capacidad deseada), aumente la capacidad deseada en uno. Por ejemplo, si el
valor actual es 1, escriba 2.
La capacidad deseada debe ser menor o igual que el tamaño máximo del grupo. Si el nuevo valor
para Desired capacity (Capacidad deseada) es mayor que Maximum capacity (Capacidad máxima),
debe actualizar Maximum capacity (Capacidad máxima).
5. Elija Update (Actualizar) cuando haya terminado.
Ahora verifique que el grupo de Auto Scaling ha lanzado una instancia adicional.
1. En la pestaña Activity (Actividad), en Activity history (Historial de actividad), la columna Status (Estado)
muestra el estado actual de la instancia. Utilice el botón Actualizar hasta que vea que el estado de
la instancia cambia a Successful (Correcto). Esto indica que el grupo de Auto Scaling ha lanzado
correctamente una nueva instancia.
Note
126
Auto Scaling de Amazon EC2 Guía del usuario
Para cambiar el tamaño del
grupo de Auto Scaling (AWS CLI)
En el siguiente ejemplo se presupone que ha creado un grupo de Auto Scaling 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.
UsarEstablecimiento de la capacidad deseadaPara cambiar el tamaño del grupo de Auto Scaling, tal y
como se muestra en el ejemplo siguiente.
Si opta por respetar el período de recuperación predeterminado del grupo de Auto Scaling, debe
especificar la opción–-honor-cooldowncomo se muestra en el ejemplo siguiente.
Usardescribe-auto-scaling-groupsPara confirmar que el tamaño del grupo de Auto Scaling ha cambiado, tal
y como se muestra en el ejemplo siguiente.
El siguiente es un resultado de ejemplo, con detalles sobre el grupo y las instancias lanzadas.
{
"AutoScalingGroups": [
{
"AutoScalingGroupARN": "arn",
"ServiceLinkedRoleARN": "arn",
"TargetGroupARNs": [],
"SuspendedProcesses": [],
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"Tags": [],
"EnabledMetrics": [],
127
Auto Scaling de Amazon EC2 Guía del usuario
Adjunte instancias de EC2 al grupo de Auto Scaling
"LoadBalancerNames": [],
"AutoScalingGroupName": "my-asg",
"DefaultCooldown": 300,
"MinSize": 1,
"Instances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"HealthStatus": "Healthy",
"LifecycleState": "Pending"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0c20ac468fa3049e8",
"HealthStatus": "Healthy",
"LifecycleState": "InService"
}
],
"MaxSize": 5,
"VPCZoneIdentifier": "subnet-c87f2be0",
"HealthCheckGracePeriod": 300,
"TerminationPolicies": [
"Default"
],
"CreatedTime": "2019-03-18T23:30:42.611Z",
"AvailabilityZones": [
"us-west-2a"
],
"HealthCheckType": "EC2",
"NewInstancesProtectedFromScaleIn": false,
"DesiredCapacity": 2
}
]
}
Observe que DesiredCapacity muestra el nuevo valor. El grupo de Auto Scaling ha lanzado una
instancia adicional.
128
Auto Scaling de Amazon EC2 Guía del usuario
Adjunte instancias de EC2 al grupo de Auto Scaling
• Si el grupo de Auto Scaling tiene un grupo de destino del balanceador de carga asociado, la instancia
y el balanceador de carga deben estar en la misma VPC. Si el grupo de Auto Scaling tiene un Classic
Load Balancer asociado, la instancia y el balanceador de carga deben estar en EC2-Classic o en la
misma VPC.
Cuando se asocian instancias, aumenta la capacidad deseada del grupo en el número de instancias
que se asocian. Si el número de instancias que se asocian más la capacidad deseada supera el tamaño
máximo del grupo, la solicitud producirá un error.
Si asocia una instancia a un grupo de Auto Scaling que tiene un grupo de destino del balanceador de
carga o un Classic Load Balancer, la instancia se registra con el balanceador de carga.
El nuevo grupo de Auto Scaling se crea mediante una nueva configuración de lanzamiento con el
mismo nombre que especificó para el grupo de Auto Scaling. La configuración de lanzamiento obtiene
la configuración (por ejemplo, el grupo de seguridad y el rol de IAM) de la instancia que ha asociado.
El grupo de Auto Scaling obtiene la configuración (por ejemplo, la zona de disponibilidad y la subred)
de la instancia que ha asociado, y tiene una capacidad deseada y un tamaño máximo de1.
5. (Opcional) Para editar la configuración del grupo de Auto Scaling, en el panel de navegación, enAUTO
SCALING, elijaGrupos de Auto Scaling. Seleccione la casilla de verificación ubicada junto al nuevo
grupo de Auto Scaling, elija la opciónEditarHaga clic en la lista de grupos de, cambie la configuración
según sea necesario y, a continuación, elijaActualización.
129
Auto Scaling de Amazon EC2 Guía del usuario
Adjunte instancias de EC2 al grupo de Auto Scaling
La siguiente respuesta de ejemplo muestra que la capacidad deseada es 2 y que el grupo tiene dos
instancias en ejecución.
{
"AutoScalingGroups": [
{
"AutoScalingGroupARN": "arn",
"ServiceLinkedRoleARN": "arn",
"TargetGroupARNs": [],
"SuspendedProcesses": [],
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"Tags": [],
"EnabledMetrics": [],
"LoadBalancerNames": [],
"AutoScalingGroupName": "my-asg",
"DefaultCooldown": 300,
"MinSize": 1,
"Instances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"HealthStatus": "Healthy",
"LifecycleState": "Pending"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0c20ac468fa3049e8",
"HealthStatus": "Healthy",
"LifecycleState": "InService"
130
Auto Scaling de Amazon EC2 Guía del usuario
Adjunte instancias de EC2 al grupo de Auto Scaling
}
],
"MaxSize": 5,
"VPCZoneIdentifier": "subnet-c87f2be0",
"HealthCheckGracePeriod": 300,
"TerminationPolicies": [
"Default"
],
"CreatedTime": "2019-03-18T23:30:42.611Z",
"AvailabilityZones": [
"us-west-2a"
],
"HealthCheckType": "EC2",
"NewInstancesProtectedFromScaleIn": false,
"DesiredCapacity": 2
}
]
}
{
"AutoScalingGroups": [
{
"AutoScalingGroupARN": "arn",
"ServiceLinkedRoleARN": "arn",
"TargetGroupARNs": [],
"SuspendedProcesses": [],
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"Tags": [],
"EnabledMetrics": [],
"LoadBalancerNames": [],
"AutoScalingGroupName": "my-asg",
"DefaultCooldown": 300,
"MinSize": 1,
"Instances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"HealthStatus": "Healthy",
"LifecycleState": "Pending"
},
131
Auto Scaling de Amazon EC2 Guía del usuario
Para desasociar instancias EC2 del grupo de Auto Scaling
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0c20ac468fa3049e8",
"HealthStatus": "Healthy",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0787762faf1c28619",
"HealthStatus": "Healthy",
"LifecycleState": "InService"
}
],
"MaxSize": 5,
"VPCZoneIdentifier": "subnet-c87f2be0",
"HealthCheckGracePeriod": 300,
"TerminationPolicies": [
"Default"
],
"CreatedTime": "2019-03-18T23:30:42.611Z",
"AvailabilityZones": [
"us-west-2a"
],
"HealthCheckType": "EC2",
"NewInstancesProtectedFromScaleIn": false,
"DesiredCapacity": 3
}
]
}
• Sacar una instancia de un grupo de Auto Scaling y asociarla a otro. Para obtener más información,
consulte Adjunte instancias de EC2 al grupo de Auto Scaling (p. 128).
• Pruebe un grupo de Auto Scaling creándolo utilizando instancias existentes que ejecutan la aplicación.
A continuación, puede desconectar estas instancias del grupo de Auto Scaling cuando se hayan
completado las pruebas.
Cuando desasocia instancias, tiene la opción de reducir la capacidad deseada del grupo de Auto Scaling
en el número de instancias que se van a desasociar. Si elige no reducir la capacidad, Amazon EC2
Auto Scaling lanza nuevas instancias para sustituir las que ha desasociado. Si reduce la capacidad pero
desasocia varias instancias de la misma zona de disponibilidad, Amazon EC2 Auto Scaling puede volver
132
Auto Scaling de Amazon EC2 Guía del usuario
Para desasociar instancias EC2 del grupo de Auto Scaling
a equilibrar las zonas de disponibilidad a menos que suspenda laAZRebalanceProceso de. Para obtener
más información, consulte Procesos de Auto Scaling de Amazon EC2 (p. 233).
Si el número de instancias que está separando disminuye el tamaño del grupo de Auto Scaling por debajo
de su capacidad mínima, deberá reducir dicha capacidad del grupo de antes de poder desasociarlas.
Si desasocia una instancia de un grupo de Auto Scaling que tiene un grupo de destino del balanceador de
carga o un Classic Load Balancer, se cancela el registro de la instancia con el balanceador de carga. Si se
habilita el vaciado de conexiones para el balanceador de carga, Amazon EC2 Auto Scaling espera a que
se completen las solicitudes en tránsito.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Instance management (Administración de instancias), en Instances (Instancias),
seleccione una instancia y elija Actions (Acciones), Detach (Desconectar).
4. En el cuadro de diálogo Detach instance (Desconectar instancia), seleccione la casilla de verificación
para lanzar una instancia de sustitución o deje la casilla sin marcar para reducir la capacidad deseada.
Elija Detach instance (Desconectar instancia).
El siguiente ejemplo de respuesta muestra que el grupo tiene cuatro instancias en ejecución.
{
"AutoScalingInstances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
133
Auto Scaling de Amazon EC2 Guía del usuario
Para desasociar instancias EC2 del grupo de Auto Scaling
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0c20ac468fa3049e8",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0787762faf1c28619",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0f280a4c58d319a8a",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
}
]
}
El siguiente ejemplo de respuesta muestra que ahora hay tres instancias en ejecución.
134
Auto Scaling de Amazon EC2 Guía del usuario
Escalado dinámico
"AutoScalingInstances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0c20ac468fa3049e8",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0787762faf1c28619",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0f280a4c58d319a8a",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
}
]
}
Por ejemplo, tiene una aplicación web que actualmente se ejecuta en dos instancias y desea que la
utilización de CPU del grupo de Auto Scaling permanezca en el 50% cuando cambia la carga en la
aplicación. De este modo dispone de capacidad adicional para manejar picos de tráfico sin mantener una
cantidad excesiva de recursos inactivos.
Puede configurar su grupo Auto Scaling para que escale dinámicamente para satisfacer esta necesidad
mediante la creación de una política de seguimiento, paso o escala simple de destino. A continuación,
Amazon EC2 Auto Scaling puede escalar su grupo de (añadir más instancias) para hacer frente a la alta
demanda en las horas punta, y escalar en su grupo (ejecutar menos instancias) para reducir los costos
durante los períodos de baja utilización.
Contenido
• Cómo funcionan las directivas de escalado dinámico (p. 136)
135
Auto Scaling de Amazon EC2 Guía del usuario
Cómo funcionan las directivas de escalado dinámico
Cuando se invoca una política de escalado dinámico, si el cálculo de capacidad produce un número fuera
del rango de tamaño mínimo y máximo del grupo, Amazon EC2 Auto Scaling garantiza que la nueva
capacidad nunca se salga de los límites de tamaño mínimo y máximo. La capacidad se mide de una de
estas dos maneras: utilizando las mismas unidades que eligió al definir la capacidad deseada en términos
de instancias o utilizando unidades de capacidad (si se aplica la ponderación de instancia (p. 73)).
• Ejemplo 1: Un grupo de Auto Scaling tiene una capacidad máxima de 3, una capacidad actual de 2 y
una política de escalado dinámico que agrega 3 instancias. Al invocar esta política, Amazon EC2 Auto
Scaling agrega sólo 1 instancia al grupo para evitar que el grupo supere su tamaño máximo.
• Ejemplo 2: Un grupo de Auto Scaling tiene una capacidad mínima de 2, una capacidad actual de 3 y
una política de escalado dinámico que elimina 2 instancias. Al invocar esta política, Amazon EC2 Auto
Scaling quita sólo 1 instancia del grupo para evitar que el grupo sea menor que su tamaño mínimo.
Cuando la capacidad deseada alcanza el límite de tamaño máximo, el escalado ascendente se detiene.
Si la demanda cae y la capacidad disminuye, Auto Scaling de Amazon EC2 puede realizar de nuevo el
escalado ascendente.
La excepción es cuando se utiliza la ponderación de instancias. En este caso, el Auto Scaling de Amazon
EC2 puede escalar ascendente por encima del límite de tamaño máximo, pero solo por hasta el peso
máximo de la instancia. Su intención es acercarse lo más posible a la nueva capacidad deseada, pero
aún así respetar las estrategias de asignación que se han especificado para el grupo. Las estrategias de
asignación determinan los tipos de instancia que se van a lanzar. Los pesos determinan cuántas unidades
de capacidad aporta cada instancia a la capacidad deseada del grupo en función de su tipo de instancia.
• Ejemplo 3: Un grupo de Auto Scaling tiene una capacidad máxima de 12, una capacidad actual de 10 y
una política de escalado dinámico que agrega 5 unidades de capacidad. Los tipos de instancia tienen
una de las tres ponderaciones asignadas: 1, 4 o 6. Al invocar la política, Amazon EC2 Auto Scaling elige
lanzar un tipo de instancia con un peso de 6 en función de la estrategia de asignación. El resultado de
este evento de escalado ascendente es un grupo con una capacidad deseada de 12 y una capacidad
actual de 16.
136
Auto Scaling de Amazon EC2 Guía del usuario
Tipos de políticas de escalado dinámico
• Scaling de seguimiento de destino: permite aumentar o reducir la capacidad actual del grupo en
función de un valor objetivo especificado en una determinada métrica. Funciona de forma similar a
los termostatos, que mantienen la temperatura del hogar: el usuario selecciona una temperatura y el
termostato hace el resto.
• Escalado por pasos: permite aumentar o reducir la capacidad actual del grupo en función de una serie
de ajustes de escalado, denominados ajustes por pasos, que variarán en función del tamaño de la
interrupción de alarma.
• Escalado sencillo: permite aumentar o reducir la capacidad actual del grupo en función de un único
ajuste de escalado.
Si realiza el escalado en función de una métrica de utilización que aumenta o se reduce en proporción al
número de instancias de un grupo de Auto Scaling, le recomendamos que utilice políticas de escalado de
seguimiento de destino. De lo contrario, le recomendamos que utilice políticas de escalado por pasos.
Para una configuración de escalado avanzada, el grupo de Auto Scaling puede tener más de una política
de escalado. Por ejemplo, puede definir una o más políticas de escalado de seguimiento de destino, una o
más políticas de escalado por pasos o ambos tipos. Esto proporciona una mayor flexibilidad para abordar
diferentes situaciones.
Para ilustrar cómo se combinan varias políticas de escalado dinámico, considere una aplicación que utiliza
un grupo de Auto Scaling y una cola de Amazon SQS para enviar solicitudes a una sola instancia EC2.
Para ayudar a garantizar que la aplicación funciona en niveles óptimos, existen dos políticas que controlan
cuándo debe ampliarse el grupo de Auto Scaling. Una es una política de seguimiento de destino que utiliza
una métrica personalizada para añadir y eliminar capacidad en función del número de mensajes SQS en la
cola. La otra es una política de escalado por Amazon CloudWatch utiliza elCPUUtilizationpara agregar
capacidad cuando la instancia supere el 90% de utilización durante un periodo de tiempo específico.
Cuando hay varias políticas en vigor al mismo tiempo, existe la posibilidad de que cada una de ellas
pueda indicar al grupo de Auto Scaling para que realice el escalado ascendente (o descendente) al mismo
tiempo. Por ejemplo, es posible que elCPUUtilizationCuando se activa la alarma de CloudWatch
al mismo tiempo que la métrica personalizada de SQS se activa y desencadena la alarma métrica
personalizada.
Cuando se producen estas situaciones, Amazon EC2 Auto Scaling elige la política que proporciona
la mayor capacidad de escalado descendente y descendente. Por ejemplo, suponga que la política
CPUUtilization lanza una instancia, mientras que la política de la cola de SQS lanza dos instancias.
Si se cumple el criterio de escalado descendente de ambas políticas al mismo tiempo, Amazon EC2 Auto
Scaling dará prioridad a la política de cola de SQS. Por consiguiente, se lanzarán dos instancias en el
grupo de Auto Scaling.
El enfoque de dar prioridad a la política que proporciona la mayor capacidad se aplica incluso cuando las
políticas utilizan criterios diferentes para el escalado descendente. Por ejemplo, si una política termina
tres instancias, otra política disminuye el número de instancias en un 25% y el grupo tiene ocho instancias
en el momento del escalado descendente, Amazon EC2 Auto Scaling prioriza la política que proporciona
137
Auto Scaling de Amazon EC2 Guía del usuario
Políticas de escalado de seguimiento de destino
el mayor número de instancias para el grupo. Esto da lugar a que el grupo de Auto Scaling termine
dos instancias (25 por ciento de 8 = 2). La intención es evitar que Amazon EC2 Auto Scaling elimine
demasiadas instancias.
• Configurar una política de escalado de seguimiento de destino de forma que la media total de utilización
de la CPU del grupo de Auto Scaling se mantenga en el 40 por ciento.
• Configurar una política de escalado de seguimiento de destino de forma que el número de solicitudes por
cada uno de los destinos del grupo de destino del Application Load Balancer se mantenga en 1000 en su
grupo de Auto Scaling.
En función de las necesidades de la aplicación, es posible que una de estas métricas de escalado
populares funcione mejor para usted cuando utilice el seguimiento de destino o que una combinación de
estas métricas o una métrica diferente satisfaga mejor sus necesidades.
Contenido
• Considerations (p. 138)
• Elección de métricas (p. 139)
• Supervisión de métricas de Amazon EC2 (p. 140)
• Calentamiento de las instancias (p. 140)
• Crear una política de escalado de seguimiento de destino (consola) (p. 141)
• Cree una política de escalado de seguimiento de destino (AWS CLI) (p. 142)
• Paso 1: Creación de un grupo de Auto Scaling (p. 142)
• Paso 2: Crear una política de escalado de seguimiento de destino (p. 142)
Considerations
Antes de crear una política de escalado de seguimiento de destino para el grupo de Auto Scaling, debe
comprender las siguientes características y comportamientos de las políticas de escalado de seguimiento
de destino:
• Una política de escalado de seguimiento de destino presupone que el grupo de Auto Scaling debe
escalarse de forma descendente cuando la métrica está por encima del valor objetivo. No puede utilizar
138
Auto Scaling de Amazon EC2 Guía del usuario
Políticas de escalado de seguimiento de destino
una política de escalado de seguimiento de destino para realizar un escalado descendente en el grupo
de Auto Scaling cuando la métrica está por debajo del valor objetivo.
• Es posible que haya diferencias entre el valor objetivo y los puntos de datos de la métrica real. Esto
se debe a que actuamos de forma conservadora redondeando hacia arriba o hacia abajo a la hora de
determinar el número de instancias que se deben agregar o quitar. Esto impide que agreguemos un
número insuficiente de instancias o eliminemos demasiadas. No obstante, en el caso de los grupos de
Auto Scaling más pequeños con menos instancias, la utilización del grupo puede parecer que está muy
lejos del valor objetivo. Por ejemplo, supongamos que establece un valor de destino del 50 por ciento
de utilización de la CPU y, a continuación, el grupo de Auto Scaling supera el dicho objetivo. Es posible
determinar que la adición de 1,5 instancias disminuirá la utilización de la CPU hasta aproximadamente
el 50 por ciento. Como no es posible agregar 1,5 instancias, redondeamos hacia arriba y añadimos
dos instancias. Esto podría reducir la utilización de la CPU a un valor inferior al 50 por ciento, pero
garantizaría que la aplicación cuenta con los recursos suficientes. Del mismo modo, si determinamos
que, en caso de que se eliminen 1,5 instancias, la utilización de la CPU podría aumentar por encima del
50 por ciento, eliminamos una sola instancia.
• En el caso de grupos de Auto Scaling más grandes con más instancias, la utilización se distribuye en un
mayor número de instancias, en cuyo caso, si se añaden o quitan instancias, la diferencia entre el valor
de destino y los puntos de datos de la métrica real es menor.
• Para garantizar la disponibilidad de la aplicación, el grupo de Auto Scaling se escala en horizontal
proporcionalmente a la métrica tan rápido como puede, pero se escala de forma descendente de más
gradualmente.
• Puede tener varias políticas de escalado de seguimiento de destino para un grupo de Auto Scaling,
siempre que cada una de ellas use una métrica diferente. La intención de Amazon EC2 Auto Scaling
es dar siempre prioridad a la disponibilidad, por lo que su comportamiento varía en función de si las
políticas de seguimiento de destino están listas para el escalado ascendente o descendente. Realizará
un escalado ascendente del grupo de Auto Scaling si cualquiera de las políticas de seguimiento de
destino está lista para el escalado ascendente, pero solo realizará el escalado descendente si todas
las políticas de seguimiento de destino (que tienen la parte de escalado descendente habilitada) están
listas para el escalado descendente. Para obtener más información, consulte Políticas de escalado
dinámico (p. 137).
• Puede deshabilitar la parte de escalado descendente de una política de escalado de seguimiento de
destino. Esta característica le brinda la flexibilidad necesaria para escalar el grupo de Auto Scaling
mediante un método diferente. Por ejemplo, puede utilizar otro tipo de política para el escalado
descendente mientras utiliza una política de escalado de seguimiento de destino para el escalado
ascendente.
• No modifique ni elimine las alarmas de CloudWatch que están configuradas para la política de escalado
de seguimiento de destino. Las alarmas de CloudWatch que están asociadas a las políticas de escalado
de seguimiento de destino se gestionan medianteAWSY se elimina automáticamente cuando ya no se
necesita.
Elección de métricas
En una política de escalado de seguimiento de destino, puede utilizar métricas predefinidas o
personalizadas.
139
Auto Scaling de Amazon EC2 Guía del usuario
Políticas de escalado de seguimiento de destino
Puede elegir otras métricas de Amazon CloudWatch disponibles o sus propias métricas en CloudWatch
mediante la especificación de una métrica personalizada. Debe utilizar elAWS CLIPara crear una política
de seguimiento de destino con una métrica personalizada.
• No todas las métricas de funcionan para el seguimiento de destino. Esto puede ser importante
cuando se especifica una métrica personalizada. La métrica debe ser una métrica de utilización
válida y describir el nivel de actividad de una instancia. El valor de la métrica debe aumentar o
disminuir proporcionalmente al número de instancias del grupo Auto Scaling. De esta forma, los
datos de las métricas se pueden utilizar para ampliar o reducir proporcionalmente el número de
instancias. Por ejemplo, la utilización de la CPU de un grupo de Auto Scaling funciona (es decir,
la métrica de Amazon EC2 Amazon EC2 Auto ScalingCPUUtilizationCon la dimensión de la
métricaAutoScalingGroupName), si la carga en el grupo Auto Scaling se distribuye entre las
instancias.
• Las siguientes métricas no sirven para hacer un seguimiento de destino:
• El número de solicitudes recibidas por el balanceador de carga frente al grupo de Auto Scaling (es
decir, la métrica de Elastic Load BalancingRequestCount). El número de solicitudes recibidas por el
balanceador de carga no cambia en función de la utilización del grupo de Auto Scaling.
• Latencia de solicitudes de balanceador de carga (es decir, la métrica de Elastic Load
Balancing)Latency). La latencia de solicitudes puede aumentar si lo hace la utilización, pero el
cambio no tiene que hacerse necesariamente de forma proporcional.
• La métrica de la cola de Amazon SQS de CloudWatchApproximateNumberOfMessagesVisible.
El número de mensajes de una cola no tiene por qué cambiar en proporción al tamaño del grupo
de Auto Scaling que procesa los mensajes de la cola. Sin embargo, puede funcionar una métrica
personalizada que mide el número de mensajes de la cola por instancia EC2 en el grupo de Auto
Scaling. Para obtener más información, consulte Escalado basado en Amazon SQS (p. 157).
• Las políticas de escalado de seguimiento de destino no efectúan el Auto Scaling si la métrica
especificada no tiene datos, a menos que use la herramientaALBRequestCountPerTargetMétrica de.
Esto funciona porque la métrica ALBRequestCountPerTarget emite ceros para periodos sin datos
asociados y la política de seguimiento de destino requiere datos métricos para interpretar una tendencia
de baja utilización. Para que el grupo de Auto Scaling se escale en 0 instancias cuando no se enrutan
solicitudes al grupo de destino del Application Load Balancer, la capacidad mínima del grupo debe ser
de 0.
• Para utilizar elALBRequestCountPerTargetMétrica, debe especificar elResourceLabelPara
identificar el grupo de destino del balanceador de carga asociado a la métrica.
Para obtener este nivel de datos para las métricas de Amazon EC2, debe habilitar específicamente la
supervisión detallada. De forma predeterminada, las instancias de Amazon EC2 tienen habilitada la
monitorización básica, lo que significa que los datos de las métricas de las instancias están disponibles en
frecuencias de 5 minutos. Para obtener más información, consulte Configuración de la supervisión para
instancias de Auto Scaling (p. 256).
140
Auto Scaling de Amazon EC2 Guía del usuario
Políticas de escalado de seguimiento de destino
Durante el escalado ascendente, no consideramos las instancias que se están preparando como parte de
la capacidad actual del grupo de para que las métricas no se vean afectadas por el mayor uso de recursos
durante el inicio. Con esto nos aseguramos de no añadir más instancias de las que necesita.
Durante el escalado descendente, consideramos las instancias que están terminando como parte de la
capacidad actual del grupo. Por lo tanto, no eliminaremos más instancias del grupo de Auto Scaling que las
necesarias.
Una actividad de escalado descendente no se puede iniciar mientras haya una actividad de escalado
ascendente en curso.
Para crear un grupo de Auto Scaling con una política de escalado de seguimiento de destino
Para crear una política de escalado de seguimiento de destino para un grupo de Auto Scaling
existente
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
141
Auto Scaling de Amazon EC2 Guía del usuario
Políticas de escalado de seguimiento de destino
3. Compruebe que la capacidad mínima y la capacidad máxima estén configuradas correctamente. Por
ejemplo, si el grupo ya tiene el tamaño máximo, especifique un nuevo valor máximo de escalado
ascendente. Auto Scaling de Amazon EC2 no escalará el grupo de por debajo de la capacidad mínima
ni por encima de la capacidad máxima. Para actualizar el grupo, en la pestaña Details (Detalles),
cambie la configuración actual para la capacidad mínima y máxima.
4. En la páginaEscalado automáticoPestaña, enPolíticas de escalado, elijaCrear directiva de escalado
dinámico.
5. Para definir una política, haga lo siguiente:
a. En Policy type (Tipo de política), deje el valor predeterminado de Target tracking scaling
(Escalado de seguimiento de destino).
b. Especifique un nombre para la política.
c. En Tipo de métrica, elija una métrica. Solo puede elegir un tipo de métrica. Para utilizar más de
una métrica, cree varias políticas.
Tareas
• Paso 1: Creación de un grupo de Auto Scaling (p. 142)
• Paso 2: Crear una política de escalado de seguimiento de destino (p. 142)
142
Auto Scaling de Amazon EC2 Guía del usuario
Políticas de escalado de seguimiento de destino
{
"TargetValue": 40.0,
"PredefinedMetricSpecification":
{
"PredefinedMetricType": "ASGAverageCPUUtilization"
}
}
También puede personalizar la métrica utilizada para el escalado mediante la creación de una
especificación de métrica personalizada y la adición de valores para cada parámetro desde CloudWatch.
A continuación, se muestra un ejemplo de configuración de seguimiento de destino que mantiene la
utilización media de la métrica especificada en un 40 por ciento.
{
"TargetValue":40.0,
"CustomizedMetricSpecification":{
"MetricName":"MyUtilizationMetric",
"Namespace":"MyNamespace",
"Dimensions":[
{
"Name":"MyOptionalMetricDimensionName",
"Value":"MyOptionalMetricDimensionValue"
}
],
"Statistic":"Average",
"Unit":"Percent"
}
}
Ejemplo: cpu40-target-tracking-scaling-policy
Si tiene éxito, este comando devuelve los ARN y nombres de las dos alarmas de CloudWatch creadas en
su nombre.
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:228f02c2-c665-4bfd-
aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/cpu40-target-tracking-scaling-
policy",
"Alarms": [
143
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
{
"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"
}
]
}
Se recomienda encarecidamente que utilice una política de escalado de seguimiento de destino para
escalar una métrica, como la utilización media de la CPU o laRequestCountPerTargetdel Application
Load Balancer. Las métricas que disminuyen cuando aumenta la capacidad y aumentan cuando disminuye
la capacidad se pueden usar para realizar el escalado ascendente o descendente proporcionalmente o
en el número de instancias que utilizan el seguimiento de destino. Esto ayuda a garantizar que Amazon
EC2 Auto Scaling siga de cerca la curva de demanda de sus aplicaciones. Para obtener más información,
consulte Políticas de escalado de seguimiento de destino (p. 138). Todavía tiene la opción de usar
escalado por pasos como una política adicional para una configuración más avanzada. Por ejemplo, puede
configurar una respuesta más agresiva cuando se alcance un determinado nivel.
Contenido
• Diferencias entre las políticas de escalado por pasos y las políticas de escalado simple (p. 144)
• Ajustes de pasos para escalar pasos (p. 145)
• Tipos de ajuste de escalado (p. 147)
• Calentamiento de las instancias (p. 148)
• Crear una alarma de CloudWatch (consola) (p. 148)
• Crear directivas de escalado de pasos (consola) (p. 149)
• Cree políticas de escalado y alarmas de CloudWatch (AWS CLI) (p. 151)
• Paso 1: Creación de un grupo de Auto Scaling (p. 151)
• Paso 2: Creación de políticas de escalado (p. 151)
• Políticas de escalado por pasos (p. 151)
• Políticas de escalado sencillas (p. 152)
• Paso 3: Creación de alarmas de CloudWatch (p. 153)
144
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
de escalado. Ambas requieren que especifique los umbrales alto y bajo para las alarmas. Ambas requieren
que defina si desea agregar o quitar instancias, y cuántas, o establecer el grupo en un tamaño exacto.
La principal diferencia entre los tipos de políticas son los ajustes por pasos que se obtienen con las
políticas de escalado por pasos. CuandoAjustes de pasosSi aumenta o disminuye la capacidad actual del
grupo de Auto Scaling, los ajustes varían en función del tamaño de la interrupción de alarma.
En la mayoría de los casos, las políticas de escalado por pasos son una mejor opción que las políticas de
escalado sencillas, incluso si tiene un único ajuste de escalado.
El principal problema del escalado sencillo, es que una vez que comienza una actividad de escalado, la
política debe esperar a que se complete la actividad de escalado o la sustitución de comprobación de
estado y a que finalice el periodo de recuperación (p. 153) para responder a las alarmas adicionales. Los
periodos de recuperación ayudan a evitar que se inicien actividades de escalado adicionales antes de que
los efectos de las actividades anteriores sean visibles.
Por el contrario, con el escalado por pasos, la política puede seguir respondiendo a alarmas adicionales,
incluso mientras se está realizando una actividad de escalado o una sustitución de comprobación de
estado. Por lo tanto, Amazon EC2 Auto Scaling evalúa todas las alarmas de infracción cuando recibe los
mensajes de alarma.
Al principio, Amazon EC2 Auto Scaling únicamente admitía las políticas de escalado sencillo. Si creó su
política de escalado antes de que se incorporaran las políticas de seguimiento de destino y las políticas por
pasos, se tratará como si fuera una política de escalado sencillo.
CloudWatch agrega los puntos de datos de las métricas en función de la estadística de la métrica asociada
a la alarma de CloudWatch. Cuando se incumple la alarma, se activa la política de escalado adecuada.
Amazon EC2 Auto Scaling aplica el tipo de agregación a los puntos de datos de las métricas más recientes
de CloudWatch (en lugar de a los datos de las métricas sin procesar). También compara este valor
agregado de la métrica con el límite inferior y superior definido por los ajustes por pasos para determinar
qué ajuste por pasos debe realizar.
Usted especifica los límites superiores e inferiores en relación con el umbral de infracción. Por ejemplo,
supongamos que tiene un grupo de Auto Scaling que tiene una capacidad actual y una capacidad deseada
de 10. Tiene una alarma de CloudWatch con un umbral de infracción del 50 por ciento y políticas de
escalado ascendente y políticas de escalado ascendente. Tiene un conjunto de ajustes de pasos con un
tipo de ajuste PercentChangeInCapacity (o Percent of group (Porcentaje de grupo) en la consola) para
cada política:
0 10 0
10 20 10
145
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
20 nulo 30
-10 0 0
Metric value
• La capacidad deseada y actual se mantiene mientras que el valor agregado de la métrica sea superior a
40 e inferior a 60.
• Si el valor de la métrica llega a 60, la capacidad deseada del grupo aumenta en 1 instancia hasta 11
instancias, en función del segundo ajuste por pasos de la política de escalado ascendente (añadir el 10
por ciento de 10 instancias). Una vez que la nueva instancia está en ejecución y ha finalizado el tiempo
de preparación especificado, la capacidad actual del grupo aumenta hasta 11 instancias. Si el valor de la
métrica aumenta a 70 incluso después de este aumento de capacidad, la capacidad deseada del grupo
aumenta en otras 3 instancias, hasta 14 instancias. Este valor se basa en el tercer ajuste por pasos de
la política de escalado ascendente (agregar un 30% de 11 instancias, 3,3 instancias, redondeado a 3
instancias).
• Si el valor de la métrica llega a 40, la capacidad deseada del grupo se reduce en 1 instancia hasta 13
instancias, en función del segundo ajuste por pasos de la política de escalado descendente (quitar el
10 por ciento de 14 instancias, 1,4 instancias, redondeado a 1 instancia). Si el valor de la métrica cae a
30 incluso después de esta disminución de la capacidad, la capacidad deseada del grupo disminuye en
otras 3 instancias, hasta 10 instancias. Este valor se basa en el tercer ajuste por pasos de la política de
escalado descendente (quitar un 30% de 13 instancias, 3,9 instancias, redondeado a 3 instancias).
Cuando especifique los ajustes por pasos de la política de escalado, tenga en cuenta lo siguiente:
• Si utiliza la AWS Management Console, debe especificar los límites superior e inferior como valores
absolutos. Si está usando elAWS CLIPuede especificar los límites superior e inferior en relación con el
umbral de infracción.
• Los intervalos de los ajustes por pasos no se pueden solapar ni contener huecos.
• Solo puede haber un ajuste por pasos con un límite inferior nulo (infinito negativo). Si un ajuste por
pasos tiene un límite inferior negativo, debe haber un ajuste por pasos con un límite inferior nulo.
• Solo puede haber un ajuste por pasos con un límite superior nulo (infinito positivo). Si un ajuste por
pasos tiene un límite superior positivo, debe haber un ajuste por pasos con un límite superior nulo.
146
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
• Los límites superior e inferior no pueden ser nulos en el mismo ajuste por pasos.
• Si el valor de la métrica es superior al umbral de infracción, el límite inferior es inclusivo y el límite
superior es exclusivo. Si el valor de la métrica es inferior al umbral de infracción, el límite inferior es
exclusivo y el límite superior es inclusivo.
Amazon EC2 Auto Scaling admite los siguientes tipos de ajuste de escalado sencillo y por pasos:
• ChangeInCapacity: permite aumentar o reducir la capacidad actual del grupo en el valor especificado.
Un valor positivo aumenta la capacidad y un valor negativo reduce la capacidad. Por ejemplo: Si la
capacidad actual del grupo es 3 y el ajuste es 5, entonces cuando se ejecute esta política, agregamos 5
unidades a la capacidad hasta un total de 8 unidades de capacidad.
• ExactCapacity: permite cambiar la capacidad actual del grupo al valor especificado. Especifique un
valor positivo con este tipo de ajuste. Por ejemplo: Si la capacidad actual del grupo es de 3 y el ajuste es
de 5, cuando se ejecute esta política, cambiamos la capacidad a 5 unidades de capacidad.
• PercentChangeInCapacity: permite aumentar o reducir la capacidad actual del grupo en el
porcentaje especificado. Un valor positivo aumenta la capacidad y un valor negativo reduce la
capacidad. Por ejemplo: Si la capacidad actual del grupo es 10 y el ajuste es del 10 por ciento, entonces
cuando se ejecute esta política, agregamos 1 unidad de capacidad a la capacidad hasta un total de 11
unidades de capacidad.
Note
Cuando se utiliza la ponderación de instancias (p. 73), cambia el efecto de establecer el parámetro
MinAdjustmentMagnitude en un valor distinto de cero. El valor está en unidades de capacidad. Para
establecer el número mínimo de instancias que escalar, establezca este parámetro en un valor que sea al
menos tan grande como la ponderación de instancia más grande.
Si está utilizando la ponderación de instancias, tenga en cuenta que la capacidad actual del grupo de Auto
Scaling puede exceder la capacidad deseada según sea necesario. Si el número absoluto que se va a
disminuir o la cantidad que el porcentaje indica que se va a disminuir, es menor que la diferencia entre
la capacidad actual y la capacidad deseada, no se ejecuta ninguna acción de escalado. Debe tener en
cuenta estos comportamientos cuando observe los resultados de una política de escalado después de
dispararse una alarma. Por ejemplo, supongamos que la capacidad deseada sea 30 y la capacidad actual
147
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
sea 32. Cuando se activa la alarma, si la política de escalado disminuye la capacidad deseada en 1, no se
ejecuta ninguna acción de escalado.
Usando el ejemplo de la sección de Ajustes por pasos, suponga ahora que la métrica llega hasta 60 y
después hasta 62 mientras la nueva instancia sigue en proceso de preparación. La capacidad actual
sigue siendo de 10 instancias, por lo que se añade 1 instancia (10 por ciento de 10 instancias). Sin
embargo, la capacidad deseada del grupo ya tiene 11 instancias y, por lo tanto, la política de escalado no
aumenta más la capacidad deseada. Si la métrica llega a 70 mientras la nueva instancia sigue en proceso
de preparación, deberíamos agregar 3 instancias (el 30 por ciento de 10 instancias). Sin embargo, la
capacidad deseada del grupo es ya 11, por lo que añadimos solo 2 instancias, para una nueva capacidad
deseada de 13 instancias.
Durante el escalado ascendente, no consideramos las instancias que se están preparando como parte de
la capacidad actual del grupo. Por lo tanto, varias interrupciones de alarmas que estén en el intervalo del
mismo ajuste por pasos producirán una sola actividad de escalado. Con esto nos aseguramos de no añadir
más instancias de las que necesita.
Durante el escalado descendente, consideramos las instancias que están terminando como parte de la
capacidad actual del grupo. Por lo tanto, no eliminaremos más instancias del grupo de Auto Scaling que las
necesarias.
Una actividad de escalado descendente no se puede iniciar mientras haya una actividad de escalado
ascendente en curso.
148
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
• En Cuando CPUUtilization sea, especifique si desea que el valor de la métrica sea mayor que,
mayor o igual que, menor que, o menor o igual que el umbral para desencadenar la alarma. A
continuación, en than (que), escriba el valor del umbral que desea utilizar para activar la alarma.
8. En Configuración adicional, haga lo siguiente:
• En Puntos de datos para alarma, escriba el número de puntos de datos (periodos de evaluación)
durante los que el valor de la métrica debe cumplir las condiciones del umbral para desencadenar
la alarma. Por ejemplo, dos periodos consecutivos de 5 minutos tardarían 10 minutos en
desencadenar la alarma.
• En Tratamiento de datos faltantes, elija Tratar datos faltantes como incorrectos (umbral de
incumplimiento). Para obtener más información, consulteConfigurar cómo tratan las alarmas de
CloudWatch los datos faltantesen laGuía del usuario de Amazon CloudWatch.
9. Seleccione Siguiente.
10. (Opcional) EnNotificaciónPuede elegir o crear el tema de Amazon SNS que desea utilizar para recibir
notificaciones. De lo contrario, puede quitar la notificación ahora y agregar una más adelante si es
necesario.
11. Elija Next (Siguiente).
12. Escriba un nombre (por ejemplo, Step-Scaling-AlarmHigh-AddCapacity) y, si quiere, una
descripción de la alarma y, a continuación, elija Next (Siguiente).
13. Elija Create alarm (Crear alarma).
Ejemplo: Alarma CloudWatch que se activa cada vez que la CPU infringe el umbral del 80 por ciento
Mientras configura las políticas de escalado, puede crear las alarmas al mismo tiempo. Alternativamente,
puede utilizar alarmas creadas desde la consola de CloudWatch en la sección anterior.
Para crear una política de escalado por pasos para escalado ascendente
149
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. Compruebe que los límites de tamaño mínimo y máximo estén establecidos correctamente. Por
ejemplo, si su grupo ya tiene el tamaño máximo, tendrá que especificar un nuevo valor máximo
de escalado ascendente. Auto Scaling de Amazon EC2 no escalará el grupo de por debajo de la
capacidad mínima ni por encima de la capacidad máxima. Para actualizar el grupo, en la pestaña
Details (Detalles), cambie la configuración actual para la capacidad mínima y máxima.
4. En la páginaEscalado automáticoPestaña, enPolíticas de escalado, elijaCrear directiva de escalado
dinámico.
5. Para definir una política para escalado ascendente (aumentar la capacidad), haga lo siguiente:
Por ejemplo, elija Add, escriba 30 en el siguiente campo y, a continuación, elija percent of
group. De forma predeterminada, el límite inferior de este ajuste por pasos es el umbral de
alarma y el límite superior es infinito positivo.
e. Para agregar otro paso, elija Add step (Agregar paso) y, a continuación, defina la cantidad por la
que se va a escalar y los límites inferior y superior del paso en relación con el umbral de alarma.
f. Para establecer un número mínimo de instancias que escalar, actualice el campo numérico en
Add capacity units in increments of at least (Agregar unidades de capacidad en incrementos de al
menos) 1 capacity units (unidades de capacidad).
g. Especifique un valor de preparación de instancia paraLas instancias necesitan, lo que le permite
controlar la cantidad de tiempo hasta que una instancia recién lanzada puede contribuir a las
métricas de CloudWatch.
6. Seleccione Create (Crear).
Para crear una política de escalado por pasos para escalado descendente
1. SeleccionarCrear directiva de escalado dinámicoPara continuar donde lo dejó después de crear una
política de escalado horizontal.
2. Para definir una política de escalado descendente (disminuir la capacidad), haga lo siguiente:
Por ejemplo, elija Remove, escriba 2 en el siguiente campo y, a continuación, elija capacity
units. De forma predeterminada, el límite superior de este ajuste por pasos es el umbral de
alarma y el límite inferior es infinito negativo.
150
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
e. Para agregar otro paso, elija Add step (Agregar paso) y, a continuación, defina la cantidad por la
que se va a escalar y los límites inferior y superior del paso en relación con el umbral de alarma.
3. Seleccione Create (Crear).
Tareas
• Paso 1: Creación de un grupo de Auto Scaling (p. 151)
• Paso 2: Creación de políticas de escalado (p. 151)
• Paso 3: Creación de alarmas de CloudWatch (p. 153)
Ejemplo: my-step-scale-out-policy
• Aumente el recuento de instancias en un 10 por ciento cuando el valor de la métrica sea mayor o igual al
70 por ciento pero inferior al 80 por ciento
• Aumente el recuento de instancias en un 20 por ciento cuando el valor de la métrica sea mayor o igual al
80 por ciento pero inferior al 90 por ciento
• Aumente el recuento de instancias en un 30 por ciento cuando el valor de la métrica sea mayor o igual al
90 por ciento pero inferior al 90 por ciento.
151
Auto Scaling de Amazon EC2 Guía del usuario
Directivas de escalado simples y de paso
--step-adjustments
MetricIntervalLowerBound=10.0,MetricIntervalUpperBound=20.0,ScalingAdjustment=10 \
MetricIntervalLowerBound=20.0,MetricIntervalUpperBound=30.0,ScalingAdjustment=20 \
MetricIntervalLowerBound=30.0,ScalingAdjustment=30 \
--min-adjustment-magnitude 1
Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear una alarma de
CloudWatch para la política.
{
"PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:4ee9e543-86b5-4121-
b53b-aa4c23b5bbcc:autoScalingGroupName/my-asg:policyName/my-step-scale-in-policy
}
Ejemplo: my-step-scale-in-policy
Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear una alarma de
CloudWatch para la política.
{
"PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-
cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy
}
También puede crear políticas de escalado sencillo utilizando los siguientes comandos de la CLI en lugar
de los anteriores. Tenga en cuenta que se establecerá un periodo de recuperación debido al uso de
políticas de escaldo sencillo.
Ejemplo: my-simple-scale-out-policy
Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear una alarma de
CloudWatch para la política.
Ejemplo: my-simple-scale-in-policy
152
Auto Scaling de Amazon EC2 Guía del usuario
Tiempo de recuperación de escalado
Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear una alarma de
CloudWatch para la política.
Ejemplo: AddCapacity
Utilice el siguiente CloudWatchput-metric-alarmPara crear una alarma que aumente el tamaño del grupo de
Auto Scaling en función de un valor de umbral de CPU promedio del 60% durante al menos dos periodos
de evaluación consecutivos de dos minutos. Para usar su propia métrica personalizada, especifique su
nombre en --metric-name y su espacio de nombres en --namespace.
Ejemplo: RemoveCapacity
Utilice el siguiente CloudWatchput-metric-alarmPara crear una alarma que reduzca el tamaño del grupo
de Auto Scaling en función del valor de umbral de CPU promedio del 40% durante al menos dos periodos
de evaluación consecutivos de dos minutos. Para usar su propia métrica personalizada, especifique su
nombre en --metric-name y su espacio de nombres en --namespace.
Cuando se utiliza el escalado sencillo, después de que el grupo de escalAuto Scaling se escale mediante
una política de escalado sencillo, se espera a que finalice un periodo de recuperación antes de que
puedan comenzar otras actividades de escalado. Un periodo de recuperación adecuado ayuda a prevenir
153
Auto Scaling de Amazon EC2 Guía del usuario
Tiempo de recuperación de escalado
el inicio de una actividad de escalado adicional basada en métricas obsoletas. De forma predeterminada,
todas las políticas de escalado sencillo utilizan el periodo de recuperación predeterminado asociado al
grupo de Auto Scaling, pero puede configurar un periodo de recuperación diferente para determinadas
políticas, como se describe en las secciones siguientes. Para obtener más información acerca del escalado
simple, consulte Directivas de escalado simples y de paso (p. 144).
Important
En la mayoría de los casos, una política de escalado de seguimiento de destino o una política de
escalado por pasos es mejor para escalar el rendimiento que esperar a que transcurra un período
de tiempo fijo después de una actividad de escalado. Para una política de escalado que cambie
el tamaño del grupo de Auto Scaling proporcionalmente a medida que el valor de la métrica de
escalado disminuya o aumente, recomendamosSeguimiento de destino . (p. 138)sobre escalado
simple o escalado por pasos.
Durante un período de recuperación, cuando una acción programada comienza a la hora programada o
cuando se inician las actividades de escalado debido al seguimiento de destino o las políticas de escalado
de pasos, pueden desencadenar una actividad de escalado inmediatamente sin esperar a que finalice el
período de recuperación. Si una instancia adopta un estado incorrecto, Amazon EC2 Auto Scaling tampoco
espera a que se complete el periodo de recuperación antes de sustituir la instancia en mal estado.
Cuando escala manualmente el grupo de Auto Scaling, el valor predeterminado no es esperar a que
finalice el periodo de recuperación, pero puede invalidar este comportamiento y respetar el periodo de
recuperación cuando llama a la API.
Contenido
• Periodo de recuperación predeterminado (p. 154)
• Período de reutilización específico de la escala (p. 155)
• Ejemplo de escenario de reutilización de escalado simple (p. 155)
• Periodos de recuperación e instancias múltiples (p. 156)
• Periodos de recuperación y enlaces de ciclo de vida (p. 156)
Cuando utiliza elAWS Management Consolepara actualizar un grupo de Auto Scaling, o cuando utilice
elAWS CLIPuede definir el parámetro de recuperación predeterminado opcional o un SDK para crear
154
Auto Scaling de Amazon EC2 Guía del usuario
Tiempo de recuperación de escalado
Cree el grupo de Auto Scaling de la forma habitual. Después de crear el grupo de Auto Scaling, edite el
grupo para especificar el período de recuperación predeterminado.
• create-auto-scaling-group
• update-auto-scaling-group
Un uso común para un periodo de recuperación específico del escalado es con una política de escalado
descendente. Como esta política termina instancias, Amazon EC2 Auto Scaling necesita menos tiempo
para determinar si debe terminar instancias adicionales. La terminación de instancias debe ser una
operación mucho más rápida que el lanzamiento de instancias. Por lo tanto, el periodo de recuperación
predeterminado de 300 segundos es demasiado largo. En este caso, un periodo de recuperación
específico del escalado con un valor inferior de 180 segundos para su política de escalado descendente
puede ayudarle a reducir los costos al permitir que el grupo se escale más rápido.
Para especificar un periodo de recuperación específico del escalado, utilice el parámetro de recuperación
opcional al crear o actualizar una política de escalado sencillo. Para obtener más información, consulte
Directivas de escalado simples y de paso (p. 144).
Para garantizar que el grupo de la capa de aplicación tenga el número adecuado de instancias EC2,
cree una política de escalado sencillo para escalar ascendente cada vez que el valor de la métrica
de CloudWatch asociada a la política de escalado supere un umbral especificado durante periodos
consecutivos especificados. Cuando la alarma de CloudWatch activa la política de escalado, el grupo de
Auto Scaling se lanza y configura otra instancia.
Estas instancias utilizan un script de configuración para instalar y configurar el software antes de que la
instancia se ponga en servicio. Por tanto, transcurren alrededor de dos o tres minutos desde el momento
en que se lanza la instancia hasta que está completamente en servicio. El tiempo real depende de varios
factores, como el tamaño de la instancia y si hay scripts de inicio que deben completarse.
155
Auto Scaling de Amazon EC2 Guía del usuario
Tiempo de recuperación de escalado
Ahora se produce un pico de tráfico, que hace que se active la alarma de CloudWatch. Cuando esto
sucede, el grupo de Auto Scaling lanza una instancia para ayudar con el aumento de la demanda. Sin
embargo, hay un problema: la instancia tarda un par de minutos en lanzarse. Durante ese tiempo, la
alarma de CloudWatch podría seguir activándose cada minuto para cualquier alarma de resolución
estándar, lo que provocaría que el grupo de Auto Scaling lanzara otra instancia cada vez que se active la
alarma.
Sin embargo, si se dispone de un periodo de recuperación, el grupo de Auto Scaling lanza una instancia
y, a continuación, bloquea las actividades de escalado debido a las políticas de escalado sencillas hasta
que transcurre el tiempo especificado. (El valor predeterminado es de 300 segundos). De este modo, se da
tiempo a las instancias recién lanzadas para que empiecen a controlar el tráfico de la aplicación. Una vez
que finalice el período de recuperación, las actividades de escalado que se activan después del período
de recuperación pueden reanudarse. Si la alarma de CloudWatch de se vuelve a activar, el grupo de Auto
Scaling lanza otra instancia y vuelve a aplicarse el periodo de recuperación. Sin embargo, si la instancia
adicional fue suficiente para reducir la métrica, el grupo permanecerá con su tamaño actual.
Con varias instancias, el periodo de recuperación (tanto el predeterminado como el específico del
escalado) surte efecto a partir del momento en que finaliza el lanzamiento o la terminación de la última
instancia.
Los enlaces de ciclo de vida pueden afectar al tiempo de inicio de los periodos de recuperación
configurados para el grupo Auto Scaling. Por ejemplo, suponga que tiene un grupo de Auto Scaling que
tiene un enlace de ciclo de vida que admite una acción personalizada cuando se lanza una instancia.
Cuando la aplicación experimenta un aumento de la demanda debido a una política de escalado sencillo,
el grupo lanza una instancia para agregar capacidad. Como hay un enlace de ciclo de vida, la instancia
se pone en estado Pending:Wait, lo que significa que aún no está disponible para controlar el tráfico.
156
Auto Scaling de Amazon EC2 Guía del usuario
Escalado basado en Amazon SQS
Cuando la instancia entra en el estado de espera, se detienen las actividades de escalado debido a las
políticas de escalado sencillo. Cuando la instancia pasa a tener el estado InService, se inicia el periodo
de recuperación. Cuando finaliza el periodo de recuperación, las actividades de escalado que se activan
después del periodo de recuperación pueden reanudarse.
No todos los tiempos de reutilización se aplican después de la ejecución de los enlaces del ciclo de vida
Normalmente, cuando una instancia está finalizando, el período de recuperación no comienza hasta
después de que la instancia salga del estado Terminating:Wait (una vez finalizada la ejecución del
enlace del ciclo de vida).
Sin embargo, con Elastic Load Balancing, el grupo de Auto Scaling inicia el periodo de recuperación
cuando la instancia de terminación finaliza el vaciado de conexiones (demora por anulación del registro)
por el balanceador de carga y no espera el enlace del ciclo de vida. Esto es útil para grupos que tienen
políticas de escalado simples tanto para escalar como para desescalar. La intención de un período de
recuperación es permitir que la siguiente actividad de escalado ocurra tan pronto como los efectos de las
actividades anteriores sean visibles. Si una instancia está finalizando y, a continuación, la demanda de
la aplicación aumenta repentinamente, cualquier actividad de escalado debido a políticas de escalado
simples que estén en pausa puede reanudarse una vez que se haya agotado el connection draining y
finalice el período de recuperación. De lo contrario, esperar para completar las tres actividades (drenaje
de conexión, gancho de ciclo de vida y período de tiempo de reutilización) aumenta significativamente la
cantidad de tiempo que el grupo Auto Scaling necesita para pausar la escala.
Hay algunas situaciones en las que es posible que tenga que pensar en el escalado en respuesta a la
actividad en una cola de Amazon SQS. Por ejemplo, supongamos que tiene una aplicación web que
permite a los usuarios cargar imágenes y utilizarlas en línea. En este escenario, cada imagen requiere
cambiar el tamaño y la codificación antes de poder publicarla. La aplicación se ejecuta en instancias EC2
de un grupo de Auto Scaling y está configurado para tramitar las tasas típicas de carga. Las instancias
con error se terminan y se sustituyen para mantener los niveles de instancia actuales en todo momento.
La aplicación coloca los datos de mapa de bits sin procesar de las imágenes en una cola para su
procesamiento. Procesa las imágenes y, a continuación, publica las imágenes procesadas donde puedan
verlas los usuarios. La arquitectura de este escenario funciona bien si el número de operaciones de carga
de imágenes no varía con el tiempo. Sin embargo, si el número de operaciones de carga cambia con el
tiempo, podría considerar la posibilidad de utilizar el escalado dinámico para escalar la capacidad del
grupo de Auto Scaling.
157
Auto Scaling de Amazon EC2 Guía del usuario
Escalado basado en Amazon SQS
La solución es utilizar una métrica de tareas pendientes por instancia con el valor de destino igual a las
tareas pendientes aceptables por instancia que desea mantener. Puede calcular estos números como se
indica a continuación:
• Cargo atrasado por instancia: Para calcular su trabajo atrasado por instancia, comience con
elApproximateNumberOfMessagesPara determinar la longitud de la cola de SQS (número de
mensajes disponibles para recuperación de la cola). Divida ese número por la capacidad de ejecución de
la flota, que para un grupo de Auto Scaling es el número de instancias en elInService, para obtener el
trabajo atrasado por instancia.
• Periodos de recuperación aceptables por instancia: Para calcular su valor de destino, determine en
primer lugar lo que la aplicación puede aceptar en términos de latencia. A continuación, deberá tomar el
valor de latencia aceptable y dividirlo por el tiempo medio que una instancia EC2 tarda en procesar un
mensaje.
Los procedimientos siguientes muestran cómo publicar la métrica personalizada y crear la política de
escalado de seguimiento de destino que configura el grupo de Auto Scaling para que el escalado se realice
en función de estos cálculos.
• Un grupo de Auto Scaling para administrar las instancias EC2 para procesar mensajes de una cola de
SQS.
• Una métrica personalizada para enviar a Amazon CloudWatch que mide el número de mensajes de la
cola por instancia EC2 en el grupo de Auto Scaling.
• Una política de seguimiento de destino que configura su grupo de Auto Scaling para escalar basándose
en la métrica personalizada y un valor de destino establecido. Las alarmas de CloudWatch invocan la
política de escalado.
158
Auto Scaling de Amazon EC2 Guía del usuario
Escalado basado en Amazon SQS
• Debe utilizar elAWS CLIPara publicar su métrica personalizada en CloudWatch. A continuación, puede
monitorizar su métrica con la AWS Management Console.
• Después de publicar la métrica personalizada, debe usar la herramientaAWS CLIO un SDK para crear
una política de escalado de seguimiento de destino con una especificación de métrica personalizada.
Las siguientes secciones explican cómo usar la AWS CLI para las tareas que necesita realizar. Por
ejemplo, para obtener datos de métrica que reflejen el uso actual de la cola, utilice elget-queue-
attributescomando. Asegúrese de que ha instalado y configurado la CLI.
Antes de comenzar, debe disponer de una cola de Amazon SQS para utilizar. En las siguientes secciones
se presupone que ya tiene una cola (estándar o FIFO), un grupo de Auto Scaling e instancias EC2
ejecutándose en la aplicación que utiliza la cola. Para obtener más información acerca de Amazon SQS,
consulte laGuía para desarrolladores de Amazon Simple Queue Service.
Siga este procedimiento para crear la métrica personalizada leyendo primero la información de su
cuenta de AWS. A continuación, calcule las tareas pendientes para cada métrica de instancia, tal como
se recomienda en una sección anterior. Por último, publique este número en CloudWatch con una
periodicidad de un minuto. Siempre que sea posible, le recomendamos que cuando realizado el escalado
basado en métricas, utilice una granularidad de un minuto para garantizar una respuesta más rápida a los
cambios en la carga del sistema.
3. Calcule las tareas pendientes por instancia dividiendo el número aproximado de mensajes disponibles
para su recuperación de la cola por la capacidad de ejecución de la flota.
159
Auto Scaling de Amazon EC2 Guía del usuario
Escalado basado en Amazon SQS
4. Publique los resultados con un nivel de detalle de un minuto como una métrica personalizada de
CloudWatch.
Después de que la aplicación emita la métrica deseada, los datos se envían a CloudWatch. La métrica
está visible en la consola de CloudWatch. Puede acceder a ella iniciando sesión en laAWS Management
Consoley navegar a la página CloudWatch. A continuación, puede ver la métrica desplazándose a la
página de métricas o buscándola usando el campo de búsqueda. Para obtener información sobre cómo ver
las métricas de, consulte.Ver métricas disponiblesen laGuía del usuario de Amazon CloudWatch.
1. Utilice el siguiente comando para especificar un valor de destino para su política de escalado en un
archivo config.json del directorio principal.
Para el TargetValue, calcule las tareas pendientes aceptables por cada métrica de instancia e
introdúzcala aquí. Para calcular este número, decida un valor de latencia normal y divídalo por el
tiempo medio que se tarda en procesar un mensaje.
$ cat ~/config.json
{
"TargetValue":100,
"CustomizedMetricSpecification":{
"MetricName":"MyBacklogPerInstance",
"Namespace":"MyNamespace",
"Dimensions":[
{
"Name":"MyOptionalMetricDimensionName",
"Value":"MyOptionalMetricDimensionValue"
}
],
"Statistic":"Average",
"Unit":"None"
}
}
Esto crea dos alarmas: una para el escalado ascendente y otra para el escalado descendente.
También devuelve el Nombre de recurso de Amazon (ARN) de la política que se registra con
CloudWatch, que CloudWatch, utiliza para invocar el escalado siempre que la métrica se incumple.
160
Auto Scaling de Amazon EC2 Guía del usuario
Verificación de una actividad de escalado
1. Siga los pasos deTutorial: Enviar un mensaje a una cola de Amazon SQSPara agregar mensajes a su
cola de. Asegúrese de que ha aumentado el número de mensajes en la cola de forma que las tareas
pendientes por cada métrica de instancia supere el valor de destino.
Este proceso puede tardar unos minutos hasta que los cambios activen la alarma de CloudWatch.
2. Usardescribe-auto-scaling-groupsPara verificar que el grupo ha lanzado una instancia.
1. Siga los pasos deTutorial: Enviar un mensaje a una cola de Amazon SQSPara eliminar mensajes de
la cola. Asegúrese de que ha disminuido el número de mensajes en la cola de forma que las tareas
pendientes por cada métrica de instancia esté por debajo del valor de destino.
Este proceso puede tardar unos minutos hasta que los cambios activen la alarma de CloudWatch.
2. Usardescribe-auto-scaling-groupsPara verificar que el grupo ha terminado una instancia.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la páginaActividad, enHistorial de actividad, elEstadoMuestra si su grupo de Auto Scaling ha
lanzado las instancias o las ha terminado correctamente.
161
Auto Scaling de Amazon EC2 Guía del usuario
Deshabilitar una política de escalado
Para ver las actividades de escalado de un grupo de Auto Scaling (AWS CLI)
Utilice el siguientedescribir-escalar-actividadescomando.
Las actividades de escalado se ordenan por hora de inicio. En primer lugar, se describen las actividades
aún en curso.
{
"Activities": [
{
"ActivityId": "5e3a1f47-2309-415c-bfd8-35aa06300799",
"AutoScalingGroupName": "my-asg",
"Description": "Terminating EC2 instance: i-06c4794c2499af1df",
"Cause": "At 2020-02-11T18:34:10Z a monitor alarm TargetTracking-my-asg-AlarmLow-
b9376cab-18a7-4385-920c-dfa3f7783f82 in state ALARM triggered policy my-target-tracking-
policy changing the desired capacity from 3 to 2. At 2020-02-11T18:34:31Z an instance
was taken out of service in response to a difference between desired and actual capacity,
shrinking the capacity from 3 to 2. At 2020-02-11T18:34:31Z instance i-06c4794c2499af1df
was selected for termination.",
"StartTime": "2020-02-11T18:34:31.268Z",
"EndTime": "2020-02-11T18:34:53Z",
"StatusCode": "Successful",
"Progress": 100,
"Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2a
\"...}",
"AutoScalingGroupARN": "arn:aws:autoscaling:us-
west-2:123456789012:autoScalingGroup:283179a2-
f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg"
},
...
]
}
Para obtener información acerca de los tipos de errores que puede encontrar y cómo gestionarlos,
consulteSolución de problemas de Auto Scaling de Amazon EC2 (p. 309).
Cuando se deshabilita una política de escalado automática, el grupo de Auto Scaling no realiza el escalado
ascendente o descendente para las alarmas de métrica que se incumplen mientras la política de escalado
está deshabilitada. Sin embargo, las actividades de escalado que siguen en curso no se detienen.
162
Auto Scaling de Amazon EC2 Guía del usuario
Deshabilitar una política de escalado
Tenga en cuenta que las políticas de escalado deshabilitadas siguen teniendo en cuenta para las cuotas
en el número de políticas de escalado que puede agregar a un grupo de Auto Scaling.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Automatic scaling (Escalado automático), en Scaling policies (Políticas de escalado),
seleccione una política de escalado y, a continuación, elija Actions (Acciones), Disable (Deshabilitar).
Cuando esté listo para volver a habilitar la política de escalado, repita estos pasos y, a continuación, elija
Actions (Acciones), Enable (Habilitar). Después de volver a habilitar una política de escalado, el grupo de
Auto Scaling puede iniciar inmediatamente una acción de escalado si hay alguna alarma actualmente en
estado ALARMA.
{
"ScalingPolicies": [
{
"AutoScalingGroupName": "my-asg",
"PolicyName": "my-scaling-policy",
163
Auto Scaling de Amazon EC2 Guía del usuario
Eliminación de una política de escalado
"PolicyARN": "arn:aws:autoscaling:us-
west-2:123456789012:scalingPolicy:1d52783a-b03b-4710-
bb0e-549fd64378cc:autoScalingGroupName/my-asg:policyName/my-scaling-policy",
"PolicyType": "TargetTrackingScaling",
"StepAdjustments": [],
"Alarms": [
{
"AlarmName": "TargetTracking-my-asg-AlarmHigh-9ca53fdd-7cf5-4223-938a-
ae1199204502",
"AlarmARN": "arn:aws:cloudwatch:us-
west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-9ca53fdd-7cf5-4223-938a-
ae1199204502"
},
{
"AlarmName": "TargetTracking-my-asg-AlarmLow-7010c83d-d55a-4a7a-
abe0-1cf8b9de6d6c",
"AlarmARN": "arn:aws:cloudwatch:us-
west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-7010c83d-d55a-4a7a-
abe0-1cf8b9de6d6c"
}
],
"TargetTrackingConfiguration": {
"PredefinedMetricSpecification": {
"PredefinedMetricType": "ASGAverageCPUUtilization"
},
"TargetValue": 70.0,
"DisableScaleIn": false
},
"Enabled": true
}
]
}
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Automatic scaling (Escalado automático), en Scaling policies (Políticas de escalado),
seleccione una política de escalado y, a continuación, elija Actions (Acciones), Delete (Eliminar).
4. Cuando se le indique que confirme, seleccione Yes, Delete.
5. (Opcional) Si ha eliminado una política de escalado por pasos o una política de escalado sencilla, siga
estos pasos para eliminar la alarma de CloudWatch que se asoció a la política. Puede omitir estos
pasos secundarios para mantener la alarma para uso futuro.
164
Auto Scaling de Amazon EC2 Guía del usuario
Eliminación de una política de escalado
Para obtener las políticas de escalado de un grupo de Auto Scaling (AWS CLI)
Antes de eliminar una política de escalado, utilice la siguientedescripción-políticasPara ver qué políticas
de escalado se crearon para el grupo de Auto Scaling. Puede utilizar la salida al eliminar la política y las
alarmas de CloudWatch.
Puede filtrar los resultados por el tipo de política de escalado mediante el parámetro --query. Esta
sintaxis de query funciona en Linux y MacOS. En Windows, cambie la comillas simples por comillas
dobles.
[
{
"AutoScalingGroupName": "my-asg",
"PolicyName": "cpu40-target-tracking-scaling-policy",
"PolicyARN": "PolicyARN",
"PolicyType": "TargetTrackingScaling",
"StepAdjustments": [],
"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"
}
],
"TargetTrackingConfiguration": {
"PredefinedMetricSpecification": {
"PredefinedMetricType": "ASGAverageCPUUtilization"
},
"TargetValue": 40.0,
"DisableScaleIn": false
},
"Enabled": true
}
]
Utilice el siguientedelete-policycomando.
165
Auto Scaling de Amazon EC2 Guía del usuario
AWS CLIEjemplos de políticas de escalado
Para políticas de escalado por pasos y sencillas, utilice laeliminar alarmasPara eliminar la alarma de
CloudWatch asociada a la política. Puede omitir este paso si desea mantener la alarma para usarla en
el futuro. Puede eliminar una o más alarmas a la vez. Por ejemplo, utilice el siguiente comando para
eliminar las alarmas Step-Scaling-AlarmHigh-AddCapacity y Step-Scaling-AlarmLow-
RemoveCapacity.
En los siguientes ejemplos se muestra cómo crear políticas de escalado para Amazon EC2 Auto Scaling
con elAWS CLI put-scaling-policycomando. Para obtener ejercicios introductorios sobre la creación de
políticas de escalado con la AWS CLI, consulte Políticas de escalado de seguimiento de destino (p. 138)
y Directivas de escalado simples y de paso (p. 144).
Ejemplo 1: Para aplicar una política de escalado de seguimiento de destino con una especificación de
métrica predefinida
Ejemplo 2: Para aplicar una política de escalado de seguimiento de destino con una especificación de
métrica personalizada
Ejemplo 3: Para aplicar una política de escalado de seguimiento de destino solo para escalado horizontal
166
Auto Scaling de Amazon EC2 Guía del usuario
AWS CLIEjemplos de políticas de escalado
--target-tracking-configuration file://config.json
{
"TargetValue": 1000.0,
"PredefinedMetricSpecification": {
"PredefinedMetricType": "ALBRequestCountPerTarget",
"ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-
group/943f017f100becff"
},
"DisableScaleIn": true
}
Ejemplo 4: Para aplicar una política de escalado por pasos para escalado ascendente
MetricIntervalLowerBound=20.0,MetricIntervalUpperBound=30.0,ScalingAdjustment=20 \
MetricIntervalLowerBound=30.0,ScalingAdjustment=30 \
--min-adjustment-magnitude 1
Registre el nombre de recurso de Amazon (ARN) de la política. Necesitará el ARN para poder crear la
alarma de CloudWatch.
Ejemplo 5: Para aplicar una política de escalado por pasos para escalado descendente
Registre el nombre de recurso de Amazon (ARN) de la política. Necesitará el ARN para poder crear la
alarma de CloudWatch.
Ejemplo 6: Para aplicar una política de escalado sencillo para escalado ascendente
Registre el nombre de recurso de Amazon (ARN) de la política. Necesitará el ARN para poder crear la
alarma de CloudWatch.
Ejemplo 7: Para aplicar una política de escalado sencillo para escalado descendente
Registre el nombre de recurso de Amazon (ARN) de la política. Necesitará el ARN para poder crear la
alarma de CloudWatch.
167
Auto Scaling de Amazon EC2 Guía del usuario
Escalado predictivo
• El tráfico cíclico, como el uso elevado de recursos durante las horas laborables y el uso reducido de
recursos durante las tardes y fines de semana
• Patrones recurrentes de carga de trabajo de activación y desactivación, como procesamiento por lotes,
pruebas o análisis periódicos de datos
• Las aplicaciones que tardan mucho tiempo en inicializarse, lo que provoca un notable impacto de
latencia en el rendimiento de las aplicaciones durante eventos de escalabilidad horizontal
En general, si tiene patrones regulares de aumentos de tráfico y aplicaciones que tardan mucho tiempo
en inicializarse, debe considerar el uso de escalado predictivo. El escalado predictivo puede ayudarle a
escalar más rápido al lanzar la capacidad antes de la carga prevista, en comparación con el uso de solo
escalado dinámico, que es de naturaleza reactiva. El escalado predictivo también puede ahorrarle dinero
en su factura de EC2, ya que le ayuda a evitar la necesidad de aprovisionar en exceso la capacidad.
Por ejemplo, considere una aplicación que tenga un uso alto durante el horario laboral y bajo uso durante
la noche. Al comienzo de cada día laborable, el escalado predictivo puede agregar capacidad antes de la
primera afluencia de tráfico. Esto ayuda a su aplicación a mantener una alta disponibilidad y performance
al pasar de un período de menor utilización a un período de mayor utilización. No tiene que esperar a que
el escalado dinámico reaccione a los cambios de tráfico. Tampoco tiene que dedicar tiempo a revisar los
patrones de carga de su aplicación e intentar programar la cantidad correcta de capacidad mediante el
escalado programado.
UsarAWS Management Console, elAWS CLIo uno de los SDK para agregar una política de escalado
predictivo a cualquier grupo de Auto Scaling.
Contenido
• Funcionamiento del escalado predictivo (p. 168)
• Prácticas recomendadas (p. 169)
• Crear una política de escalado predictivo (consola) (p. 169)
• Cree una política de escalado predictivo (AWS CLI) (p. 171)
• Limitations (p. 173)
• Exploración de datos y previsión (p. 173)
• Anular valores de previsión mediante acciones programadas (p. 175)
Para utilizar el escalado predictivo, primero debe crear una política de escalado con un par de métricas y
una utilización de destino. La creación de Forecast se inicia inmediatamente después de crear la política
si hay al menos 24 horas de datos históricos. El escalado predictivo busca patrones en los datos métricos
de CloudWatch de los 14 días anteriores para crear una previsión horaria para las próximas 48 horas.
Los datos de Forecast se actualizan diariamente en función de los datos de métricas más recientes de
CloudWatch.
168
Auto Scaling de Amazon EC2 Guía del usuario
Prácticas recomendadas
Puede configurar el escalado predictivo enSólo previsiónpara que pueda evaluar la previsión antes
de permitir el escalado predictivo para escalar activamente la capacidad. A continuación, puede ver
la previsión y los datos de métricas recientes de CloudWatch en forma de gráfico desde la consola de
Amazon EC2 Auto Scaling. También puede obtener acceso a los datos de previsión mediante laAWS CLIo
uno de los SDK de.
Cuando esté listo para comenzar a escalar con escalado predictivo, cambie la directiva deSólo
previsiónModo dePrevisión y escalaModo. Después de cambiar aPrevisión y escala, el grupo Auto Scaling
comienza a escalar en función de la previsión.
Mediante la previsión, Amazon EC2 Auto Scaling escala el número de instancias al principio de cada hora:
• Si la capacidad real es inferior a la capacidad prevista, Amazon EC2 Auto Scaling escala su grupo de
Auto Scaling para que su capacidad deseada sea igual a la capacidad prevista.
• Si la capacidad real es mayor que la capacidad prevista, Amazon EC2 Auto Scaling no escalará la
capacidad.
• Los valores que establezca para la capacidad mínima y máxima del grupo Auto Scaling se respetan si la
capacidad prevista está fuera de este rango.
Prácticas recomendadas
• Confirme si el escalado predictivo es adecuado para su carga de trabajo. Una carga de trabajo es un
buen ajuste para el escalado predictivo si presenta patrones de carga recurrentes específicos del día
de la semana o de la hora del día. Para comprobar esto, configure las políticas de escalado predictivo
enSólo previsiónModo.
• Evalúe la previsión y su precisión antes de permitir que el escalado predictivo escale activamente
su aplicación. Para iniciar la previsión, el escalado predictivo necesita al menos 24 horas de datos
históricos. Sin embargo, los pronósticos son más efectivos si los datos históricos abarcan las dos
semanas completas. Si actualiza la aplicación creando un nuevo grupo de Auto Scaling y eliminando el
anterior, el nuevo grupo de Auto Scaling necesita 24 horas de datos de carga históricos antes de que el
escalado predictivo pueda volver a generar pronósticos. En este caso, es posible que tenga que esperar
unos días para obtener una previsión más precisa.
• Cree varias políticas de escalado predictivo enSólo previsiónpara probar los efectos potenciales de
diferentes métricas. Puede crear varias directivas de escalado predictivo para cada grupo de Auto
Scaling, pero sólo una de las directivas se puede utilizar para el escalado activo.
• Si elige un par de métricas personalizadas, debe definir sus métricas. No puede usar métricas
personalizadas, pero puede usar una combinación diferente de métrica de carga y métrica de escala.
Para evitar problemas, asegúrese de que la métrica de carga que elija representa la carga completa de
la aplicación.
• Utilice escalado predictivo con escalado dinámico. El escalado dinámico se utiliza para escalar
automáticamente la capacidad en respuesta a los cambios en la utilización de recursos. Su uso con
escalado predictivo le ayuda a seguir de cerca la curva de demanda de su aplicación, escalando durante
períodos de bajo tráfico y escalando hacia fuera cuando el tráfico es mayor de lo esperado. Cuando
varias directivas de escalado están activas, cada directiva determina la capacidad deseada de forma
independiente y la capacidad deseada se establece en el máximo de ellas. Por ejemplo, si se requieren
10 instancias para permanecer en la utilización de destino en una política de escalado de seguimiento
de destino y se requieren 8 instancias para permanecer en la utilización de destino en una política de
escalado predictivo, entonces la capacidad deseada del grupo se establece en 10.
169
Auto Scaling de Amazon EC2 Guía del usuario
Crear una política de escalado predictivo (consola)
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la páginaEscalado automático, enPolíticas de escalado, elijaCrear una política de escalado
predictivo.
4. Para definir una política, haga lo siguiente:
Entrada de red Número medio de bytes por minuto que cada instancia debería
recibir idealmente.
Salida de red Número medio de bytes por minuto que cada instancia debería
enviar idealmente.
Recuento Application Load Número medio de solicitudes por minuto que cada instancia
Balancer de aplicaciones por debería recibir idealmente.
destino
6. (Opcional) ParaLanzamiento previo de instancias, elija con qué antelación desea que se inicien las
instancias antes de que el pronóstico exija que aumente la carga.
7. (Opcional) ParaComportamiento de capacidad máxima, elija si desea permitir que Amazon EC2 Auto
Scaling escale hacia fuera superior a la capacidad máxima del grupo cuando la capacidad prevista
supere el máximo definido. Activar esta configuración permite que la escala se produzca durante los
períodos en los que se prevé que el tráfico sea el máximo.
8. (Opcional) ParaCapacidad máxima del búfer por encima de la capacidad previstaElija la cantidad de
capacidad adicional que se utiliza cuando la capacidad prevista está cerca o supera la capacidad
máxima. El valor se especifica como un porcentaje en relación con la capacidad prevista. Por ejemplo,
170
Auto Scaling de Amazon EC2 Guía del usuario
Cree una política de escalado predictivo (AWS CLI)
si el búfer es 10, esto significa un búfer del 10 por ciento, por lo que si la capacidad prevista es 50 y la
capacidad máxima es 40, la capacidad máxima es 55.
Si se establece en 0, Amazon EC2 Auto Scaling puede escalar la capacidad por encima de la
capacidad máxima hasta igualar pero no superar la capacidad prevista.
9. SeleccionarCrear una política de escalado predictivo.
{
"MetricSpecifications": [
{
"TargetValue": 40,
"PredefinedMetricPairSpecification": {
"PredefinedMetricType": "ASGCPUUtilization"
}
}
]
}
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-
b13a-d1905620f345:autoScalingGroupName/mygroup:policyName/cpu40-predictive-scaling-policy",
"Alarms": []
}
171
Auto Scaling de Amazon EC2 Guía del usuario
Cree una política de escalado predictivo (AWS CLI)
de directiva que utiliza métricas de recuento de solicitudes de Application Load Balancer. La utilización de
destino es1000, y el escalado predictivo se establece enForecastAndScaleModo.
{
"MetricSpecifications": [
{
"TargetValue": 1000,
"PredefinedMetricPairSpecification": {
"PredefinedMetricType": "ALBRequestCount",
"ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-
group/943f017f100becff"
}
}
],
"Mode": "ForecastAndScale"
}
{
"PolicyARN": "arn:aws:autoscaling:region:account-
id:scalingPolicy:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/
mygroup:policyName/alb1000-predictive-scaling-policy",
"Alarms": []
}
Para proporcionar espacio para que Amazon EC2 Auto Scaling aprovisione capacidad adicional
cuando se prevea que la capacidad sea igual o muy cercana al tamaño máximo de su grupo,
especifique la propiedadMaxCapacityBreachBehavioryMaxCapacityBufferPropiedades, como
se muestra en el ejemplo siguiente. Debe especificarMaxCapacityBreachBehaviorcon un valor
deIncreaseMaxCapacity. El número máximo de instancias que puede tener el grupo depende del valor
deMaxCapacityBuffer.
{
"MetricSpecifications": [
{
"TargetValue": 70,
"PredefinedMetricPairSpecification": {
"PredefinedMetricType": "ASGCPUUtilization"
}
172
Auto Scaling de Amazon EC2 Guía del usuario
Limitations
}
],
"MaxCapacityBreachBehavior": "IncreaseMaxCapacity",
"MaxCapacityBuffer": 10
}
En este ejemplo, la política está configurada para utilizar un búfer del 10 por ciento
("MaxCapacityBuffer": 10), por lo que si la capacidad prevista es 50 y la capacidad máxima es 40, la
capacidad máxima es 55. Una política que puede escalar la capacidad por encima de la capacidad máxima
hasta igualar pero no superar la capacidad prevista tendría un búfer de 0 ("MaxCapacityBuffer": 0).
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:d02ef525-8651-4314-
bf14-888331ebd04f:autoScalingGroupName/mygroup:policyName/cpu70-predictive-scaling-policy",
"Alarms": []
}
Limitations
El escalado predictivo requiere 24 horas de historial métrico antes de que pueda generar pronósticos.
Actualmente no se puede utilizar la escala predictiva con grupos de Auto Scaling que tienen una directiva
de instancias mixtas.
Actualmente no puede especificar sus métricas personalizadas en una política de escalado predictivo.
Cada gráfico muestra los valores de previsión frente a los valores reales y a un tipo de datos concreto.
LaCargarmuestra el pronóstico de carga y los valores reales para la métrica de carga que elija.
LaCapacidadmuestra el número de instancias que se pronostican en función de la utilización de destino
y el número real de instancias iniciadas. Varios colores muestran los puntos de datos de métrica reales y
los valores de previsión pasados y futuros. La línea naranja muestra los puntos de datos de la métrica real.
La línea verde muestra la previsión generada para el período de previsión futuro. La línea azul muestra el
pronóstico para periodos anteriores.
173
Auto Scaling de Amazon EC2 Guía del usuario
Exploración de datos y previsión
Puede ajustar el intervalo de tiempo para los datos anteriores eligiendo su valor preferido en la parte
superior derecha del gráfico:2 días,1 week,2 semanas,4 semanas,6 semanas, o bien8 semanas. Cada
punto del gráfico representa una hora de datos. Al pasar el ratón por encima de un punto de datos, la
información contextual muestra el valor de un determinado momento, en UTC.
Para agrandar el panel del gráfico, elija el icono de expansión en la parte superior derecha del gráfico.
Para volver a la vista predeterminada, vuelva a seleccionar el icono.
Le recomendamos que habilite las métricas de grupo de Auto Scaling. Si estas métricas no están
habilitadas, faltarán datos de capacidad real en el gráfico de previsión de capacidad. No se aplica
ningún costo por habilitar estas métricas.
Para habilitar las métricas del grupo de Auto Scaling, abra el grupo de Auto Scaling en la consola
de Amazon EC2 y desde laMonitoreo, seleccione laColección de métricas de grupo de Auto
Scaling,Habilitar. Para obtener más información, consulte Habilitar métricas de grupo de Auto
Scaling (consola) (p. 251).
174
Auto Scaling de Amazon EC2 Guía del usuario
Anulación de las previsiones
Important
Si el grupo Auto Scaling es nuevo, espere 24 horas para que Amazon EC2 Auto Scaling cree la
primera previsión.
Por ejemplo, puede crear una acción programada con una capacidad mínima superior a la prevista. En
tiempo de ejecución, Amazon EC2 Auto Scaling actualiza la capacidad mínima de su grupo de Auto
Scaling. Dado que el escalado predictivo optimiza la capacidad, se respeta una acción programada con
una capacidad mínima superior a los valores de previsión. Esto evita que la capacidad sea menor de
lo esperado. Para dejar de anular la previsión, utilice una segunda acción programada para devolver la
capacidad mínima a su configuración original.
El siguiente procedimiento describe los pasos para anular la previsión durante periodos de tiempo futuros.
Contenido
• Paso 1: (Opcional) Analizar datos de series de tiempo (p. 175)
• Paso 2: Crear dos acciones programadas (p. 177)
1. Recupere la previsión
Una vez creada la previsión, puede consultar un período de tiempo específico en la previsión. El
objetivo de la consulta es obtener una vista completa de los datos de la serie temporal para un período
de tiempo específico.
La consulta puede incluir hasta dos días de datos de previsión futuros. Si ha estado utilizando
escalado predictivo durante un tiempo, también puede acceder a los datos de pronóstico anteriores.
Sin embargo, la duración máxima entre la hora de inicio y la hora de finalización es de 30 días.
175
Auto Scaling de Amazon EC2 Guía del usuario
Anulación de las previsiones
Si se ejecuta correctamente, el comando devolverá datos similares a los del ejemplo siguiente.
{
"LoadForecast": [
{
"Timestamps": [
"2021-05-19T17:00:00+00:00",
"2021-05-19T18:00:00+00:00",
"2021-05-19T19:00:00+00:00",
"2021-05-19T20:00:00+00:00",
"2021-05-19T21:00:00+00:00",
"2021-05-19T22:00:00+00:00",
"2021-05-19T23:00:00+00:00"
],
"Values": [
153.0655799339254,
128.8288551285919,
107.1179447150675,
197.3601844551528,
626.4039934516954,
596.9441277518481,
677.9675713779869
],
"MetricSpecification": {
"TargetValue": 40.0,
"PredefinedMetricPairSpecification": {
"PredefinedMetricType": "ASGCPUUtilization"
}
}
}
],
"CapacityForecast": {
"Timestamps": [
"2021-05-19T17:00:00+00:00",
"2021-05-19T18:00:00+00:00",
"2021-05-19T19:00:00+00:00",
"2021-05-19T20:00:00+00:00",
"2021-05-19T21:00:00+00:00",
"2021-05-19T22:00:00+00:00",
"2021-05-19T23:00:00+00:00"
],
"Values": [
2.0,
2.0,
2.0,
2.0,
4.0,
4.0,
4.0
]
},
"UpdateTime": "2021-05-19T01:52:50.118000+00:00"
}
176
Auto Scaling de Amazon EC2 Guía del usuario
Anulación de las previsiones
capacidad que se necesita cada hora para manejar la carga pronosticada mientras se mantiene
unTargetValuede 40,0 (40% de utilización media de la CPU).
2. Identificar el período de tiempo objetivo
Identifique la hora u horas en las que debe producirse la fluctuación de la demanda de una sola vez.
Recuerde que las fechas y horas mostradas en el pronóstico están en UTC.
Para crear dos acciones programadas para eventos de una sola vez (consola)
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Automatic scaling (Escalado automático), en Scheduled actions (Acciones
programadas), elija Create scheduled action (Crear acción programada).
4. Rellene los siguientes ajustes para la acción programada:
Para crear dos acciones programadas para eventos de una sola vez (AWS CLI)
Para utilizar elAWS CLIpara crear las acciones programadas, utilice elput-scheduled-actioncomando.
Por ejemplo, definamos una programación que mantenga una capacidad mínima de tres instancias el 19
de mayo a las 5:00 PM durante ocho horas. Los siguientes comandos muestran cómo implementar este
escenario.
La primeraput-scheduled-actionindica a Amazon EC2 Auto Scaling que actualice la capacidad mínima del
grupo de Auto Scaling especificado a las 5:00 PM (UTC) del 19 de mayo de 2021.
177
Auto Scaling de Amazon EC2 Guía del usuario
Escalado programado
El segundo comando indica a Amazon EC2 Auto Scaling que establezca la capacidad mínima del grupo en
una a la 1:00 a.m. UTC del 20 de mayo de 2021.
Después de agregar estas acciones programadas al grupo Auto Scaling, Amazon EC2 Auto Scaling realiza
lo siguiente:
• A las 5:00 PM UTC del 19 de mayo de 2021, se ejecuta la primera acción programada. Si el grupo
tiene actualmente menos de tres instancias, el grupo se escala de manera horizontal a tres instancias.
Durante este tiempo y durante las próximas ocho horas, Amazon EC2 Auto Scaling puede seguir
escalando hacia fuera si la capacidad prevista es superior a la capacidad real o si existe una política de
escalado dinámico vigente.
• A la 1:00 AM UTC del 20 de mayo de 2021, se ejecuta la segunda acción programada. Esto devuelve la
capacidad mínima a su configuración original al final del evento.
El formato de expresión cron consta de cinco campos separados por espacios: [Minuto] [Hora]
[Día_del_mes] [Mes_del_año] [Día_del_semana]. Los campos pueden contener cualquier valor permitido,
incluidos los caracteres especiales.
Por ejemplo, la siguiente expresión cron ejecuta la acción cada martes a las 06:30. El asterisco se utiliza
como comodín para que coincida con todos los valores de un campo.
30 6 * * 2
Véase también
Para obtener más información acerca de cómo crear, enumerar, editar y eliminar acciones programadas,
consulteEscale programado para Amazon EC2 Auto Scaling (p. 178).
Para utilizar la escala programada, creeAcciones programadas de. Las acciones programadas se ejecutan
de manera automática en función de la fecha y la hora. Cuando crea una acción programada, especifica
cuándo debe ocurrir la actividad de escalado y los nuevos tamaños deseados, mínimos y máximos para
la acción de escalado. Puede crear acciones programadas que realizan el escalado de forma puntual o
periódica.
Contenido
178
Auto Scaling de Amazon EC2 Guía del usuario
Considerations
Considerations
Cuando cree una acción programada, tenga en cuenta lo siguiente:
• Una acción programada establece los tamaños deseado, mínimo y máximo en lo especificado por
la acción programada en la fecha y hora especificadas. La solicitud puede incluir opcionalmente
solo uno de estos tamaños. Por ejemplo, puede crear una acción programada con sólo la capacidad
deseada especificada. Sin embargo, en algunos casos, debe incluir los tamaños mínimo y máximo para
asegurarse de que la nueva capacidad deseada que especificó en la acción no está fuera de estos
límites.
• De forma predeterminada, las programaciones periódicas establecidas se muestran en tiempo universal
coordinado (UTC). Puede cambiar la zona horaria para que se corresponda con la zona horaria local
o con una zona horaria de otra parte de la red. Cuando se especifica una zona horaria que observa el
horario de verano (DST), la acción se ajusta automáticamente para horario de verano.
• Puede desactivar temporalmente el escalado programado para un grupo de Auto Scaling suspendiendo
elScheduledActionsProceso de. Esto le ayuda a evitar que las acciones programadas estén activas
sin tener que eliminarlas. A continuación, puede reanudar el escalado programado cuando desee volver
a utilizarlo. Para obtener más información, consulte Suspensión y reanudación de un proceso para un
grupo de Auto Scaling (p. 232).
• El orden de ejecución de las acciones programadas se garantiza dentro del mismo grupo, pero no para
las acciones programadas en los distintos grupos.
• Una acción programada, por lo general, se ejecuta en cuestión de segundos. Sin embargo, la acción
puede retrasarse durante un máximo de dos minutos desde la hora de inicio programada. Como
las acciones programadas dentro de un grupo de Auto Scaling se ejecutan en el orden en el que se
especifican, las acciones con horas de inicio programadas cercanas pueden tardar más en ejecutarse.
Programaciones recurrentes
Puede crear acciones programadas que realizan el Auto Scaling de forma periódica.
Para crear una programación periódica utilizando la herramientaAWS CLIo un SDK, especifique una
expresión cron y una zona horaria para describir cuándo se va a repetir esa acción de programación. De
forma opcional, puede especificar una fecha y una hora para la hora de inicio, la hora de finalización o para
ambas.
Para crear una programación periódica utilizando la herramientaAWS Management Console, especifique
el patrón de recurrencia, la zona horaria, la hora de inicio y la hora de finalización opcional de la
acción programada. Todas las opciones de patrón de recurrencia se basan en expresiones cron.
Alternativamente, puede escribir su propia expresión cron personalizada.
El formato de expresión cron admitido consta de cinco campos separados por espacios en blanco:
[Minuto] [Hora] [Día_del_mes] [Mes_del_año] [Día_del_mes] [Mes_del_mes] [Mes_del_año] Por ejemplo,
la expresión Cron30 6 * * 2Configura una acción programada que se repite cada martes a las 06:30.
El asterisco se utiliza como comodín para que coincida con todos los valores de un campo. Para obtener
otros ejemplos de expresiones cron, consultehttps://crontab.guru/examples.html. Para obtener información
sobre cómo escribir sus propias expresiones cron en este formato, consulteCrontab.
179
Auto Scaling de Amazon EC2 Guía del usuario
Crear y administrar acciones programadas (consola)
• Si especifica una hora de inicio, Amazon EC2 Auto Scaling realiza la acción en ese momento y, a
continuación, realiza la acción basada en la periodicidad especificada.
• Si especifica una hora de finalización, la acción deja de repetirse después de esta hora. Una acción
programada no se mantiene en su cuenta una vez que ha alcanzado su hora de finalización.
• La hora de inicio y la hora de finalización se deben establecer en UTC cuando se utiliza el comandoAWS
CLIo un SDK de.
Si crea una acción programada mediante la consola y especifica una zona horaria que observe el horario
de verano (DST), tanto la programación periódica como las horas de inicio y finalización se ajustan
automáticamente para el horario de verano.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Automatic scaling (Escalado automático), en Scheduled actions (Acciones
programadas), elija Create scheduled action (Crear acción programada).
4. Escriba unaNombrePara la acción programada.
5. ParaCapacidad deseada,Mín (Mínimo),Max (Máximo), elija el nuevo tamaño deseado del grupo y la
nueva capacidad mínima y máxima.
6. ParaRecurrenciaEn, elija una de las opciones disponibles.
• Si desea escalar según una programación periódica, elija la frecuencia con la que Amazon EC2
Auto Scaling debe ejecutar la acción programada.
• Si elige una opción que comienza por Every (Cada), la expresión de cron se crea
automáticamente.
• Si eligeCron, especifique una expresión de cron que especifique cuándo se realiza la acción.
• Si desea escalar una sola vez, elijaOnce.
7. ParaTime zone (Zona horarioa), elija una zona horaria. El valor predeterminado es Etc/UTC.
Note
• Si elige una programación periódica, la hora de inicio define cuándo se ejecuta la primera acción
programada de la serie recurrente.
• Si eligióOnceComo la recurrencia, la hora de inicio define la fecha y la hora para que se ejecute la
acción de programación.
180
Auto Scaling de Amazon EC2 Guía del usuario
Crear y administrar acciones programadas (consola)
Amazon EC2 Auto Scaling muestra los valores deHora de inicioyHora de finalizaciónen su hora local con
el desplazamiento UTC en vigor en la fecha y hora especificadas. El desplazamiento UTC es la diferencia,
en horas y minutos, de hora local a UTC. El valor deTime zone (Zona horarioa)muestra la zona horaria
solicitada, por ejemplo,America/New_York.
Por ejemplo, tiene una programación periódica cuya zona horaria esAmerica/New_York. La primera
acción de escalado ocurre en elAmerica/New_Yorkzona horaria antes de que comience el horario de
verano. La siguiente acción de escalado ocurre en elAmerica/New_Yorkzona horaria después de que se
inicia el horario de verano. La primera acción comienza a las 8:00 AM UTC-5 en hora local, mientras que la
segunda vez comienza a las 8:00 AM UTC-4 en hora local.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Automatic scaling (Escalado automático), en Scheduled actions (Acciones
programadas), seleccione una acción programada.
4. Elija Actions, Edit.
5. Introduzca los cambios necesarios y elijaGuarde los cambios.
181
Auto Scaling de Amazon EC2 Guía del usuario
Cree y administre acciones programadas (AWS CLI)
Para reducir el número de instancias en ejecución de su grupo de Auto Scaling en un momento específico,
utilice el siguiente comando.
A continuación se muestra un ejemplo de una acción programada que especifica una expresión cron.
En la programación especificada (todos los días a las 9:00 p. m. UTC), si el grupo de tiene actualmente
menos de tres instancias, realiza un escalado descendente hasta tres instancias. Si el grupo tiene
actualmente más de 3 instancias, se escala a 3 instancias.
182
Auto Scaling de Amazon EC2 Guía del usuario
Limitations
para la zona horaria de IANA (America/New_York, por ejemplo). Para obtener más información,
consultehttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
A continuación, se muestra un ejemplo que utiliza la--time-zoneal crear una acción programada
recurrente para escalar la capacidad.
Según la programación especificada (todos los lunes a viernes a las 6:00 PM hora local), si el grupo tiene
actualmente menos de 2 instancias, se escala a 2 instancias. Si el grupo tiene actualmente más de 2
instancias, se escala a 2 instancias.
{
"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": "2020-12-01T00:30:00Z",
"Time": "2020-12-01T00:30:00Z",
"MinSize": 1,
"MaxSize": 6,
"DesiredCapacity": 4
}
]
}
Limitations
• Los nombres de las acciones programadas deben ser únicos por grupo Auto Scaling.
• Una acción programada debe tener un valor temporal único. Si intenta programar una actividad en un
momento en que otra actividad de escalado ya se ha programado, se rechaza la llamada y devuelve un
error que indica que ya existe una acción programada con esta hora de inicio programada.
• Puede crear un máximo de 125 acciones programadas por grupo de Auto Scaling.
183
Auto Scaling de Amazon EC2 Guía del usuario
Enlaces de ciclo de vida
Como ejemplo del uso de enlaces del ciclo de vida con instancias de Auto Scaling:
• Cuando ocurre un evento de escalado ascendente, la instancia que se acaba de lanzar completa su
secuencia de inicio y pasa a un estado de espera. Mientras la instancia está en estado de espera,
ejecuta un script para descargar e instalar los paquetes de software de necesarios para la aplicación,
asegurándose de que la instancia esté completamente lista antes de que empiece a recibir tráfico.
Cuando el script ha terminado de instalar el software, envía elcomplete-lifecycle-actionPara continuar.
• Cuando ocurre un evento de escalado descendente, un enlace de ciclo de vida pausa la instancia antes
de que termine y le envía una notificación a través de Amazon EventBridge. Mientras la instancia se
encuentra en estado de espera, puede invocar unAWS LambdaFunción o conéctese a la instancia para
descargar registros u otros datos antes de que la instancia se termine por completo.
Un uso popular de los ganchos del ciclo de vida es controlar cuándo se registran instancias con Elastic
Load Balancing. Al agregar un enlace del ciclo de vida de lanzamiento al grupo Auto Scaling, puede
asegurarse de que las aplicaciones de las instancias estén listas para aceptar tráfico antes de registrarse
en el equilibrador de carga al final del enlace del ciclo de vida.
Contenido
• Cómo funcionan los enlaces de ciclo de vida (p. 184)
• Condiciones y limitaciones (p. 186)
• Recepción de notificaciones de enlace de ciclo de vida (p. 187)
• Repositorio GitHub (p. 187)
• Disponibilidad de enlaces de ciclo de vida (p. 187)
• Configuración de un destino de notificación para un enlace de ciclo de vida (p. 188)
• Añadir enlaces de ciclo de vida (p. 192)
• Completar una acción de ciclo de vida (p. 194)
• Tutorial: Configure un enlace de ciclo de vida que invoque una función Lambda (p. 195)
Note
Amazon EC2 Auto Scaling proporciona su propio ciclo de vida para ayudar con la implementación
de grupos de Auto Scaling. Este ciclo de vida difiere del de otras instancias de EC2. Para obtener
más información, consulte Ciclo de vida de instancias de Amazon EC2 Auto Scaling (p. 8).
1. El grupo Auto Scaling responde a un evento de escalado ascendente y comienza a lanzar una instancia.
184
Auto Scaling de Amazon EC2 Guía del usuario
Cómo funcionan los enlaces de ciclo de vida
La instancia permanece en un estado de espera hasta que complete la acción del ciclo de
vida mediante la herramientaacción del ciclo de vida completoEl comando de la CLI o el
comandoCompleteLifecycleActionAcción, o hasta que se agote el tiempo de espera. De forma
predeterminada, la instancia permanece en estado de espera durante una hora y, a continuación, el
grupo de Auto Scaling continúa con el proceso de lanzamiento (Pending:Proceed). Si necesita más
tiempo, puede reiniciar el periodo de tiempo de espera registrando un latido. Si completa la acción del
ciclo de vida antes de que expire el período de tiempo de espera, el período finaliza y el grupo Auto
Scaling continúa con el proceso de lanzamiento.
3. La instancia ingresa elInServiceSe inicia el período de gracia de comprobación de estado. Si el
grupo de Auto Scaling está asociado a un balanceador de carga de Elastic Load Balancing, la instancia
se registra en el balanceador de carga y el balanceador de carga comienza a comprobar su estado.
Después de que finalice el periodo de gracia de la comprobación de estado, Amazon EC2 Auto Scaling
comienza a comprobar el estado de la instancia.
4. El grupo Auto Scaling responde a un evento de escalado ascendente y comienza a terminar una
instancia. Si el grupo de Auto Scaling se usa con Elastic Load Balancing, primero se anula el registro de
la instancia que terminará en el balanceador de carga. Si el drenaje de conexiones está habilitado para
el equilibrador de carga, la instancia deja de aceptar nuevas conexiones y espera a que las conexiones
existentes se agoten antes de completar el proceso de anulación del registro.
5. El enlace de ciclo de vida cambia la instancia a un estado de espera (Terminating:Wait) y, a
continuación, realiza una acción personalizada.
La instancia permanece en estado de espera hasta que complete la acción del ciclo de vida o hasta
que finalice el periodo de tiempo de espera (que, de forma predeterminada, es de una hora). Después
de completar el enlace del ciclo de vida o expirar el período de tiempo de espera, la instancia pasa al
siguiente estado (Terminating:Proceed).
6. La instancia ha finalizado.
En la siguiente ilustración se muestran las transiciones entre los estados de la instancia de Auto Scaling en
este proceso.
185
Auto Scaling de Amazon EC2 Guía del usuario
Condiciones y limitaciones
Condiciones y limitaciones
Al utilizar enlaces de ciclo de vida, tenga en cuenta las siguientes consideraciones y limitaciones clave:
• Puede configurar un enlace del ciclo de vida de lanzamiento para abandonar el lanzamiento si se
produce un error inesperado, en cuyo caso Amazon EC2 Auto Scaling finaliza automáticamente y
reemplaza la instancia.
• Amazon EC2 Auto Scaling limita la velocidad a la que permite que las instancias se inicien si los enlaces
del ciclo de vida fallan de forma coherente.
• Puede utilizar enlaces de ciclo de vida con instancias de spot. Sin embargo, un enlace de ciclo de vida
no impide que se termine una instancia si esa capacidad ya no está disponible, lo que puede ocurrir
en cualquier momento con un aviso de interrupción de dos minutos. Para obtener más información,
consulteInterrupciones de instancias de spoten laGuía del usuario de Amazon EC2 para instancias de
Linux.
• Al escalar hacia fuera, Amazon EC2 Auto Scaling no cuenta una nueva instancia para las métricas
agregadas de CloudWatch del grupo Auto Scaling hasta que finalice el gancho del ciclo de vida de
lanzamiento (y se complete el tiempo de calentamiento de la política de escalado). Al escalar en, la
instancia de terminación continúa contando como parte de las métricas agregadas del grupo hasta que
finalice el enlace del ciclo de vida de terminación.
• Cuando un grupo de Auto Scaling lanza o termina una instancia debido a políticas de escalado sencillo,
se aplica un periodo de recuperación. El periodo de recuperación ayuda a garantizar que el grupo de
Auto Scaling no lance ni termine más instancias de las necesarias antes de que los efectos de las
actividades de escalado sencillo anteriores sean visibles. Cuando se produce una acción del ciclo de
vida y una instancia entra en estado de espera, se detienen las actividades de escalado a causa de las
políticas de escalado sencillo. Cuando terminan las acciones del ciclo de vida, comienza el periodo de
recuperación. Si establece un intervalo largo para el período de recuperación, el escalado tardará más
tiempo en reanudarse. Para obtener más información, consulte Reutilización de escalado descendente
Amazon EC2 Auto Scaling (p. 153).
• Existe una cuota que especifica el número máximo de enlaces de ciclo de vida que puede crear por
grupo de Auto Scaling. Para obtener más información, consulte Cuotas de servicio de Amazon EC2 Auto
Scaling (p. 11).
• Para obtener ejemplos del uso de enlaces de ciclo de vida, consulte las siguientes entradas de blog:
Creación de un sistema de copia de seguridad para instancias escaladas mediante el comando Lambda
y Amazon EC2 RunyEjecutar código antes de finalizar una instancia de EC2 Auto Scaling.
• Establezca el tiempo de espera del latido del enlace de ciclo de vida cuando cree dicho enlace.
Con el comando put-lifecycle-hook, use el parámetro --heartbeat-timeout. Con la operación
PutLifecycleHook, utilice el parámetro HeartbeatTimeout.
• Continúe hasta el siguiente estado si termina antes de que finalice el periodo de tiempo de espera
mediante el comando complete-lifecycle-action o la operación CompleteLifecycleAction.
• Posponga el final del periodo de tiempo de espera registrando un latido mediante la herramientarécord,
ciclo de vida, acción-latido del corazóno el comando deRecordLifecycleActionHeartbeat. De
esta forma, se incrementa el tiempo de espera en el valor especificado cuando creó el enlace de ciclo
de vida. Por ejemplo, si el valor de tiempo de espera es de una hora y llama a este comando después
de 30 minutos, la instancia permanece en estado de espera durante una hora adicional o un total de 90
minutos.
186
Auto Scaling de Amazon EC2 Guía del usuario
Recepción de notificaciones de enlace de ciclo de vida
El tiempo máximo que puede mantener una instancia en estado de espera es de 48 horas o 100 veces el
tiempo de espera del latido, lo que sea menor.
Sin embargo, si tiene datos de usuario o script de cloud init que configura las instancias después de
lanzarlas, no es necesario configurar una notificación. El script puede controlar la acción del ciclo de vida
usando el ID de la instancia en la que se ejecuta. Si aún no lo ha hecho, actualice el script para recuperar
el ID de instancia de la instancia de los metadatos de la instancia. Para obtener más información,
consulteRecuperación de metadatos de instanciaen laGuía del usuario de Amazon EC2 para instancias
de Linux. Puede hacer que el script señale el gancho del ciclo de vida cuando se complete el script de
configuración, para permitir que la instancia continúe al siguiente estado.
Note
La consola Amazon EC2 Auto Scaling no ofrece la opción de definir un destino de notificación
de Amazon SNS o Amazon SQS para el gancho del ciclo de vida. Estos ganchos del ciclo de
vida se deben agregar mediante el comandoAWS CLIo uno de los SDK de. Para obtener más
información, consulte Configuración de notificaciones (p. 188).
Repositorio GitHub
Puedes visitar nuestraRepositorio GitHubPara descargar plantillas y scripts para enlaces de ciclo de vida.
Lanzamiento ✓ ✓ ✓ ✓ ✓
de instancias
Terminación de ✓ ✓ ✓ ✓ ✓
instancias de
¹ Se aplica a instancias iniciadas o terminadas cuando se crea o elimina el grupo, cuando el grupo se
escala automáticamente o cuando se ajusta manualmente la capacidad deseada del grupo. No se aplica al
enlazar o separar instancias, mover instancias dentro y fuera del modo de espera o eliminar el grupo con la
opción Forzar eliminación.
187
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de notificaciones
El primer enfoque utiliza Amazon EventBridge para invocar una función Lambda que realiza la acción
deseada. El segundo enfoque consiste en crear un tema de Amazon Simple Notification Service (Amazon
SNS) en el que se publican las notificaciones. Los clientes pueden suscribirse al tema SNS y recibir
mensajes publicados mediante un protocolo compatible. El último enfoque implica utilizar Amazon Simple
Queue Service (Amazon SQS), un sistema de mensajería que requiere nodos de trabajo para sondear una
cola.
Como práctica recomendada, le recomendamos que utilice EventBridge. Las notificaciones enviadas a
Amazon SNS y Amazon SQS contienen la misma información que las notificaciones que Amazon EC2
Auto Scaling envía a EventBridge. Antes de EventBridge, la práctica estándar era enviar una notificación
a SNS o SQS e integrar otro servicio con SNS o SQS para realizar acciones programáticas. Hoy en día,
EventBridge le ofrece más opciones para los servicios a los que puede dirigirse y facilita el manejo de
eventos mediante la arquitectura sin servidor.
Recuerde que si tiene scripts de datos de usuario o directivas de cloud init que configuran las instancias
cuando se lanzan, no es necesario recibir notificaciones cuando se produce la acción del ciclo de vida.
Contenido
• Enrutar notificaciones a Lambda mediante EventBridge (p. 188)
• Recibir notificaciones mediante Amazon SNS (p. 189)
• Recibir notificaciones mediante Amazon SQS (p. 190)
• Ejemplo de mensaje de notificación para Amazon SNS y Amazon SQS (p. 191)
Important
La regla EventBridge, la función Lambda, el tema de Amazon SNS y la cola de Amazon SQS que
utilice con los ganchos del ciclo de vida deben estar siempre en la misma región en la que creó el
grupo Auto Scaling.
Para utilizar una función Lambda como destino de una regla EventBridge
1. Puede crear una función Lambda mediante laConsola de Lambday anote el nombre de recurso
de Amazon (ARN). Por ejemplo, arn:aws:lambda:region:123456789012:function:my-
function. Necesita el ARN para crear un destino de EventBridge.
188
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de notificaciones
Cuando se utiliza elAWS Management ConsolePara crear una regla de eventos, la consola
agrega automáticamente los permisos de IAM necesarios para otorgar permiso a EventBridge
para llamar a la función de Lambda. Si crea una regla de eventos utilizando la AWS CLI, tiene
que otorgar este permiso explícitamente. Para obtener ayuda sobre la creación de una regla
de evento mediante la consola, consulteTutorial: Configure un enlace de ciclo de vida que
invoque una función Lambda (p. 195).
{
"source": [ "aws.autoscaling" ],
"detail-type": [ "EC2 Instance-launch Lifecycle Action" ]
}
{
"source": [ "aws.autoscaling" ],
"detail-type": [ "EC2 Instance-terminate Lifecycle Action" ]
}
3. Cree un destino que invoque la función Lambda cuando se produzca la acción del ciclo de vida
mediante el siguiente procedimientoput-targetsComando de.
5. Una vez que haya seguido estas instrucciones, continúe en Añadir enlaces de ciclo de vida (p. 192)
como siguiente paso.
189
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de notificaciones
1. Puede crear un tema de Amazon SNS mediante laConsola de Amazon SNSo los siguientes ejemplos
deCreación de un tema deComando de. Asegúrese de que el tema se encuentra en la misma región
que el grupo de Auto Scaling que está utilizando. Para obtener más información, consulteIntroducción
a Amazon SNSen laGuía del desarrollador de Amazon Simple Notification Service.
1. Puede crear una cola de Amazon SQS mediante laConsola de Amazon SQS. Asegúrese de que
la cola está en la misma región que el grupo Auto Scaling que está utilizando. Para obtener más
información, consulteIntroducción a Amazon SQSen laGuía del desarrollador de Amazon Simple
Queue Service.
190
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de notificaciones
191
Auto Scaling de Amazon EC2 Guía del usuario
Añadir enlaces de ciclo de vida
EC2InstanceId: i-0598c7d356eba48d7
LifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING
NotificationMetadata: hook message metadata
Note
Para ver ejemplos de los eventos entregados desde Amazon EC2 Auto Scaling a EventBridge,
consulteEventos de Auto Scaling (p. 264).
Existen dos tipos de ganchos de ciclo de vida que se pueden implementar: ganchos de ciclo de vida de
lanzamiento y ganchos de ciclo de vida de terminación. Utilice un enlace de ciclo de vida de lanzamiento
para preparar instancias para su uso o para retrasar el registro de instancias detrás del equilibrador de
carga antes de que su configuración se haya aplicado por completo. Utilice un enlace de ciclo de vida de
terminación para preparar las instancias en ejecución que se van a cerrar.
Preste atención a los siguientes ajustes al crear el enlace del ciclo de vida:
• Tiempo de espera de latidos: Esta configuración especifica cuánto tiempo debe pasar antes de que se
agote el tiempo de espera del gancho. El rango es de30De a7200segundos. El valor predeterminado
es una hora (3600segundos). Durante el periodo de tiempo de espera, por ejemplo, puede instalar
aplicaciones o descargar registros u otros datos.
• Resultado predeterminado: En esta configuración se define la acción que se debe realizar cuando
termina el tiempo de espera del enlace del ciclo de vida o cuando se produce un error inesperado.
Puede seleccionarAbandonados(predeterminado) oContinuar.
• Si la instancia se lanza, continúa indica que las acciones se realizaron correctamente y que el grupo
de Auto Scaling puede poner la instancia en servicio. Sin embargo, abandon (Abandonar) indica que
las acciones personalizadas no se realizaron correctamente y que Auto Scaling de Amazon EC2
puede terminar la instancia.
• Si la instancia se termina, tanto abandona como continúa permiten que la instancia termine. Sin
embargo, Abandon detiene todas las acciones restantes, como otros enlaces de ciclo de vida,
mientras que continue permite que todos los demás enlaces de ciclo de vida se completen.
Contenido
• Añadir enlaces de ciclo de vida(consola) (p. 193)
192
Auto Scaling de Amazon EC2 Guía del usuario
Añadir enlaces de ciclo de vida
Se abre un panel dividido en la parte inferior delGrupos de Auto Scaling(Se ha creado el certificado).
3. En la pestaña Instance management (Administración de instancias), en Lifecycle hooks (Enlaces de
ciclo de vida), elija Create lifecycle hook (Crear enlace de ciclo de vida).
4. Para definir un enlace de ciclo de vida, haga lo siguiente:
a. En Lifecycle hook name (Nombre del enlace de ciclo de vida), especifique un nombre para el
enlace de ciclo de vida.
b. En Lifecycle transition (Transición del ciclo de vida), seleccione Instance launch (Lanzamiento de
instancia) o Instance terminate (Terminación de instancia).
c. Especifique un tiempo de espera en Heartbeat timeout (Tiempo de espera de latido), lo que le
permitirá controlar el tiempo que las instancias deben permanecer en estado de espera.
d. ParaResultado predeterminado, especifique la acción que el grupo de Auto Scaling realiza
cuando transcurra el tiempo de espera del enlace del ciclo de vida o si se produce un error
inesperado.
e. (Opcional) ParaMetadatos de notificación, especifique la información adicional que desee incluir
cuando Auto Scaling de Amazon EC2 envíe un mensaje al destino de notificación.
5. Seleccione Create (Crear).
Para recibir notificaciones mediante Amazon SNS o Amazon SQS Para obtener más información, consulte
Configuración de un destino de notificación para un enlace de ciclo de vida (p. 188).
Por ejemplo, añada las siguientes opciones para especificar un tema de SNS como destino de la
notificación.
193
Auto Scaling de Amazon EC2 Guía del usuario
Completar una acción de ciclo de vida
"Event": "autoscaling:TEST_NOTIFICATION"
1. Si necesita más tiempo para completar la acción personalizada, utilice el comando record-lifecycle-
action-heartbeat para reiniciar el periodo de tiempo de espera y mantener la instancia en estado de
espera. Puede especificar el token de acción del ciclo de vida que recibió con la notificación, tal y
como se muestra en el siguiente comando.
También puede especificar el ID de la instancia que se recuperó en el paso anterior, tal y como se
muestra en el siguiente comando.
2. Si termina la acción personalizada antes de que finalice el periodo de tiempo de espera, utilice la
herramientaacción del ciclo de vida completoPara que el grupo de Auto Scaling pueda continuar
lanzando o terminando la instancia. Puede especificar el token de acción del ciclo de vida, tal y como
se muestra en el siguiente comando.
194
Auto Scaling de Amazon EC2 Guía del usuario
Tutorial: Configure un enlace de ciclo de
vida que invoque una función Lambda
Si todo está configurado correctamente, al final de este tutorial, la función Lambda realiza una acción
personalizada cuando se lanzan las instancias. La acción personalizada simplemente registra el evento en
el flujo de registro de CloudWatch Logs asociado con la función Lambda.
La función Lambda también realiza una devolución de llamada para permitir que el ciclo de vida de la
instancia continúe si esta acción es exitosa, pero permite que la instancia abandone el lanzamiento y
termine si la acción falla.
Contenido
• Prerequisites (p. 195)
• Paso 1: Crear un rol de IAM con permisos para completar los enlaces del ciclo de vida (p. 195)
• Paso 2: Creación de una función de Lambda (p. 196)
• Paso 3: Crear una regla de EventBridge (p. 197)
• Paso 4: Añadir enlaces de ciclo de vida (p. 197)
• Paso 5: Probar y verificar el evento (p. 198)
• Paso 6: Pasos siguientes (p. 199)
• Paso 7: Eliminar recursos (p. 199)
Prerequisites
Antes de comenzar este aprendizaje, cree un grupo de Auto Scaling, si no dispone todavía de uno. Para
crear un grupo de Auto Scaling, abra laPágina de grupos de Auto ScalingEn la consola de Amazon EC2 y
elijaGrupo de Auto Scaling.
Tenga en cuenta que todos los procedimientos siguientes son para la nueva consola.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:CompleteLifecycleAction"
195
Auto Scaling de Amazon EC2 Guía del usuario
Tutorial: Configure un enlace de ciclo de
vida que invoque una función Lambda
],
"Resource":
"arn:aws:autoscaling:*:123456789012:autoScalingGroup:*:autoScalingGroupName/my-asg"
}
]
}
4. SeleccionarSiguiente:Etiquetasy, a continuación,Siguiente:Revisar.
5. En Name (Nombre) escriba LogAutoScalingEvent-policy. Elija Create Policy.
196
Auto Scaling de Amazon EC2 Guía del usuario
Tutorial: Configure un enlace de ciclo de
vida que invoque una función Lambda
Este código simplemente registra el evento para que, al final de este tutorial, pueda ver un evento que
aparezca en el flujo de registro de CloudWatch Logs de asociado a esta función de Lambda.
9. Elija Deploy (Implementar).
{
"source": [ "aws.autoscaling" ],
"detail-type": [ "EC2 Instance-launch Lifecycle Action" ]
}
197
Auto Scaling de Amazon EC2 Guía del usuario
Tutorial: Configure un enlace de ciclo de
vida que invoque una función Lambda
Se abre un panel dividido en la parte inferior delGrupos de Auto Scaling(Se ha creado el certificado).
3. En el panel inferior, en la pestañaAdministración de instancias de, en la pestaña deEnlaces de ciclo de
vida, elijaCrear enlace de ciclo de vida.
4. Para definir un enlace de ciclo de vida, haga lo siguiente:
Después de aumentar la capacidad deseada, puede comprobar que se invocó la función Lambda.
198
Auto Scaling de Amazon EC2 Guía del usuario
Tutorial: Configure un enlace de ciclo de
vida que invoque una función Lambda
Si no necesita la instancia adicional que lanzó para esta prueba, puede abrir el cuadro de diálogoDetalles
dey disminuirCapacidad deseadapor 1.
Si ha terminado de trabajar con la función de ejemplo, elimínela. También puede eliminar el rol de
ejecución y la directiva de permisos y el grupo de registro que almacena los registros de la función.
199
Auto Scaling de Amazon EC2 Guía del usuario
Piscinas calientes
En esta sección se muestra cómo agregar un grupo de calentamiento automático a su grupo de Auto
Scaling. Un grupo activo es un grupo de instancias de EC2 preinicializadas que se encuentra junto al
grupo Auto Scaling. Siempre que su aplicación necesite escalar hacia fuera, el grupo Auto Scaling puede
recurrir a la piscina caliente para cumplir con su nueva capacidad deseada. El objetivo de un grupo activo
es garantizar que las instancias estén listas para comenzar a servir rápidamente el tráfico de aplicaciones,
lo que acelera la respuesta a un evento de escalabilidad horizontal. Esto se denominaInicio en caliente.
Important
Crear una piscina caliente cuando no es necesaria puede conducir a costos innecesarios. Si
su primer tiempo de arranque no causa problemas de latencia notables para su aplicación,
probablemente no sea necesario que use un grupo caliente.
El tamaño de la piscina caliente se calcula como la diferencia entre dos números: la capacidad máxima
del grupo Auto Scaling y la capacidad deseada. Por ejemplo, si la capacidad deseada de su grupo Auto
Scaling es 6 y la capacidad máxima es 10, el tamaño de su piscina caliente será 4 cuando configure
la piscina caliente por primera vez y la piscina se inicialice. La excepción es si especifica un valor
paraCapacidad máxima preparada, en cuyo caso el tamaño de la piscina caliente se calcula como la
diferencia entre elCapacidad máxima preparaday la capacidad deseada. Por ejemplo, si la capacidad
deseada del grupo de Auto Scaling es 6, si la capacidad máxima es 10 y si la opciónCapacidad máxima
200
Auto Scaling de Amazon EC2 Guía del usuario
Antes de empezar
preparadaes 8, el tamaño de su piscina caliente será 2 cuando configure la piscina caliente por primera vez
y la piscina se esté inicializando.
A medida que las instancias salen de la piscina caliente, cuentan para alcanzar la capacidad deseada del
grupo de. Hay dos escenarios en los que las instancias en la piscina caliente se reponen: cuando el grupo
se escala y su capacidad deseada disminuye, o cuando el grupo se escala hacia fuera y se alcanza el
tamaño mínimo de la piscina caliente.
Los ganchos del ciclo de vida controlan cuando las nuevas instancias pasan hacia y desde el grupo
caliente. Estos ganchos le ayudan a asegurarse de que las instancias están completamente configuradas
para su aplicación antes de que se agreguen al grupo caliente al final del gancho del ciclo de vida. En el
siguiente evento de escalado horizontal, las instancias están listas para agregarse al grupo Auto Scaling lo
antes posible. Los enlaces del ciclo de vida también pueden ayudarlo a asegurarse de que las instancias
estén listas para servir al tráfico mientras salen del grupo activo (por ejemplo, rellenando su caché). Para
obtener más información, consulte Ciclo de vida de la instancia (p. 204).
Puede utilizar laAWS Management Console, elAWS CLIo uno de los SDK para agregar un grupo caliente a
un grupo de Auto Scaling.
Contenido
• Antes de empezar (p. 201)
• Añadir una piscina caliente(consola) (p. 201)
• Agregue una piscina caliente (AWS CLI) (p. 202)
• Eliminar una piscina caliente (p. 204)
• Limitations (p. 204)
• Ciclo de vida de la instancia (p. 204)
• Tipos de eventos y patrones de eventos que se utilizan al agregar o actualizar enlaces del ciclo de
vida (p. 207)
• Creación de reglas de EventBridge para eventos (p. 210)
• Ver el estado de la verificación de salud y el motivo de los fallos de la verificación de salud (p. 212)
Antes de empezar
Decida cómo va a utilizar los ganchos del ciclo de vida para preparar las instancias para su uso. Por
ejemplo, puede configurar los ganchos del ciclo de vida para retrasar que las instancias se agreguen al
grupo activo antes de que completen su script de datos de usuario. Otra forma de usar los ganchos del
ciclo de vida es ejecutar código en una función Lambda desencadenada por eventos del ciclo de vida. Para
obtener más información, consulte la siguiente publicaciónEscalar sus aplicaciones más rápidamente con
EC2 Auto Scaling Warm Pools.
201
Auto Scaling de Amazon EC2 Guía del usuario
Agregue una piscina caliente (AWS CLI)
Se abre un panel dividido en la parte inferior delGrupos de Auto Scaling(Se ha creado el certificado).
3. Elija el iconoAdministración de instanciasPestaña.
4. UNDERPiscina caliente, elijaCrear piscina caliente.
5. Para configurar una piscina caliente, haga lo siguiente:
a. ParaEstado de instancia de piscina caliente, elija el estado al que desea realizar la transición de
las instancias cuando entren en el grupo caliente. El valor predeterminado es Stopped.
b. ParaTamaño mínimo de la piscina, escriba el número mínimo de instancias que mantener en el
grupo de.
c. (Opcional) ParaCapacidad máxima preparada, elijaDefinir un número determinado de instanciassi
desea controlar la cantidad de capacidad disponible en la piscina caliente.
Contenido
• Ejemplo 1: Mantener las instancias en elStoppedstate (p. 202)
• Ejemplo 2: Mantener las instancias en elRunningstate (p. 203)
• Ejemplo 3: Especificar el número mínimo de instancias en el grupo (p. 203)
• Ejemplo 4: Definición de un tamaño de piscina caliente separado del tamaño máximo del
grupo (p. 203)
• Ejemplo 5: Definición de un tamaño absoluto de piscina caliente (p. 203)
202
Auto Scaling de Amazon EC2 Guía del usuario
Agregue una piscina caliente (AWS CLI)
Sin embargo, en los casos en los que desee tener control sobre la capacidad máxima del grupo y
no tener un impacto en el tamaño de la piscina caliente, puede usar el--max-group-prepared-
capacityOpción. Es posible que necesite usar esta opción cuando trabaje con grupos de Auto Scaling
muy grandes para administrar los beneficios de costos de tener un grupo caliente. Por ejemplo, un grupo
de Auto Scaling con 1000 instancias, una capacidad máxima de 1500 (para proporcionar capacidad
adicional para picos de tráfico de emergencia) y un grupo cálido de 100 instancias podrían alcanzar sus
objetivos mejor que un grupo cálido de 500 instancias.
La siguiente configuración de piscina caliente es para una piscina caliente que define su tamaño por
separado del tamaño máximo del grupo. Supongamos que el grupo Auto Scaling tiene una capacidad
deseada de 800. El tamaño de la piscina caliente será 100 cuando ejecute este comando y el grupo se
esté inicializando.
Para mantener un número mínimo de instancias en el grupo de almacenamiento activo, incluya el--min-
sizecon el comando, de la siguiente manera.
203
Auto Scaling de Amazon EC2 Guía del usuario
Eliminar una piscina caliente
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. Elija Actions (Acciones), Delete (Eliminar).
4. Cuando se le pida confirmación, elija Delete (Eliminar).
Si hay instancias en el grupo activo, o si las actividades de escalado están en curso, utilice la
herramientadelete-warm-poolComando de la con la--force-deleteOpción. Esta opción también
finalizará las instancias de Amazon EC2 y cualquier acción pendiente del ciclo de vida.
Limitations
• No puede agregar un grupo activo a grupos de Auto Scaling que tengan una directiva de instancias
mixtas o que inicien instancias puntuales.
• Puede poner una instancia en unStoppedSolo si tiene un volumen de Amazon EBS como su dispositivo
raíz. Las instancias que utilizan almacenes de instancias para el dispositivo raíz no se pueden detener.
• Si su grupo caliente se agota cuando hay un evento de escalabilidad horizontal, las instancias se
iniciarán directamente en el grupo Auto Scaling (unInicio en frío). También puede experimentar
arranques en frío si una zona de disponibilidad está fuera de capacidad.
• Si intenta utilizar grupos activos con grupos de nodos gestionados de Amazon Elastic Container Service
(Amazon ECS) o Elastic Kubernetes Service (Amazon EKS), existe la posibilidad de que estos servicios
programen trabajos en una instancia antes de que llegue al grupo activo.
Tenga en cuenta que las API que utiliza para crear y administrar enlaces del ciclo de vida no han cambiado
(sólo ha cambiado el ciclo de vida de la instancia).
204
Auto Scaling de Amazon EC2 Guía del usuario
Ciclo de vida de la instancia
Una instancia de Amazon EC2 pasa por diferentes estados desde el momento en que se lanza hasta su
finalización. Puede crear enlaces de ciclo de vida para actuar en estos estados de evento, cuando una
instancia ha pasado de un estado a otro.
¹ Si optó por colocar instancias calentadas en unRunningestado, instancias en la transición del grupo
calentado deWarmed:PendingDe aWarmed:Runningen lugar de.
• Un enlace de ciclo de vida se ejecuta inmediatamente después de que se inicia una instancia en el
grupo caliente, cuando pasa a laWarmed:Pending:WaitEstado.
• Otro enlace del ciclo de vida se ejecuta inmediatamente antes de que una instancia entre en
elInService, cuando transita a la clasePending:WaitEstado.
• Un enlace final del ciclo de vida se ejecuta inmediatamente antes de que se termine la instancia, cuando
pasa a laTerminating:WaitEstado.
• Cuando agrega un enlace de ciclo de vida de lanzamiento, Amazon EC2 Auto Scaling pausa una
instancia que pasa a laWarmed:Pending:WaitEstado y elPending:WaitEstado.
• Si la demanda de la aplicación agota el grupo activo, Amazon EC2 Auto Scaling puede iniciar instancias
directamente en el grupo Auto Scaling si el grupo aún no ha alcanzado su capacidad máxima. En este
caso, el enlace del ciclo de vida de lanzamiento solo detiene la instancia en elPending:WaitEstado.
Estas son algunas de las razones por las que puede crear acciones del ciclo de vida para las instancias
que salen del grupo activo:
• Puede utilizar este tiempo para preparar instancias de EC2 para su uso, por ejemplo, si tiene servicios
que deben iniciarse para que la aplicación funcione correctamente.
• Desea rellenar previamente los datos de la caché para asegurarse de que un nuevo servidor no se inicie
con una caché completamente vacía.
• Desea registrar nuevas instancias como instancias administradas con su servicio de administración de
configuración.
205
Auto Scaling de Amazon EC2 Guía del usuario
Ciclo de vida de la instancia
Destinos de notificación
Amazon EC2 Auto Scaling puede enviar mensajes de notificación de eventos del ciclo de vida a los
siguientes destinos de notificación.
La siguiente información puede ayudarle a configurar estos destinos de notificación al crear enlaces del
ciclo de vida basándose en los siguientes procedimientos:
Reglas de EventBridge: Con Amazon EventBridge puede crear reglas que activen acciones programáticas
en respuesta a eventos de grupo activo. Por ejemplo, puede crear dos reglas de EventBridge, una para
cuando una instancia está entrando en un grupo activo y otra para cuando una instancia sale del grupo de.
Las reglas de EventBridge pueden activar una función Lambda para realizar acciones programáticas en
instancias, dependiendo del caso de uso y la aplicación. La función Lambda se invoca con un evento
entrante emitido por el grupo Auto Scaling. Lambda sabe cuál es la función de Lambda que debe invocar
basándose en el patrón de eventos de la regla EventBridge.
Para obtener más información, consulte Creación de reglas de EventBridge para eventos (p. 210).
Destinos de notificación de Amazon SNS: Puede añadir enlaces del ciclo de vida para recibir notificaciones
de Amazon SNS cuando se produzca una acción del ciclo de vida. Estas notificaciones se envían a los
destinatarios que están suscritos al tema de Amazon SNS que especifique.
Antes de agregar un enlace de ciclo de vida que notifica a un tema de Amazon SNS, debe haber
configurado el tema y un rol de servicio de IAM que otorgue permiso a Amazon EC2 Auto Scaling para
publicar en Amazon SNS.
Para recibir notificaciones por separado sobre las instancias que salen y entran en el grupo activo, también
debe haber configurado el filtrado de Amazon SNS.
Destinos de notificación de Amazon SQS: Puede agregar enlaces del ciclo de vida a un grupo de Auto
Scaling y utilizar Amazon SQS para configurar un destino que reciba notificaciones cuando se produzca
una acción del ciclo de vida. Estas notificaciones se envían a la cola de Amazon SQS que especifique.
Antes de agregar un enlace de ciclo de vida que notifique a una cola de Amazon SQS, debe haber
configurado la cola y un rol de servicio de IAM que otorgue permiso a Amazon EC2 Auto Scaling para
enviar mensajes de notificación a Amazon SQS.
Si desea que el consumidor de cola procese notificaciones separadas sobre las instancias que salen pero
no entran en el grupo activo (o viceversa), también debe haber configurado el consumidor de cola para
analizar el mensaje y, a continuación, actuar sobre el mensaje si un atributo específico coincide con el
valor deseado.
206
Auto Scaling de Amazon EC2 Guía del usuario
Tipos de eventos y patrones de eventos
Hay dos tipos de eventos que se emiten para los ganchos del ciclo de vida:
Después de agregar un grupo caliente a su grupo Auto Scaling, eldetailsección paraEC2 Instance-
launch Lifecycle Actioneventos contiene nuevosOriginyDestinationCampos de.
Contenido
• Eventos en piscina caliente (p. 207)
• Ejemplo de patrones de eventos (p. 209)
{
"version": "0",
"id": "18b2ec17-3e9b-4c15-8024-ff2e8ce8786a",
"detail-type": "EC2 Instance-launch Lifecycle Action",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "2021-01-13T00:12:37.214Z",
"region": "us-west-2",
"resources": [
"arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:042cba90-
ad2f-431c-9b4d-6d9055bcc9fb:autoScalingGroupName/my-asg"
],
"detail": {
"LifecycleActionToken": "71514b9d-6a40-4b26-8523-05e7eEXAMPLE",
"AutoScalingGroupName": "my-asg",
"LifecycleHookName": "my-lifecycle-hook-for-warming-instances",
"EC2InstanceId": "i-1234567890abcdef0",
"LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING",
"NotificationMetadata": "additional-info",
"Origin": "EC2",
"Destination": "WarmPool"
207
Auto Scaling de Amazon EC2 Guía del usuario
Tipos de eventos y patrones de eventos
}
}
{
"version": "0",
"id": "5985cdde-1f01-9ae2-1498-3c8ea162d141",
"detail-type": "EC2 Instance-launch Lifecycle Action",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "2021-01-19T00:35:52.359Z",
"region": "us-west-2",
"resources": [
"arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:042cba90-
ad2f-431c-9b4d-6d9055bcc9fb:autoScalingGroupName/my-asg"
],
"detail": {
"LifecycleActionToken": "19cc4d4a-e450-4d1c-b448-0de67EXAMPLE",
"AutoScalingGroupName": "my-asg",
"LifecycleHookName": "my-lifecycle-hook-for-warmed-instances",
"EC2InstanceId": "i-1234567890abcdef0",
"LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING",
"NotificationMetadata": "additional-info",
"Origin": "WarmPool",
"Destination": "AutoScalingGroup"
}
}
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Instance-launch Lifecycle Action",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "2021-02-01T17:18:06.082Z",
"region": "us-west-2",
"resources": [
"arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:042cba90-
ad2f-431c-9b4d-6d9055bcc9fb:autoScalingGroupName/my-asg"
],
"detail": {
"LifecycleActionToken": "87654321-4321-4321-4321-21098EXAMPLE",
"AutoScalingGroupName": "my-asg",
"LifecycleHookName": "my-lifecycle-hook-for-launching-instances",
"EC2InstanceId": "i-1234567890abcdef0",
"LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING",
"NotificationMetadata": "additional-info",
"Origin": "EC2",
"Destination": "AutoScalingGroup"
}
}
208
Auto Scaling de Amazon EC2 Guía del usuario
Tipos de eventos y patrones de eventos
Los patrones de eventos de EventBridge tienen la misma estructura que los eventos con los que coinciden.
El patrón cita los campos para los que se desea encontrar coincidencias y proporciona los valores que está
buscando.
Los siguientes campos del evento forman el patrón de eventos definido en la regla para invocar una
acción:
"source": "aws.autoscaling"
Utilice el siguiente patrón de eventos de ejemplo para capturar todos los eventos asociados con las
instancias que entran en el grupo activo.
{
"source": [
"aws.autoscaling"
],
"detail-type": [
"EC2 Instance-launch Lifecycle Action"
],
"detail": {
"Origin": [
"EC2"
],
"Destination": [
"WarmPool"
]
}
}
Utilice el siguiente patrón de eventos de ejemplo para capturar todos los eventos asociados con instancias
que salen del grupo activo debido a un evento de escalabilidad horizontal.
{
"source": [
"aws.autoscaling"
],
"detail-type": [
"EC2 Instance-launch Lifecycle Action"
],
"detail": {
"Origin": [
"WarmPool"
],
"Destination": [
"AutoScalingGroup"
209
Auto Scaling de Amazon EC2 Guía del usuario
Creación de reglas de EventBridge para eventos
]
}
}
Utilice el siguiente patrón de eventos de ejemplo para capturar todos los eventos asociados con instancias
que se inician directamente en el grupo Auto Scaling.
{
"source": [
"aws.autoscaling"
],
"detail-type": [
"EC2 Instance-launch Lifecycle Action"
],
"detail": {
"Origin": [
"EC2"
],
"Destination": [
"AutoScalingGroup"
]
}
}
Utilice el siguiente patrón de eventos de muestra para capturar todos los eventos asociados conEC2
Instance-launch Lifecycle Action, independientemente del origen o destino.
{
"source": [
"aws.autoscaling"
],
"detail-type": [
"EC2 Instance-launch Lifecycle Action"
]
}
Antes de crear la regla, cree la propiedadAWS LambdaPara que la regla se utilice como destino. Cuando
cree la regla, deberá especificar esta función como destino de la regla. Para obtener información sobre
la creación de funciones de Lambda, consulteIntroducción a Lambdaen laAWS LambdaGuía para
desarrolladores. Para obtener una guía introductoria de estilo de aprendizaje para crear vínculos de ciclo
de vida, consulteTutorial: Configure un enlace de ciclo de vida que invoque una función Lambda (p. 195).
210
Auto Scaling de Amazon EC2 Guía del usuario
Creación de reglas de EventBridge para eventos
4. ParaNombre, introduzca un nombre para la regla. Si lo desea, introduzca una descripción de la regla
enDescripción.
5. UNDERDefinir patrón, elijaPatrón de eventos.
6. ParaPatrón de eventos, elijaPatrón personalizado.
7. Las reglas utilizan patrones de eventos para seleccionar eventos y dirigirlos a los destinos. Copie el
siguiente patrón enPatrón de eventos.
{
"source": [ "aws.autoscaling" ],
"detail-type": [ "EC2 Instance-launch Lifecycle Action" ],
"detail": {
"Origin": [ "EC2" ],
"Destination": [ "WarmPool" ]
}
}
1. Para crear una regla que coincida con los eventos de instancias que entran en el grupo activo, utilice
el siguienteput-ruleComando de.
En el siguiente ejemplo se muestrapattern.jsonpara que coincida con el evento para las instancias
que entran en la piscina caliente.
{
"source": [ "aws.autoscaling" ],
"detail-type": [ "EC2 Instance-launch Lifecycle Action" ],
"detail": {
"Origin": [ "EC2" ],
"Destination": [ "WarmPool" ]
}
}
Si el comando se ejecuta correctamente, EventBridge responde con el ARN de la regla. Anote este
ARN. Deberá introducirlo en el paso 3.
2. Para especificar la función de Lambda que se va a utilizar como destino para la regla, utilice el
siguienteput-targetsComando de.
211
Auto Scaling de Amazon EC2 Guía del usuario
Ver el estado de la verificación de salud y el
motivo de los fallos de la verificación de salud
En el comando anterior:
• my-functiones el nombre de la función de Lambda que desea que la regla utilice como destino.
• AllowInvokeFromExampleEventes un identificador único que se define para describir la
instrucción en la directiva de función Lambda.
• source-arnes el ARN de la regla EventBridge.
{
"Statement": "{\"Sid\":\"AllowInvokeFromExampleEvent\",
\"Effect\":\"Allow\",
\"Principal\":{\"Service\":\"events.amazonaws.com\"},
\"Action\":\"lambda:InvokeFunction\",
\"Resource\":\"arn:aws:lambda:us-west-2:123456789012:function:my-function\",
\"Condition\":
{\"ArnLike\":
{\"AWS:SourceArn\":
\"arn:aws:events:us-west-2:123456789012:rule/my-rule\"}}}"
}
LaStatementEl valor de es una versión de cadena JSON de la instrucción que se agregó a la política
de la función de Lambda.
4. Una vez que haya seguido estas instrucciones, continúe en Añadir enlaces de ciclo de vida (p. 192)
como siguiente paso.
212
Auto Scaling de Amazon EC2 Guía del usuario
Ver el estado de la verificación de salud y el
motivo de los fallos de la verificación de salud
Cuando se comprueba que una instancia no está en buen estado, Amazon EC2 Auto Scaling elimina
automáticamente la instancia en mal estado y crea una nueva para reemplazarla. Por lo general, las
instancias se terminan unos minutos después de fallar la comprobación de estado. Para obtener más
información, consulte Reemplazar instancias en mal estado (p. 241).
También se admiten comprobaciones de estado personalizadas. Esto puede resultar útil si tiene su
propio sistema de comprobación de estado que puede detectar el estado de una instancia y enviar esta
información a Amazon EC2 Auto Scaling. Para obtener más información, consulte Uso de comprobaciones
de estado personalizadas (p. 241).
En la consola de Amazon EC2 Auto Scaling puede ver el estado (correcto o incorrecto) de las instancias de
la piscina caliente. También puede ver su estado de salud utilizandoAWS CLIo uno de los SDK de.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la páginaAdministración de instancias, eninstancias de piscina en caliente, elCiclo de vidacontiene
el estado de las instancias.
LaEstadomuestra la evaluación que Amazon EC2 Auto Scaling ha realizado sobre el estado de la
instancia.
Note
Las nuevas instancias comienzan en buen estado. Hasta que finalice el enlace del ciclo de
vida, no se comprueba el estado de una instancia.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la páginaActividad, enHistorial de actividad, elEstadomuestra si su grupo de Auto Scaling ha
lanzado las instancias o las ha terminado correctamente.
Resultado de ejemplo.
{
"WarmPoolConfiguration": {
"MinSize": 0,
213
Auto Scaling de Amazon EC2 Guía del usuario
Ver el estado de la verificación de salud y el
motivo de los fallos de la verificación de salud
"PoolState": "Stopped"
},
"Instances": [
{
"InstanceId": "i-0b5e5e7521cfaa46c",
"InstanceType": "t2.micro",
"AvailabilityZone": "us-west-2a",
"LifecycleState": "Warmed:Stopped",
"HealthStatus": "Healthy",
"LaunchTemplate": {
"LaunchTemplateId": "lt-08c4cd42f320d5dcd",
"LaunchTemplateName": "my-template-for-auto-scaling",
"Version": "1"
}
},
{
"InstanceId": "i-0e21af9dcfb7aa6bf",
"InstanceType": "t2.micro",
"AvailabilityZone": "us-west-2a",
"LifecycleState": "Warmed:Stopped",
"HealthStatus": "Healthy",
"LaunchTemplate": {
"LaunchTemplateId": "lt-08c4cd42f320d5dcd",
"LaunchTemplateName": "my-template-for-auto-scaling",
"Version": "1"
}
}
]
}
Las actividades de escalado se ordenan por hora de inicio. En primer lugar, se describen las actividades
aún en curso.
{
"Activities": [
{
"ActivityId": "4c65e23d-a35a-4e7d-b6e4-2eaa8753dc12",
"AutoScalingGroupName": "my-asg",
"Description": "Terminating EC2 instance: i-04925c838b6438f14",
"Cause": "At 2021-04-01T21:48:35Z an instance was taken out of service in response to
EBS volume health check failure.",
"StartTime": "2021-04-01T21:48:35.859Z",
"EndTime": "2021-04-01T21:49:18Z",
"StatusCode": "Successful",
"Progress": 100,
"Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2a
\"...}",
"AutoScalingGroupARN": "arn:aws:autoscaling:us-
west-2:123456789012:autoScalingGroup:283179a2-
f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg"
},
...
]
}
214
Auto Scaling de Amazon EC2 Guía del usuario
Control de terminación de instancias
Amazon EC2 Auto Scaling utiliza una política de terminación predeterminada, pero puede elegir o crear
sus propias políticas de terminación con sus propios criterios de terminación. Esto le permite asegurarse
de que las instancias se terminan en función de sus necesidades específicas de la aplicación.
Asimismo, Amazon EC2 Auto Scaling proporciona protección de escalado de instancias. Cuando habilita
esta característica, evita que las instancias finalicen durante los eventos de escalado. Puede habilitar la
protección de escalado descendente de instancias cuando cree un grupo de Auto Scaling y puede cambiar
la configuración de las instancias en ejecución. Si habilita la protección de escalado descendente de
instancias en un grupo de Auto Scaling existente, todas las instancias nuevas que se lancen después de
eso tendrán habilitada la protección de escalado descendente.
Note
Contenido
• Escenarios de uso de directivas de terminación (p. 215)
• Uso de políticas de terminación de Amazon EC2 Auto Scaling (p. 217)
• Creación de una política de terminación personalizada con Lambda (p. 221)
• Usar la protección de escalado ascendente de instancias (p. 225)
Contenido
• Eventos de escalado descendente (p. 215)
• Actualizaciones de instancias (p. 216)
• Reequilibrio de zonas de disponibilidad (p. 216)
215
Auto Scaling de Amazon EC2 Guía del usuario
Escale políticas de terminación
• Cuando se utilizan políticas de escalado dinámico y el tamaño del grupo disminuye como resultado de
cambios en el valor de una métrica
• Cuando se utiliza la escala programada y el tamaño del grupo disminuye como resultado de una acción
programada
• Cuando disminuye manualmente el tamaño del grupo
En el ejemplo siguiente se muestra cómo funcionan las directivas de terminación cuando hay un evento de
escalado en.
1. En este ejemplo, el grupo de Auto Scaling tiene un tipo de instancia, dos zonas de disponibilidad y una
capacidad deseada de dos instancias. También tiene una política de escalado dinámico que agrega y
elimina instancias cuando la utilización de recursos aumenta o disminuye. Las dos instancias de este
grupo están distribuidas entre las dos zonas de disponibilidad, tal y como se muestra en el siguiente
diagrama.
2. Cuando el grupo de Auto Scaling (Auto Scaling) de Amazon EC2 lanza una nueva instancia. El grupo
Auto Scaling ahora tiene tres instancias, distribuidas en las dos zonas de disponibilidad, como se
muestra en el siguiente diagrama.
3. Cuando se escala el grupo Auto Scaling, Amazon EC2 Auto Scaling finaliza una de las instancias.
4. Si no ha asignado una política de terminación al grupo, Amazon EC2 Auto Scaling utiliza la política
de terminación predeterminada. Selecciona la zona de disponibilidad con dos instancias y termina la
instancia lanzada desde la plantilla de lanzamiento más antigua o la configuración de lanzamiento. Si las
instancias se lanzaron desde la misma plantilla de lanzamiento o configuración de lanzamiento, Amazon
EC2 Auto Scaling selecciona la instancia más próxima a la siguiente hora de facturación y la termina.
Actualizaciones de instancias
Las actualizaciones de instancias se lanzan para actualizar las instancias del grupo de Auto Scaling.
Durante una actualización de instancias, Amazon EC2 Auto Scaling termina las instancias del grupo y, a
continuación, lanza los reemplazos de las instancias terminadas. La directiva de terminación del grupo
Auto Scaling controla qué instancias se reemplazan primero.
216
Auto Scaling de Amazon EC2 Guía del usuario
Trabajar con políticas de terminación
desbalanceada, Amazon EC2 Auto Scaling vuelve a equilibrar el grupo Auto Scaling iniciando instancias en
las zonas de disponibilidad habilitadas con el menor número de instancias y finalizando instancias en otros
lugares. La política de terminación controla qué instancias tienen prioridad para la terminación primero.
Existen varias razones por las que la distribución de instancias entre las zonas de disponibilidad puede
quedar desequilibrada.
Eliminación de instancias
Si desasocia instancias del grupo de Auto Scaling, o termina explícitamente instancias y disminuye
la capacidad deseada, lo que impide que se lancen instancias de reemplazo, el grupo puede quedar
desequilibrado. De lo contrario, Auto Scaling de Amazon EC2 lo compensa reequilibrando las zonas
de disponibilidad.
Usar zonas de disponibilidad diferentes de las especificadas originalmente
Si expande el grupo de escalado automático para incluir zonas de disponibilidad adicionales, o cambia
las zonas de disponibilidad que se utilizan, Amazon EC2 Auto Scaling lanza instancias en las nuevas
zonas de disponibilidad y termina instancias en otras zonas para garantizar que el grupo de escalado
automático abarque las zonas de disponibilidad. uniformemente.
Interrupción de disponibilidad
Las interrupciones de disponibilidad son raras. Sin embargo, si una zona de disponibilidad deja de
estar disponible y se recupera más adelante, el grupo de Auto Scaling puede quedar desequilibrado
entre las zonas de disponibilidad. El Auto Scaling de Amazon EC2 intenta volver a equilibrar
gradualmente el grupo y el reequilibrio podría terminar instancias en otras zonas.
Por ejemplo, imagine que tiene un grupo de Auto Scaling que tiene un tipo de instancia, dos zonas
de disponibilidad y una capacidad deseada de dos instancias. En una situación en la que se produce
un error en una zona de disponibilidad, Amazon EC2 Auto Scaling lanza automáticamente una nueva
instancia en la zona de disponibilidad en buen estado para reemplazar la de la zona de disponibilidad
en mal estado. A continuación, cuando la zona de disponibilidad en mal estado vuelve a estar en buen
estado más adelante, Amazon EC2 Auto Scaling lanza automáticamente una nueva instancia en esta
zona, que a su vez termina una instancia en la zona no afectada.
Note
Durante el reequilibrio, Amazon EC2 Auto Scaling lanza nuevas instancias antes de terminar las
antiguas, por lo que no se pone en peligro el desempeño ni la disponibilidad de su aplicación.
Como Amazon EC2 Auto Scaling intenta lanzar nuevas instancias antes de terminar las antiguas,
el hecho de satisfacer por completo o casi la capacidad máxima especificada podría impedir o
detener completamente las actividades de reequilibrio. Para evitar este problema, el sistema
puede superar temporalmente la capacidad máxima especificada de un grupo en un margen del
10% (o en un margen de una instancia, la que sea mayor) durante una actividad de reequilibrio.
El margen solo se amplía si el grupo tiene o se aproxima a la capacidad máxima y necesita
reequilibrarse, ya sea por una distribución de zonas solicitada por el usuario o para compensar los
problemas de disponibilidad de zona. La extensión se mantiene solamente mientras sea necesaria
para reequilibrar el grupo de.
217
Auto Scaling de Amazon EC2 Guía del usuario
Trabajar con políticas de terminación
política de terminación diferente para que Amazon EC2 Auto Scaling dé prioridad a la terminación de las
instancias más antiguas.
Cuando Amazon EC2 Auto Scaling termina instancias, intenta mantener un equilibrio entre las zonas de
disponibilidad utilizadas por el grupo de. El mantenimiento del equilibrio entre las zonas de disponibilidad
tiene prioridad sobre las políticas de terminación. Si una zona de disponibilidad tiene más instancias que
las otras zonas de disponibilidad usadas por el grupo, Amazon EC2 Auto Scaling aplica las políticas de
terminación a las instancias de la zona de disponibilidad desequilibrada. Si las zonas de disponibilidad
utilizadas por el grupo están equilibradas, Amazon EC2 Auto Scaling aplica las políticas de terminación en
todas las zonas de disponibilidad del grupo.
Contenido
• Política de terminación predeterminada (p. 218)
• Directiva de terminación predeterminada y grupos de instancias mixtas (p. 218)
• Usar diferentes políticas de terminación (p. 219)
• Uso de diferentes políticas de terminación (consola) (p. 220)
• El uso de diferentes políticas de terminación (AWS CLI) (p. 220)
1. Determine si cualquiera de las instancias aptas para la terminación usan la configuración o plantilla de
lanzamiento más antigua.
a. [Para grupos de Auto Scaling que utilizan una plantilla de inicio]
Determina si alguna de las instancias utiliza la plantilla de lanzamiento más antigua, a menos que
haya instancias que utilicen una configuración de lanzamiento. Auto Scaling de Amazon EC2 termina
las instancias que utilizan una configuración de lanzamiento antes de terminar las instancias que
utilizan una plantilla de lanzamiento.
b. [Para grupos de Auto Scaling que utilizan una configuración de lanzamiento]
Determine si alguna de las instancias utiliza la configuración de lanzamiento más antigua.
2. Después de aplicar los criterios anteriores, si hay varias instancias desprotegidas que deban terminarse,
determine qué instancias están más próximas a la siguiente hora de facturación. Si hay varias instancias
desprotegidas que están más próximas a la siguiente hora de facturación, termina una de estas
instancias aleatoriamente.
Tenga en cuenta que, al terminar una instancia que está más próxima a la siguiente hora de facturación,
maximiza el uso de las instancias que se cobran por hora. Como alternativa, si su grupo de Auto Scaling
utiliza Amazon Linux, Windows o Ubuntu, su uso de EC2 se factura en incrementos de un segundo.
Para obtener más información, consulte Precios de Amazon EC2.
218
Auto Scaling de Amazon EC2 Guía del usuario
Trabajar con políticas de terminación
individualmente. También identifica qué instancias (dentro de la opción de compra identificada) en las que
las zonas de disponibilidad que se van a terminar, resultarán en que las zonas de disponibilidad estén más
equilibradas. La misma lógica se aplica a los grupos de Auto Scaling que utilizan una configuración de
instancias mixtas con ponderaciones definidas para los tipos de instancia.
1. Determine qué instancias son aptas para la terminación con el fin de alinear las instancias restantes con
elEstrategia de asignación (p. 57)Para la instancia de spot o bajo demanda que se está terminando.
Por ejemplo, después de iniciar las instancias, es posible que cambie el orden de prioridad de los tipos
de instancia preferidos. Cuando se produce un evento de escalado descendente, Amazon EC2 Auto
Scaling intenta apartar gradualmente las instancias bajo demanda de los tipos de instancia que tienen
menor prioridad.
2. Determine si cualquiera de las instancias aptas para la terminación usan la configuración o plantilla de
lanzamiento más antigua.
a. [Para grupos de Auto Scaling que utilizan una plantilla de inicio]
Determina si alguna de las instancias utiliza la plantilla de lanzamiento más antigua, a menos que
haya instancias que utilicen una configuración de lanzamiento. Auto Scaling de Amazon EC2 termina
las instancias que utilizan una configuración de lanzamiento antes de terminar las instancias que
utilizan una plantilla de lanzamiento.
b. [Para grupos de Auto Scaling que utilizan una configuración de lanzamiento]
• Default. Termina las instancias de acuerdo con la política de terminación predeterminada. Esta
directiva resulta útil cuando desea que la estrategia de asignación de subasta se evalúe antes que
cualquier otra directiva, de modo que cada vez que se terminen o reemplacen las instancias puntuales,
siga utilizando las instancias puntuales en los grupos óptimos. También es útil, por ejemplo, cuando
desea mover las configuraciones de inicio y comenzar a usar plantillas de lanzamiento.
• AllocationStrategy. Termine instancias del grupo de Auto Scaling para alinear las instancias
restantes con la estrategia de asignación para el tipo de instancia que se va a terminar (una instancia de
spot o una instancia bajo demanda). Esta política es útil cuando han cambiado los tipos de instancias
que prefiera. Si la estrategia de asignación de spot es lowest-price, puede reequilibrar gradualmente
la distribución de instancias de spot en sus grupos de spot con los precios más bajos. Si la estrategia de
asignación de spot es capacity-optimized, puede reequilibrar gradualmente la distribución de las
instancias de spot en los grupos de spot donde hay más capacidad de spot disponibles. También puede
reemplazar gradualmente las instancias bajo demanda de un tipo de prioridad menor por otras de un tipo
de prioridad mayor.
• OldestLaunchTemplate. Termina las instancias que tienen la plantilla de lanzamiento más antigua.
Con esta política, las instancias que utilizan una plantilla de lanzamiento que no es la actual terminan
primero, seguidas de las instancias que utilizan la versión más antigua de la plantilla de lanzamiento
actual. Esta política es útil cuando va a actualizar un grupo y eliminar progresivamente las instancias de
una configuración anterior.
219
Auto Scaling de Amazon EC2 Guía del usuario
Trabajar con políticas de terminación
Amazon EC2 Auto Scaling siempre equilibra primero las instancias en las zonas de
disponibilidad, independientemente de la política de terminación que se utilice. Como
resultado, es posible que encuentre situaciones en las que algunas instancias más recientes
se terminen antes de las instancias más antiguas. Por ejemplo, cuando se agrega una zona de
disponibilidad más recientemente, o cuando una zona de disponibilidad tiene más instancias
que las otras zonas de disponibilidad usadas por el grupo.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles) elija (Advanced configurations) Configuraciones avanzadas, Edit
(Editar).
4. Para Termination policies (Políticas de terminación), elija una o varias políticas de terminación. Si
elige varias políticas, muéstrelas en el orden en el que deben aplicarse. Si utiliza la política Default
(Predeterminada), sitúela en la última posición de la lista.
Note
220
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una política de
terminación personalizada con Lambda
• create-auto-scaling-group
• update-auto-scaling-group
Si utiliza la política de terminación Default, colóquela la última en la lista de políticas de terminación. Por
ejemplo, --termination-policies "OldestLaunchConfiguration" "Default".
Para utilizar una política de terminación personalizada, primero debe crear la política de terminación
medianteAWS Lambda. Para especificar la función Lambda que se va a utilizar como política de
terminación, colóquela la primera en la lista de políticas de terminación. Por ejemplo, --termination-
policies "arn:aws:lambda:us-west-2:123456789012:function:HelloFunction:prod"
"OldestLaunchConfiguration". Para obtener más información, consulte Creación de una política de
terminación personalizada con Lambda (p. 221).
En este tema, aprenderá a crear una política de terminación personalizada con unaAWS Lambdaque
Amazon EC2 Auto Scaling invoca en respuesta a determinados eventos. La función Lambda que crea
procesa la información de los datos de entrada enviados por Amazon EC2 Auto Scaling y devuelve una
lista de instancias listas para finalizar.
Una política de terminación personalizada proporciona un mejor control sobre qué instancias se terminan
y cuándo. Por ejemplo, cuando su grupo de Auto Scaling escala, Amazon EC2 Auto Scaling no puede
determinar si hay cargas de trabajo en ejecución que no deban interrumpirse. Con una función Lambda,
puede validar la solicitud de terminación y esperar hasta que finalice la carga de trabajo antes de devolver
el ID de instancia a Amazon EC2 Auto Scaling para su terminación.
Contenido
• Datos de entrada (p. 221)
• Datos de respuesta (p. 223)
• Consideraciones al utilizar una directiva de terminación personalizada (p. 223)
• Creación de la función de Lambda (p. 224)
• Limitations (p. 225)
Datos de entrada
Amazon EC2 Auto Scaling genera una carga útil JSON para eventos de escalado, y también lo hace
cuando las instancias están a punto de terminar como resultado de la duración máxima de la instancia o
221
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una política de
terminación personalizada con Lambda
de las funciones de actualización de instancia. También genera una carga útil JSON para los eventos de
escalado que puede iniciar al reequilibrar el grupo entre las zonas de disponibilidad.
Esta carga contiene información sobre la capacidad que Amazon EC2 Auto Scaling necesita para terminar,
una lista de instancias que sugiere para la terminación y el evento que inició la terminación.
{
"AutoScalingGroupARN": "arn:aws:autoscaling:us-east-1:<account-
id>:autoScalingGroup:d4738357-2d40-4038-ae7e-b00ae0227003:autoScalingGroupName/my-asg",
"AutoScalingGroupName": "my-asg",
"CapacityToTerminate": [
{
"AvailabilityZone": "us-east-1b",
"Capacity": 2,
"InstanceMarketOption": "OnDemand"
},
{
"AvailabilityZone": "us-east-1b",
"Capacity": 1,
"InstanceMarketOption": "Spot"
},
{
"AvailabilityZone": "us-east-1c",
"Capacity": 3,
"InstanceMarketOption": "OnDemand"
}
],
"Instances": [
{
"AvailabilityZone": "us-east-1b",
"InstanceId": "i-0056faf8da3e1f75d",
"InstanceType": "t2.nano",
"InstanceMarketOption": "OnDemand"
},
{
"AvailabilityZone": "us-east-1c",
"InstanceId": "i-02e1c69383a3ed501",
"InstanceType": "t2.nano",
"InstanceMarketOption": "OnDemand"
},
{
"AvailabilityZone": "us-east-1c",
"InstanceId": "i-036bc44b6092c01c7",
"InstanceType": "t2.nano",
"InstanceMarketOption": "OnDemand"
},
...
],
"Cause": "SCALE_IN"
}
La carga incluye el nombre del grupo de Auto Scaling, su nombre de recurso de Amazon (ARN) y los
siguientes elementos:
222
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una política de
terminación personalizada con Lambda
La siguiente información describe los factores más significativos de cómo Amazon EC2 Auto Scaling
genera elInstancesEn los datos de entrada:
• El mantenimiento del equilibrio entre las zonas de disponibilidad tiene prioridad cuando una instancia
finaliza debido a eventos de escalado y terminaciones basadas en actualización de instancias. Por lo
tanto, si una zona de disponibilidad tiene más instancias que las otras zonas de disponibilidad usadas
por el grupo, los datos de entrada contienen instancias que solo pueden terminarse desde la zona de
disponibilidad desequilibrada. Si las zonas de disponibilidad utilizadas por el grupo están equilibradas,
los datos de entrada contienen instancias de todas las zonas de disponibilidad del grupo.
• Cuando se utiliza unadirectiva de instancias mixtas (p. 56), mantener sus capacidades puntuales y bajo
demanda en equilibrio en función de los porcentajes deseados para cada opción de compra también
tiene prioridad. Primero identificaremos cuál de los dos tipos (spot o bajo demanda) debe terminarse.
A continuación, identificamos qué instancias (dentro de la opción de compra identificada) en las que
las zonas de disponibilidad podemos terminar, lo que hará que las zonas de disponibilidad estén más
equilibradas.
Datos de respuesta
Los datos de entrada y los datos de respuesta funcionan juntos para reducir la lista de instancias que se
van a terminar.
Con la entrada dada, la respuesta de su función Lambda debería ser similar al del siguiente ejemplo:
{
"InstanceIDs": [
"i-02e1c69383a3ed501",
"i-036bc44b6092c01c7",
...
]
}
LaInstanceIDsen la respuesta representan las instancias que están listas para terminar.
Como alternativa, puede devolver un conjunto diferente de instancias que están listas para ser terminadas,
lo que reemplaza las instancias en los datos de entrada. Si no hay instancias listas para terminar cuando
se invoca su función Lambda, también puede optar por no devolver ninguna instancia.
• Devolver una instancia primero en los datos de respuesta no garantiza su terminación. Si se devuelve
un número superior al requerido de instancias cuando se invoca la función Lambda, Amazon EC2 Auto
Scaling evalúa cada instancia con respecto a las demás políticas de terminación especificadas para el
grupo Auto Scaling. Cuando hay varias directivas de terminación, intenta aplicar la siguiente directiva
de terminación en la lista y, si hay más instancias de las necesarias para terminar, pasa a la siguiente
directiva de terminación, etc. Si no se especifica ninguna otra directiva de terminación, se utiliza la
directiva de terminación predeterminada para determinar qué instancias se van a terminar.
• Si no se devuelven instancias o se agota el tiempo de espera de la función Lambda, Amazon EC2 Auto
Scaling espera un breve tiempo antes de volver a invocar la función. Para cualquier evento de escalado,
sigue intentándolo siempre y cuando la capacidad deseada del grupo sea menor que su capacidad
actual. Por ejemplo, terminaciones basadas en refrescos, sigue intentándolo durante una hora. Después
de eso, si continúa fallando al finalizar cualquier instancia, se produce un error en la operación de
actualización de instancia. Con la duración máxima de la instancia, Amazon EC2 Auto Scaling sigue
intentando terminar la instancia que se identifica que supera su duración máxima.
223
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una política de
terminación personalizada con Lambda
• Debido a que su función se vuelve a intentar repetidamente, asegúrese de probar y corregir cualquier
error permanente en el código antes de usar una función Lambda como una política de terminación
personalizada.
• Si reemplaza los datos de entrada con su propia lista de instancias que desea finalizar y al finalizar
estas instancias se desbalancean las zonas de disponibilidad, Amazon EC2 Auto Scaling reequilibra
gradualmente la distribución de la capacidad entre las zonas de disponibilidad. Primero, invoca su
función Lambda para ver si hay instancias que están listas para ser terminadas para que pueda
determinar si debe comenzar a reequilibrar. Si hay instancias listas para ser terminadas, primero inicia
nuevas instancias. Cuando las instancias terminan de iniciarse, detecta que la capacidad actual del
grupo es superior a la capacidad deseada e inicia un evento de escalado.
224
Auto Scaling de Amazon EC2 Guía del usuario
Usar la protección de escalado ascendente de instancias
Limitations
• Solo puede especificar una función Lambda en las políticas de terminación para un grupo de Auto
Scaling. Si se especifican varias políticas de terminación, primero se debe especificar la función Lambda.
• La consola Amazon EC2 Auto Scaling aún no admite la especificación de una función Lambda en las
políticas de terminación. Debe utilizar elAWS CLIO un SDK para especificar una función Lambda en las
políticas de terminación de un grupo de Auto Scaling.
• Puede hacer referencia a su función Lambda utilizando un ARN no calificado (sin sufijo) o un
ARN calificado que tenga una versión o un alias como sufijo. Si se utiliza un ARN no calificado
(por ejemplo,function:my-functionLa política basada en recursos debe crearse en la
versión no publicada de la función. Si se utiliza un ARN calificado (por ejemplo,function:my-
function:1orfunction:my-function:prod), su política basada en recursos debe crearse en esa
versión publicada específica de su función.
• No puede utilizar un ARN calificado con el$LATESTsufijo. Si intenta agregar una política de terminación
personalizada que haga referencia a un ARN calificado con el$LATESTSufijo, producirá un error.
• El número de instancias proporcionadas en los datos de entrada está limitado a 30.000
instancias. Si hay más de 30.000 instancias que podrían terminarse, los datos de entrada
incluyen"HasMoreInstances": truePara indicar que se devuelven el número máximo de instancias.
• El tiempo máximo de ejecución de la función Lambda es de dos segundos (2000 milisegundos). Como
práctica recomendada, debe establecer el valor de tiempo de espera de su función Lambda en función
del tiempo de ejecución previsto. Las funciones de Lambda tienen un tiempo de espera predeterminado
de tres segundos, pero esto puede reducirse.
• Amazon EC2 Auto Scaling no finalizará las instancias que tengan habilitada la protección de escalado de
instancias.
Si todas las instancias de un grupo de Auto Scaling están protegidas contra terminación durante el
escalado descendente y se produce un evento de escalado descendente, se reduce la capacidad deseada.
Sin embargo, el grupo de Auto Scaling no puede terminar el número necesario de instancias hasta que se
deshabilita la configuración de protección de escalado descendente de instancias.
225
Auto Scaling de Amazon EC2 Guía del usuario
Usar la protección de escalado ascendente de instancias
Tareas
• Habilitar la protección de escalado vertical de instancias para un grupo de (p. 226)
• Modifique la configuración de protección de escalado continuada de instancias para un grupo
de (p. 226)
• Modifique la configuración de protección de escalado continuada de instancias para una
instancia (p. 227)
Al crear el grupo Auto Scaling, en la pestañaConfigure el tamaño del grupo y las políticas de
escaladopágina, enProtección escalable de instancia, seleccione laActive la protección de escalado
ascendente de instanciasopción.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
226
Auto Scaling de Amazon EC2 Guía del usuario
Usar la protección de escalado ascendente de instancias
Para cambiar la configuración de protección de escalado descendente de instancias para un grupo (AWS
CLI)
Utilice el siguiente comando para desactivar la protección de escalado descendente de instancias para el
grupo especificado.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Instance management (Administración de instancias), en Instances (Instancias),
seleccione una instancia.
4. Para habilitar la protección de escalado descendente de instancias, elija Actions (Acciones), Set scale
in protection (Establecer protección de escalado descendente). Cuando se lo pidan, seleccione Set
scale-in protection (Establecer protección de escalado descendente).
5. Para deshabilitar la protección de escalado descendente de instancias, seleccione Actions (Acciones),
Remove scale in protection (Eliminar protección de escalado descendente). Cuando se lo pidan,
seleccione Remove scale-in protection (Eliminar protección de escalado descendente).
Para cambiar la configuración de protección de escalado descendente de instancias para una instancia
(AWS CLI)
227
Auto Scaling de Amazon EC2 Guía del usuario
Eliminación temporal de instancias
Utilice el siguiente comando para desactivar la protección de escalado descendente de instancias para la
instancia especificada.
Esta función le ayuda a detener e iniciar las instancias o a reiniciarlas sin preocuparse de que Amazon
EC2 Auto Scaling termine las instancias como parte de sus comprobaciones de estado o durante eventos
de escalado.
Por ejemplo, puede cambiar la imagen de máquina de Amazon (AMI) de un grupo de Auto Scaling en
cualquier momento cambiando la plantilla de lanzamiento o la configuración de lanzamiento. Cualquier
instancia posterior que inicie el grupo Auto Scaling utiliza esta AMI. Sin embargo, el grupo de Auto Scaling
no actualiza las instancias que están actualmente en servicio. Puede finalizar estas instancias y permitir
que Amazon EC2 Auto Scaling las reemplace, o bien utilizar la función de actualización de instancias para
finalizar y reemplazar las instancias. O bien, puede poner las instancias en espera, actualizar el software y,
a continuación, volver a poner las instancias en servicio.
Contenido
• Cómo funciona el estado de espera (p. 228)
• Estado de una instancia en estado de espera (p. 229)
• Quitar temporalmente una instancia (consola) (p. 229)
• Elimine temporalmente una instancia (AWS CLI) (p. 230)
Important
Se le cobrarán las instancias que se encuentran en estado de espera.
1. Coloca la instancia en estado de espera. La instancia permanece en este estado hasta que suspenda el
estado de espera.
2. Si hay un grupo de destino del balanceador de carga o un Classic Load Balancer asociados a su
grupo de Auto Scaling, se cancela el registro de la instancia del balanceador de carga. Si se habilita el
vaciado de conexiones para el balanceador de carga, Elastic Load Balancing espera 300 segundos de
forma predeterminada antes de completar el proceso de anulación del registro, para ayudar a que se
completen las solicitudes en tránsito.
228
Auto Scaling de Amazon EC2 Guía del usuario
Estado de una instancia en estado de espera
La siguiente ilustración muestra las transiciones entre los estados de la instancia en este proceso:
Para obtener más información acerca del ciclo de vida completo de las instancias de un grupo de Auto
Scaling, consulteCiclo de vida de instancias de Amazon EC2 Auto Scaling (p. 8).
Por ejemplo, si pone una instancia que está en buen estado en modo de espera y después termina la
instancia, Amazon EC2 Auto Scaling sigue registrando la instancia como en buen estado. Si intenta volver
a poner en servicio una instancia terminada que estaba en espera, Amazon EC2 Auto Scaling realiza una
comprobación de estado de la instancia, determina que se va a terminar y que el estado es incorrecto
y lanza una instancia de reemplazo. Para obtener una introducción a las comprobaciones de estado,
consulte.Comprobaciones de Health para instancias de Auto Scaling (p. 239).
229
Auto Scaling de Amazon EC2 Guía del usuario
Elimine temporalmente una instancia (AWS CLI)
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Instance management (Administración de instancias), en Instances (Instancias),
seleccione una instancia.
4. Seleccione Actions, Set to Standby.
5. En el cuadro de diálogo Set to Standby (Establecer en espera), seleccione la casilla de verificación
para lanzar una instancia de sustitución. Déjela desactivada para reducir la capacidad deseada.
Seleccione Set to Standby.
6. Puede actualizar la instancia o solucionar su problema según sea necesario. Cuando haya terminado,
continúe con el siguiente paso para poner de nuevo la instancia en servicio.
7. Seleccione la instancia y haga clic en Actions, Set to InService. En el cuadro de diálogo Set to
InService (Establecer en servicio), elija Set to InService (Establecer en servicio).
{
"AutoScalingInstances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
...
]
}
230
Auto Scaling de Amazon EC2 Guía del usuario
Elimine temporalmente una instancia (AWS CLI)
"Activities": [
{
"Description": "Moving EC2 instance to Standby: i-05b4f7d5be44822a6",
"AutoScalingGroupName": "my-asg",
"ActivityId": "3b1839fe-24b0-40d9-80ae-bcd883c2be32",
"Details": "{\"Availability Zone\":\"us-west-2a\"}",
"StartTime": "2014-12-15T21:31:26.150Z",
"Progress": 50,
"Cause": "At 2014-12-15T21:31:26Z instance i-05b4f7d5be44822a6 was moved to
standby
in response to a user request, shrinking the capacity from 4 to 3.",
"StatusCode": "InProgress"
}
]
}
{
"AutoScalingInstances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "Standby"
},
...
]
}
4. Puede actualizar la instancia o solucionar su problema según sea necesario. Cuando haya terminado,
continúe con el siguiente paso para poner de nuevo la instancia en servicio.
5. Vuelva a poner la instancia en servicio usando la siguienteExit-standbycomando.
{
"Activities": [
{
"Description": "Moving EC2 instance out of Standby: i-05b4f7d5be44822a6",
"AutoScalingGroupName": "my-asg",
"ActivityId": "db12b166-cdcc-4c54-8aac-08c5935f8389",
"Details": "{\"Availability Zone\":\"us-west-2a\"}",
"StartTime": "2014-12-15T21:46:14.678Z",
"Progress": 30,
231
Auto Scaling de Amazon EC2 Guía del usuario
Procesos de suspensión
6. (Opcional) Compruebe que la instancia vuelve a estar en servicio utilizando el siguiente comando
describe-auto-scaling-instances.
{
"AutoScalingInstances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
...
]
}
Además de las suspensiones que inicie, Amazon EC2 Auto Scaling también puede suspender los procesos
para los grupos de Auto Scaling que repetidamente no consigan lanzar instancias. Esto es lo que se
conoce como una suspensión administrativa. Una suspensión administrativa, en la mayoría de los casos,
se aplica a los grupos de Auto Scaling que intentan lanzar instancias durante más de 24 horas, pero no
logran lanzarlas. Puede reanudar los procesos suspendidos por Amazon EC2 Auto Scaling por razones
administrativas.
232
Auto Scaling de Amazon EC2 Guía del usuario
Procesos de Auto Scaling de Amazon EC2
Contenido
• Procesos de Auto Scaling de Amazon EC2 (p. 233)
• Elegir la suspensión (p. 233)
• Suspender y reanudar procesos (consola) (p. 236)
• Suspender y reanudar procesos (AWS CLI) (p. 236)
Los otros tipos de procesos de Auto Scaling de Amazon EC2 se relacionan con determinadas
características de escalado:
• AddToLoadBalancer: añade instancias al grupo de destino del balanceador de carga o Classic Load
Balancer asociados cuando se lanzan. Para obtener más información, consulte Elastic Load Balancing y
Amazon EC2 Auto Scaling (p. 90).
• AlarmNotification: acepta notificaciones de alarmas de CloudWatch que están asociadas a las
políticas de escalado del grupo. Para obtener más información, consulte Escale dinámico para Amazon
EC2 Auto Scaling (p. 135).
• AZRebalance: equilibra el número de instancias EC2 del grupo de manera uniforme en todas las zonas
de disponibilidad especificadas cuando el grupo se desequilibra; por ejemplo, una zona de disponibilidad
que anteriormente no estaba disponible vuelve a un estado correcto. Para obtener más información,
consulte Actividades de reequilibrio (p. 7).
• HealthCheck: comprueba el estado de las instancias y marca una instancia como en mal estado si
Amazon EC2 o Elastic Load Balancing indica a Amazon EC2 Auto Scaling que la instancia está en
mal estado. Este proceso puede invalidar el estado de una instancia que configura manualmente.
Para obtener más información, consulte Comprobaciones de Health para instancias de Auto
Scaling (p. 239).
• InstanceRefresh: finaliza y reemplaza instancias mediante la función de actualización de instancias.
Para obtener más información, consulte Reemplazo de instancias de Auto Scaling basadas en una
actualización de instancia (p. 110).
• ReplaceUnhealthy: termina las instancias que están marcadas como en mal estado y, a continuación,
crea nuevas instancias para sustituirlas. Para obtener más información, consulte Comprobaciones de
Health para instancias de Auto Scaling (p. 239).
• ScheduledActions: realiza las acciones de escalado programadas que crea o que se crean para
usted cuando crea unaAWS Auto Scalingy activar el escalado predictivo. Para obtener más información,
consulte Escale programado para Amazon EC2 Auto Scaling (p. 178).
Elegir la suspensión
Todos los tipos de procesos pueden suspenderse y reanudarse por separado. En esta sección, se ofrece
orientación y pasos que tener en cuenta antes de decidir suspender uno de los procesos integrados en
Amazon EC2 Auto Scaling. Tenga en cuenta que la suspensión de los distintos procesos podría interferir
con otros procesos. En función del motivo de la suspensión de un proceso, es posible que tenga que
suspender varios procesos a la vez.
Las siguientes descripciones explican lo que ocurre cuando se suspenden los distintos tipos de procesos.
233
Auto Scaling de Amazon EC2 Guía del usuario
Elegir la suspensión
Warning
Si se suspenden los tipos de procesos Launch o Terminate, se puede impedir que otros tipos
de procesos funcionen correctamente.
Terminate
• El grupo de Auto Scaling no se escala de manera descendente con las alarmas o las acciones
programadas que tienen lugar durante la suspensión del proceso. Además, se interrumpen los
siguientes procesos:
• AZRebalance sigue activo, pero no funciona correctamente. Puede lanzar nuevas instancias sin
terminar las antiguas. Esto podría provocar que su grupo de Auto Scaling aumente hasta un 10% más
que su tamaño máximo, porque se permite que esto ocurra durante las actividades de reequilibrado.
Su grupo de Auto Scaling podría permanecer por encima de su tamaño máximo hasta que se reanude
laTerminateProceso de. CuandoTerminateReanudar,AZRebalancereequilibra gradualmente
el grupo de Auto Scaling si el grupo ya no está equilibrado entre las zonas de disponibilidad o si se
especifican zonas de disponibilidad diferentes.
• ReplaceUnhealthy está inactivo, pero no HealthCheck. Cuando se reanuda Terminate, el
proceso ReplaceUnhealthy empieza a ejecutarse inmediatamente. Si las instancias se marcaron
como en mal estado mientras Terminate se encuentra suspendido, se reemplazarán de inmediato.
• InstanceRefreshestá en pausa hasta que reanudeTerminate.
Launch
• El grupo de Auto Scaling no se escala de manera ascendente con las alarmas o las acciones
programadas que tienen lugar durante la suspensión del proceso.AZRebalancedeja de reequilibrar
el grupo.ReplaceUnhealthycontinúa terminando las instancias que no son en buen estado, pero no
inicia reemplazos. Cuando se reanuda Launch, las actividades de reequilibrio y las sustituciones de la
comprobación de estado se gestionan de la siguiente manera:
• AZRebalancereequilibra gradualmente el grupo de Auto Scaling si el grupo ya no está equilibrado
entre las zonas de disponibilidad o si se especifican zonas de disponibilidad diferentes.
• ReplaceUnhealthy sustituye inmediatamente las instancias que termina durante el tiempo en que
Launch se suspende.
• InstanceRefreshestá en pausa hasta que reanudeLaunch.
AddToLoadBalancer
• Amazon EC2 Auto Scaling lanza las instancias, pero no las añade al grupo de destino del balanceador
de carga o al Classic Load Balancer. Cuando reanude laAddToLoadBalancerSe reanuda la adición de
instancias al balanceador de carga cuando se lanzan. Sin embargo, no se añaden las instancias que se
lanzaron mientras este proceso estaba suspendido. Debe registrar dichas instancias manualmente.
AlarmNotification
• Auto Scaling de Amazon EC2 no ejecuta políticas de escalado cuando se infringe un umbral de alarma
de CloudWatch. SuspenderAlarmNotificationle permite detener temporalmente los eventos de
escalado activados por las políticas de escalado del grupo sin eliminar las políticas de escalado o sus
alarmas de CloudWatch asociadas. Cuando reanudaAlarmNotification, Amazon EC2 Auto Scaling
tiene en cuenta las políticas con umbrales de alarma que se han infringido.
AZRebalance
• El grupo de Auto Scaling no intenta redistribuir instancias tras determinados eventos. Sin embargo, si
se produce un evento de escalado ascendente o descendente, el proceso de escalado intenta equilibrar
234
Auto Scaling de Amazon EC2 Guía del usuario
Elegir la suspensión
igualmente las zonas de disponibilidad. Por ejemplo, durante el escalado ascendente, se lanza la
instancia en la zona de disponibilidad con el menor número de instancias. Si el grupo se desbalancea
mientrasAZRebalanceAuto Scaling de Amazon EC2 está suspendido y se reanuda, Auto Scaling
de Amazon EC2 intenta reequilibrar el grupo. En primer lugar, llama a Launch y, a continuación, a
Terminate.
HealthCheck
• El Auto Scaling de Amazon EC2 deja de marcar instancias en mal estado como resultado de las
comprobaciones de estado de EC2 y Elastic Load Balancing. No obstante, las comprobaciones
de estado personalizadas siguen funcionando correctamente. Tras suspender HealthCheck,
si es necesario, puede configurar manualmente el estado de las instancias del grupo y que
ReplaceUnhealthy las sustituya.
ReplaceUnhealthy
• Auto Scaling de Amazon EC2 deja de sustituir las instancias marcadas con un estado incorrecto. Las
instancias que no superan las comprobaciones de estado de EC2 o Elastic Load Balancing siguen
estando marcadas con un estado incorrecto. Tan pronto como reanude laReplaceUnhealthlyAuto
Scaling de Amazon EC2 sustituye las instancias marcadas con un estado incorrecto durante la
suspensión de este proceso. El proceso ReplaceUnhealthy llama a los dos tipos de procesos
principales: en primer lugar, a Terminate y, a continuación, a Launch.
ScheduledActions
• Auto Scaling de Amazon EC2 no ejecuta las acciones de escalado que están programadas para
ejecutarse durante el periodo de suspensión. Cuando reanudaScheduledActions, Amazon EC2 Auto
Scaling solo tiene en cuenta las acciones programadas cuyo tiempo de ejecución aún no ha transcurrido.
• El grupo de Auto Scaling no puede iniciar las actividades de escalado ni mantener la capacidad
deseada.
• Si el grupo se desequilibra entre las zonas de disponibilidad, Amazon EC2 Auto Scaling no intenta
redistribuir las instancias de manera uniforme entre las zonas de disponibilidad que se especifican para
su grupo de Auto Scaling.
• El grupo de Auto Scaling no puede sustituir las instancias marcadas con un estado incorrecto.
• La función de actualización de instancias no puede reemplazar a ninguna instancia.
Cuando reanude laLaunchyTerminateDel mismo modo, Amazon EC2 Auto Scaling sustituye las
instancias marcadas con un estado incorrecto durante la suspensión de los procesos y puede intentar
volver a equilibrar el grupo. Las actividades de escalado también se reanudan.
Consideraciones adicionales
Existen algunas operaciones externas que pueden verse afectadas durante la suspensión de Launch y
Terminate.
235
Auto Scaling de Amazon EC2 Guía del usuario
Suspender y reanudar procesos (consola)
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestaña Details (Detalles) elija (Advanced configurations) Configuraciones avanzadas, Edit
(Editar).
4. En Suspended processes (Procesos suspendidos), seleccione el proceso que desea suspender.
236
Auto Scaling de Amazon EC2 Guía del usuario
Suspender y reanudar procesos (AWS CLI)
237
Auto Scaling de Amazon EC2 Guía del usuario
Comprobaciones de estado
Amazon EC2 Auto Scaling realiza periódicamente comprobaciones de estado en las instancias del
grupo de Auto Scaling. Si una instancia no supera su comprobación de estado, se marca como
no saludable y se finalizará mientras Amazon EC2 Auto Scaling lanza una nueva instancia en
sustitución. Para obtener más información, consulte Comprobaciones de Health para instancias de
Auto Scaling (p. 239).
Reequilibrio de la capacidad
Puede habilitar el reequilibrio de capacidad en grupos de Auto Scaling nuevos y existentes al utilizar
instancias puntuales. Al activar el reequilibrio de capacidad, Amazon EC2 Auto Scaling intenta iniciar
una instancia puntual siempre que Amazon EC2 notifique que una instancia de subasta corre un
riesgo elevado de interrupción. Después de iniciar una nueva instancia, finaliza una instancia antigua.
Para obtener más información, consulte Reequilibrio de capacidad de Amazon EC2 Auto Scaling de
Amazon EC2 (p. 242).
AWS Personal Health Dashboard
AWS CloudTrailpermite realizar un seguimiento de las llamadas a la API de Amazon EC2 Auto Scaling
realizadas desde la cuenta de Amazon Web Services o en nombre de ella. CloudTrail almacena la
238
Auto Scaling de Amazon EC2 Guía del usuario
comprobación de estado de las instancias
información en archivos log en el bucket de Amazon S3 que especifique. Puede utilizar estos archivos
de registro para monitorear la actividad de los grupos de Auto Scaling. Los registros incluyen las
solicitudes que se han realizado, las direcciones IP de origen de las que proceden las solicitudes,
quién ha efectuado la solicitud, cuándo se ha realizado, etc. Para obtener más información, consulte
Registro de llamadas a la API de Auto Scaling de Amazon EC2AWS CloudTrail (p. 257).
Registros de CloudWatch
Los registros de CloudWatch Logs le permiten monitorear, almacenar y obtener acceso a sus archivos
log desde instancias de Amazon EC2, CloudTrail y otras fuentes. CloudWatch Logs puede monitorear
información en los registros y enviarle una notificación cuando se llega a determinados umbrales.
También se pueden archivar los datos de los registros en un almacenamiento de larga duración. Para
obtener más información, consulte laAmazon CloudWatch Logs.
Notification Service
Puede configurar grupos de Auto Scaling para enviar notificaciones de Amazon SNS cuando Amazon
EC2 Auto Scaling lanza o termina instancias. Para obtener más información, consulte Obtener
notificaciones de Amazon SNS cuando su grupo de Auto Scaling se escala (p. 259).
EventBridge
Amazon EventBridge, antes llamado Eventos de CloudWatch, proporciona un flujo casi en tiempo real
de eventos del sistema que describen cambios en recursos de Amazon Web Services. EventBridge
habilita la informática basada en eventos automatizada, para que pueda escribir reglas que vigilan
determinados eventos y activan acciones automatizadas en otros Amazon Web Services cuando
estos eventos se producen. Por ejemplo, puede utilizar EventBridge para configurar un destino que
invoque una función Lambda cuando se escale su grupo de Auto Scaling o cuando se produzca una
acción del ciclo de vida. Amazon EC2 también puede recibir un aviso de dos minutos cuando esté a
punto de reclamar las instancias de spot. Para obtener información sobre cómo capturar eventos de
Amazon EC2 Auto Scaling emitidos en EventBridge, consulteUso de Amazon EC2 Auto Scaling con
EventBridge (p. 263).
Cuando Amazon EC2 Auto Scaling marca una instancia como en mal estado, se programa su sustitución.
Si no desea que se reemplacen las instancias, puede suspender el proceso de comprobación de estado de
cualquier grupo de Auto Scaling.
• Las comprobaciones de estado proporcionadas por Amazon EC2 para identificar problemas de hardware
y software que puedan afectar a una instancia. Las comprobaciones de estado predeterminadas de un
grupo de Auto Scaling son solo comprobaciones de estado de EC2.
• Las comprobaciones de Health proporcionadas por Elastic Load Balancing (ELB). Estas comprobaciones
de estado están deshabilitadas de forma predeterminada, pero se pueden habilitar.
• Sus comprobaciones de estado personalizadas.
239
Auto Scaling de Amazon EC2 Guía del usuario
Determinar la instancia de estado
Las comprobaciones de estado de Amazon EC2 utilizan los resultados de las comprobaciones de estado
de Amazon EC2 para determinar el estado de una instancia. Si la instancia está en cualquier estado
que no searunningo si el estado del sistema esimpairedAmazon EC2 Auto Scaling considera que la
instancia está en mal estado y lanza una instancia de sustitución. Esto ocurre cuando la instancia tiene
alguno de los estados siguientes:
• stopping
• stopped
• shutting-down
• terminated
Las comprobaciones de estado de EC2 no requieren ninguna configuración especial y siempre están
habilitadas. Entre estas se incluyen las comprobaciones de estado de las instancias y las comprobaciones
de estado del sistema. Para obtener más información, consulteTipos de comprobaciones de estadoen
laGuía del usuario de Amazon EC2 para instancias de Linux.
Instancias para grupos que no utilizanELBLas comprobaciones de estado se consideran en buen estado
si están en larunningEstado de. Instancias para grupos que utilizanELBLas comprobaciones de estado
se consideran en buen estado si están en larunningY el balanceador de carga los registra como en buen
estado.
Si asocia un balanceador de carga o un grupo de destino a su grupo de Auto Scaling, puede configurar
el grupo para que marque una instancia como en mal estado cuando Elastic Load Balancing la registra
comounhealthy. Si el vaciado de conexiones está habilitado para el balanceador de carga, Auto Scaling
de Amazon EC2 espera a que se completen las solicitudes en curso o a que se agote el tiempo de espera
máximo, lo que ocurra primero, antes de finalizar las instancias debido a un evento de escalado o a la
sustitución de comprobación de estado. Para obtener más información, consulte Agregar comprobaciones
de estado de ELB (p. 95).
240
Auto Scaling de Amazon EC2 Guía del usuario
Reemplazar instancias en mal estado
antes de comprobar el estado de la instancia. Las comprobaciones de estado de Amazon EC2 y Elastic
Load Balancing se pueden completar antes de que termine el periodo de gracia de la comprobación de
estado. Sin embargo, Auto Scaling de Amazon EC2 no actúa hasta que termina el periodo de gracia de la
comprobación de estado.
Para proporcionar un tiempo de calentamiento amplio para las instancias, asegúrese de que el período de
gracia de comprobación de estado cubra el tiempo de inicio esperado de la aplicación, desde el momento
en que una instancia entra en servicio hasta el momento en que puede recibir tráfico. Si añade un enlace
de ciclo de vida, el periodo de gracia no comienza hasta que se completan las acciones del enlace de ciclo
de vida y la instancia pasa a tener el estado InService.
Como el intervalo entre marcar una instancia como en mal estado y su terminación real es muy
pequeño, el intento de restablecer la instancia a un estado correcto con la instancia con laset-
instance-healtho el comando de laSetInstanceHealthes probablemente útil solo para un grupo
suspendido. Para obtener más información, consulte Suspensión y reanudación de un proceso
para un grupo de Auto Scaling (p. 232).
Auto Scaling de Amazon EC2 crea una nueva actividad de escalado para finalizar la instancia en mal
estado y, a continuación, la termina. Más adelante, otra actividad de escalado lanza una instancia nueva
para sustituir la instancia terminada.
241
Auto Scaling de Amazon EC2 Guía del usuario
Véase también
A continuación se incluye una respuesta de ejemplo que muestra que el estado de la instancia es
Unhealthy y que la instancia está terminando.
{
"AutoScalingGroups": [
{
....
"Instances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-123abc45d",
"HealthStatus": "Unhealthy",
"LifecycleState": "Terminating"
},
...
]
}
]
}
Véase también
Para obtener más información sobre las comprobaciones de estado, consulte Solución de problemas
de Auto Scaling de Amazon EC2 Comprobaciones de estado (p. 322). Si sus comprobaciones de
estado fallan, consulte este tema para conocer los pasos de solución de problemas. Este tema le ayudará
a averiguar qué ha fallado en su grupo de Auto Scaling y le proporcionará sugerencias sobre cómo
solucionarlo.
Cómo funciona
Amazon EC2 Auto Scaling conoce las notificaciones de recomendación de reequilibrio de instancias de
EC2. El servicio Spot de Amazon EC2 emite estas notificaciones cuando las instancias puntuales corren
un riesgo elevado de interrupción. Cuando se habilita el reequilibrio de capacidad en un grupo de Auto
Scaling, el Auto Scaling de Amazon EC2 intenta reemplazar de forma proactiva las instancias de spot en
el grupo que ha recibido una recomendación de reequilibrio, lo que brinda la oportunidad de reequilibrar
la carga de trabajo en nuevas instancias spot que no tienen un riesgo elevado de Interrupción de. Esto
significa que su carga de trabajo puede continuar procesando el trabajo mientras Amazon EC2 Auto
242
Auto Scaling de Amazon EC2 Guía del usuario
Cómo habilitar el reequilibrio de capacidad
Scaling lanza una nueva instancia puntual antes de que se interrumpa una instancia existente. También
puede utilizar opcionalmente un enlace del ciclo de vida para realizar una acción personalizada en las
instancias antes de la finalización.
Para obtener más información acerca de las recomendaciones de reequilibrio de instancias EC2,
consulteRecomendación de reequilibrio de instancias EC2en laGuía del usuario de Amazon EC2 para
instancias de Linux.
Para obtener más detalles y un tutorial de la función de reequilibrio de capacidad, consulte la publicación
del blogAdministre de forma proactiva el ciclo de vida de las instancias puntuales mediante la nueva
función de reequilibrio de capacidad para EC2 Auto Scalingen elAWSCompute del blog.
Note
Cuando el reequilibrio de capacidad está deshabilitado, Amazon EC2 Auto Scaling reemplaza
a las instancias puntuales después de que el servicio de subasta de Amazon EC2 interrumpa
las instancias y su comprobación de estado falla. Amazon EC2 siempre proporciona una
recomendación de reequilibrio de instancias EC2 y un aviso de interrupción de instancias
puntuales de dos minutos antes de que se interrumpa una instancia.
Contenido
• Cómo habilitar el reequilibrio de capacidad (p. 243)
• Cómo habilitar el reequilibrio de capacidad (consola) (p. 244)
• Cómo habilitar el reequilibrio de capacidad (AWS CLI) (p. 245)
• Agregar un gancho de ciclo de vida de terminación (p. 248)
Consideraciones
• Se recomienda configurar el grupo Auto Scaling para que utilice varios tipos de instancias. Esto
proporciona la flexibilidad para iniciar instancias en varios grupos de instancias de spot dentro de cada
zona de disponibilidad, como se documenta enGrupos de Auto Scaling con varios tipos de instancias y
opciones de compra (p. 56).
• Le recomendamos encarecidamente que solo use la función de reequilibrio de capacidad con
elcapacity-optimizedo elcapacity-optimized-prioritizedEstrategia de asignación de. Estas
estrategias de asignación mantendrán su capacidad puntual en los grupos puntuales óptimos tanto para
eventos de escalabilidad horizontal como para lanzamientos de reequilibrio de capacidad.
• Siempre que sea posible, debe crear su grupo de Auto Scaling en todas las zonas de disponibilidad
de la región. Esto permite que Amazon EC2 Auto Scaling examine la capacidad libre de cada zona de
disponibilidad. Si se produce un error en un lanzamiento en una zona de disponibilidad, Amazon EC2
Auto Scaling sigue intentando iniciar instancias puntuales en las zonas de disponibilidad especificadas
hasta que se realice correctamente.
• Con el reequilibrio de capacidad, Amazon EC2 Auto Scaling de Amazon EC2 se comporta de la
siguiente manera:
Al iniciar una nueva instancia, Amazon EC2 Auto Scaling espera hasta que la nueva instancia pase su
comprobación de estado antes de continuar con la finalización de la instancia anterior. Al reemplazar
más de una instancia, la terminación de cada instancia anterior comienza después de que la nueva
instancia se haya iniciado y superado su comprobación de estado. Como Amazon EC2 Auto Scaling
243
Auto Scaling de Amazon EC2 Guía del usuario
Cómo habilitar el reequilibrio de capacidad
intenta lanzar nuevas instancias antes de terminar las antiguas, el hecho de satisfacer por completo
o casi la capacidad máxima especificada podría impedir o detener completamente las actividades de
reequilibrio. Para evitar este problema, el Auto Scaling de Amazon EC2 puede superar temporalmente la
capacidad máxima especificada de un grupo durante una actividad de reequilibrio.
• Si las nuevas instancias no se inician o se inician pero la comprobación de estado falla, Amazon EC2
Auto Scaling sigue intentando volver a iniciarlas. Mientras está tratando de lanzar nuevas instancias,
sus antiguas eventualmente serán interrumpidas y terminadas por la fuerza.
• Si una actividad de escalado está en curso y su grupo Auto Scaling está por debajo de la nueva
capacidad deseada, Amazon EC2 Auto Scaling escala horizontal primero antes de finalizar las
instancias antiguas.
• Puede configurar un enlace del ciclo de vida de terminación para su grupo de Auto Scaling cuando
habilite el reequilibrio de capacidad para intentar cerrar correctamente la aplicación dentro de las
instancias que reciben la notificación de reequilibrio, antes de que Amazon EC2 Auto Scaling termine las
instancias. Si no configura un enlace del ciclo de vida, Amazon EC2 Auto Scaling comenzará a terminar
las instancias antiguas tan pronto como las nuevas instancias superen su comprobación de estado.
• Al utilizar el reequilibrio de capacidad, la aplicación debe ser tolerante a algunas interrupciones para
evitar interrupciones en la aplicación. Cuando una instancia comienza a finalizar, Amazon EC2 Auto
Scaling espera a que finalice la instancia. Si el grupo Auto Scaling está detrás de un equilibrador de
carga de Elastic Load Balancing, Amazon EC2 Auto Scaling espera a que la instancia se anule el
registro del equilibrador de carga antes de llamar al enlace del ciclo de vida de terminación (si está
configurado). Si el tiempo para agotar las conexiones y ejecutar los ganchos del ciclo de vida tarda
demasiado, la instancia puede interrumpirse mientras Amazon EC2 Auto Scaling espera a que finalice la
instancia.
• En los casos en que una instancia recibe un aviso final de interrupción de dos minutos, Amazon EC2
Auto Scaling llama al gancho del ciclo de vida de terminación e intenta iniciar inmediatamente un
reemplazo.
Siga las instrucciones enGrupos de Auto Scaling con varios tipos de instancias y opciones de
compra (p. 56)Para crear un nuevo grupo de Auto Scaling. Cuando se crea un grupo de Auto Scaling, en
el paso 2 del asistente, se configuran las opciones de compra de instancias y la configuración de red. Para
especificar configuraciones adicionales para el grupo Auto Scaling, incluida la configuración de distribución
de instancias, la configuración de asignación puntual, el reequilibrio de capacidad y los tipos de instancia
que Amazon EC2 Auto Scaling puede iniciar, seleccioneCombina opciones de compra y tipos de instancia.
244
Auto Scaling de Amazon EC2 Guía del usuario
Cómo habilitar el reequilibrio de capacidad
Se abre un panel dividido en la parte inferior de laGrupos de Auto Scaling, que muestra información
sobre el grupo seleccionado.
3. En la páginaDetalles de, elijaOpciones de compra y tipos de instancia,Editar.
4. En elDistribución de instancias, haga lo siguiente:
Los siguientes procedimientos muestran cómo utilizar un archivo de configuración con formato
JSON o YAML. Si usaAWS CLIversión 1, debe especificar un archivo de configuración con
245
Auto Scaling de Amazon EC2 Guía del usuario
Cómo habilitar el reequilibrio de capacidad
JSON
Añada la línea siguiente al objeto JSON de nivel superior del archivo de configuración.
{
"CapacityRebalance": true
}
{
"AutoScalingGroupName": "my-asg",
"DesiredCapacity": 12,
"MinSize": 12,
"MaxSize": 15,
"CapacityRebalance": true,
"MixedInstancesPolicy": {
"InstancesDistribution": {
"OnDemandBaseCapacity": 0,
"OnDemandPercentageAboveBaseCapacity": 25,
"SpotAllocationStrategy": "capacity-optimized"
},
"LaunchTemplate": {
"LaunchTemplateSpecification": {
"LaunchTemplateName": "my-launch-template",
"Version": "$Default"
},
"Overrides": [
{
"InstanceType": "c5.large"
},
{
"InstanceType": "c5a.large"
},
{
"InstanceType": "m5.large"
},
{
"InstanceType": "m5a.large"
},
{
"InstanceType": "c4.large"
},
{
"InstanceType": "m4.large"
},
{
246
Auto Scaling de Amazon EC2 Guía del usuario
Cómo habilitar el reequilibrio de capacidad
"InstanceType": "c3.large"
},
{
"InstanceType": "m3.large"
}
]
}
},
"TargetGroupARNs": "arn:aws:elasticloadbalancing:us-
west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff",
"VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
YAML
CapacityRebalance: true
---
AutoScalingGroupName: my-asg
DesiredCapacity: 12
MinSize: 12
MaxSize: 15
CapacityRebalance: true
MixedInstancesPolicy:
InstancesDistribution:
OnDemandBaseCapacity: 0
OnDemandPercentageAboveBaseCapacity: 25
SpotAllocationStrategy: capacity-optimized
LaunchTemplate:
LaunchTemplateSpecification:
LaunchTemplateName: my-launch-template
Version: $Default
Overrides:
- InstanceType: c5.large
- InstanceType: c5a.large
- InstanceType: m5.large
- InstanceType: m5a.large
- InstanceType: c4.large
- InstanceType: m4.large
- InstanceType: c3.large
- InstanceType: m3.large
TargetGroupARNs:
- arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-
group/943f017f100becff
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
247
Auto Scaling de Amazon EC2 Guía del usuario
Agregar un gancho de ciclo de vida de terminación
Para comprobar que el reequilibrio de capacidad está habilitado para un grupo de Auto Scaling
{
"AutoScalingGroups": [
{
"AutoScalingGroupName": "my-asg",
"AutoScalingGroupARN": "arn",
...
"CapacityRebalance": true
}
]
}
Las razones por las que podría utilizar un enlace de ciclo de vida de terminación incluyen:
• Para cargar registros de sistema o aplicación a Amazon Simple Storage Service (Amazon S3)
• Para un apagado elegante de los trabajadores de Amazon SQS
• Para completar la cancelación del registro del sistema de nombres de dominio (DNS)
Si no dispone de un enlace de ciclo de vida de terminación, utilice el siguiente procedimiento para crear
uno.
248
Auto Scaling de Amazon EC2 Guía del usuario
Monitorización con AWS Personal Health Dashboard
Se abre un panel dividido en la parte inferior de laGrupos de Auto Scaling, que muestra información
sobre el grupo seleccionado.
3. En la pestaña Instance management (Administración de instancias), en Lifecycle hooks (Enlaces de
ciclo de vida), elija Create lifecycle hook (Crear enlace de ciclo de vida).
4. Para definir un enlace de ciclo de vida, haga lo siguiente:
a. En Lifecycle hook name (Nombre del enlace de ciclo de vida), especifique un nombre para el
enlace de ciclo de vida.
b. ParaTransición de ciclo de vida, elijaTerminación de instancia.
c. ParaTiempo de espera de latidos, especifique la cantidad de tiempo, en segundos, que tendrá
que completar la acción del ciclo de vida, o hasta que finalice el período de tiempo de espera.
Recomendamos un valor de 30 a 120 segundos, dependiendo del tiempo que necesite para
apagar la aplicación.
d. ParaResultado predeterminado, especifique la acción que el grupo de Auto Scaling realiza
cuando transcurra el tiempo de espera del enlace de ciclo de vida o si se produce un error
inesperado. Tanto ABANDON como CONTINUAR permiten terminar la instancia.
• Si elige CONTINUAR, el grupo de Auto Scaling puede continuar con todas las acciones
restantes, como otros enlaces de ciclo de vida, antes de terminar.
• Si elige ABANDON, el grupo de Auto Scaling termina las instancias inmediatamente.
e. (Opcional) ParaMetadatos de notificación, especifique cualquier información adicional que desee
incluir en cualquier momento que Auto Scaling de Amazon EC2 envíe un mensaje a unAWS
Lambdau otro destino que configure en el paso 6.
5. Seleccione Create (Crear).
6. (Opcional) Para agregar una acción al gancho del ciclo de vida,Siga estos pasos: (p. 188)Para
configurar unAWS Lambdafunción u otro objetivo. De lo contrario, para que una instancia de EC2
ejecute una acción automáticamente, debe configurarla para ejecutar secuencias de comandos.
Se recomienda que la secuencia de apagado se complete en menos de uno o dos minutos para
asegurarse de que hay tiempo suficiente para completar las tareas antes de la finalización de la
instancia.
Para obtener más información, consulte Enganches de ciclo de vida de Amazon EC2 Auto Scaling (p. 184).
El AWS Personal Health Dashboard forma parte del servicio AWS Health. No precisa configuración
y cualquier usuario autenticado en su cuenta puede consultarlo. Para obtener más información,
consulteIntroducción alAWS Personal Health Dashboard.
Si recibe un mensaje similar a los siguientes mensajes, debe tratarse como una alarma para tomar
medidas.
Ejemplo: Auto Scaling no se está haciendo el escaling en el grupo de debido a que falta un grupo de
seguridad
249
Auto Scaling de Amazon EC2 Guía del usuario
Monitorización con CloudWatch
Hello,
At 2020-01-11 04:00 UTC, we detected an issue with your Auto Scaling group [ARN] in
Cuenta de AWS
123456789012.
A security group associated with this Auto Scaling group cannot be found. Each time a
scale out operation is performed, it will be prevented until you make a change that
fixes the issue.
We recommend that you review and update your Auto Scaling group configuration to change
the launch template or launch configuration that depends on the unavailable security
group.
Sincerely,
Amazon Web Services
Ejemplo: Auto Scaling no se está haciendo el escaling en el grupo de debido a que falta una plantilla de
lanzamiento
Hello,
At 2021-05-11 04:00 UTC, we detected an issue with your Auto Scaling group [ARN] in
Cuenta de AWS
123456789012.
The launch template associated with this Auto Scaling group cannot be found. Each time
a scale out operation is performed, it will be prevented until you make a change that
fixes the issue.
We recommend that you review and update your Auto Scaling group configuration and
specify an existing launch template to use.
Sincerely,
Amazon Web Services
Amazon EC2 Auto Scaling publica puntos de datos en CloudWatch sobre sus grupos de Auto Scaling. Las
métricas están disponibles con una granularidad de un minuto sin cargo adicional, pero debe habilitarlas.
Al hacerlo, obtiene visibilidad continua de las operaciones de sus grupos de Auto Scaling de para que
pueda responder rápidamente a los cambios en sus cargas de trabajo. Puede habilitar y deshabilitar estas
métricas mediante laAWS Management Console,AWS CLIo un SDK.
Amazon EC2 publica puntos de datos en CloudWatch que describen sus instancias de Auto Scaling. El
intervalo para la monitorización de instancias de Amazon EC2 se puede configurar. Puede elegir entre una
granularidad de un minuto y cinco minutos. Para obtener más información, consulte Configuración de la
supervisión para instancias de Auto Scaling (p. 256).
Contenido
250
Auto Scaling de Amazon EC2 Guía del usuario
Habilitar métricas de grupo de Auto Scaling (consola)
Se abre un panel dividido en la parte inferior de la página, que muestra información sobre el grupo
seleccionado.
3. En la páginaMonitoreo, seleccione laColección de métricas de grupo de Auto Scaling,HabilitarEn la
parte superior de la página, bajoAuto Scaling.
Habilite una o varias métricas de grupo mediante el comando enable-metrics-collection. Por ejemplo, el
siguiente comando habilita la métrica GroupDesiredCapacity.
251
Auto Scaling de Amazon EC2 Guía del usuario
Métricas y dimensiones disponibles
--granularity "1Minute"
Use el comando disable-metrics-collection. Por ejemplo, el comando siguiente deshabilita todas las
métricas de grupo de Auto Scaling.
Métrica Descripción
252
Auto Scaling de Amazon EC2 Guía del usuario
Ver métricas gráficas para las
instancias y los grupos de Auto Scaling
LaAWS/AutoScalingEl espacio de nombres incluye las siguientes métricas para los grupos de Auto
Scaling que utilizan laPonderación de instancias de (p. 73)característica. Si no se aplica la ponderación
de instancias, las siguientes métricas se rellenan, pero son iguales a las métricas definidas en la tabla
anterior.
Métrica Descripción
253
Auto Scaling de Amazon EC2 Guía del usuario
Trabajo con Amazon CloudWatch
Las siguientes métricas gráficas están disponibles para grupos en los que las instancias tienen pesos que
definen cuántas unidades contribuye cada instancia a la capacidad deseada del grupo:
• Utilización de la CPU—CPUUtilization
• Lecturas en disco—DiskReadBytes
• Operaciones de lectura en disco—DiskReadOps
• Escrituras en disco—DiskWriteBytes
• Operaciones de escritura en disco—DiskWriteOps
• Entrada de red—NetworkIn
• Salida de red—NetworkOut
• Comprobación de estado no superada (cualquiera)—StatusCheckFailed
• Comprobación de estado no superada (instancia)—StatusCheckFailed_Instance
• Comprobación de estado no superada (sistema)—StatusCheckFailed_System
Para obtener más información acerca de las métricas de Amazon EC2 y los datos que proporcionan a
los gráficos, consulteEnumerar las métricas de CloudWatch disponibles para las instanciasen laGuía del
usuario de Amazon EC2 para instancias de Linux.
Para ver todas las métricas de todos los grupos de Auto Scaling, utilice la siguientelist-metricscomando de.
254
Auto Scaling de Amazon EC2 Guía del usuario
Trabajo con Amazon CloudWatch
Para ver una sola métrica para todos los grupos de Auto Scaling, especifique el nombre de la métrica de la
siguiente manera.
Comience identificando la métrica que se va a monitorear. Por ejemplo, puede configurar una alarma para
vigilar la utilización media de la CPU de las instancias EC2 en el grupo de Auto Scaling. La acción puede
ser una notificación que se le envía cuando el uso medio de la CPU de las instancias del grupo supera el
umbral que haya especificado para los periodos consecutivos que haya especificado. Por ejemplo, si la
métrica se mantiene al 70 % o por encima de este nivel durante 4 períodos consecutivos de 1 minuto cada
uno.
Para obtener más información, consulteUso de alarmas de Amazon CloudWatchen laGuía del usuario de
Amazon CloudWatch.
• Para mostrar solamente las métricas registradas para los grupos de Auto Scaling, elijaEC2y luego
seleccionePor Grupo de Auto Scaling. Para ver las métricas de un único grupo de Auto Scaling,
escriba su nombre en el campo de búsqueda.
• Seleccione la fila que contiene la métrica del grupo de Auto Scaling en el que desea crear una
alarma.
• Elija Select metric (Seleccionar métrica). Aparece la página Specify metric and conditions
(Especificar métrica y condiciones), que muestra un gráfico y otra información sobre la métrica.
6. En Period (Periodo), elija el periodo de evaluación para la alarma, por ejemplo, 1 minuto. Al evaluar la
alarma, cada periodo se agrega a un punto de datos.
Note
255
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de la supervisión
para instancias de Auto Scaling
• En Puntos de datos para alarma, escriba el número de puntos de datos (periodos de evaluación)
durante los que el valor de la métrica debe cumplir las condiciones del umbral para desencadenar
la alarma. Por ejemplo, dos periodos consecutivos de 5 minutos tardarían 10 minutos en
desencadenar la alarma.
• En Missing data treatment, (Tratamiento de los datos que faltan), elija lo que desea que haga la
alarma si faltan algunos datos. Para obtener más información, consulteConfigurar cómo las alarmas
de CloudWatch tratan los datos faltantesen laGuía del usuario de Amazon CloudWatch.
9. Elija Next (Siguiente).
10. BajoNotificación, puede elegir o crear el tema de Amazon SNS que desea utilizar para recibir
notificaciones. De lo contrario, puede quitar la notificación ahora y agregar una más tarde cuando esté
listo.
11. Elija Next (Siguiente).
12. Escriba un nombre y, si lo desea, una descripción de la alarma y, a continuación, elija Next
(Siguiente).
13. Elija Create Alarm (Crear alarma).
La monitorización se habilita cada vez que se lanza una instancia, ya sea la monitorización básica (se
recopilan datos cada 5 minutos) o la monitorización detallada (se recopilan datos cada minuto). Para la
monitorización detallada, se aplican cargos adicionales. Para obtener más información, consultePrecios de
Amazon CloudWatchyMonitoreo de las instancias con CloudWatchen laGuía del usuario de Amazon EC2
para instancias de Linux.
256
Auto Scaling de Amazon EC2 Guía del usuario
Registrar llamadas a la API con AWS CloudTrail
Para las plantillas de lanzamiento, utilice el comando create-launch-template y transfiera un archivo JSON
que contenga la información para crear la plantilla de lanzamiento. Establezca el atributo de monitorización
en "Monitoring":{"Enabled":true} para habilitar la monitorización detallada o en "Monitoring":
{"Enabled":false} para habilitar la monitorización básica.
--instance-monitoring Enabled=true
257
Auto Scaling de Amazon EC2 Guía del usuario
Información de Auto Scaling de Amazon EC2
Para obtener más información sobre CloudTrail, consulte la Guía del usuario de AWS CloudTrail.
Para obtener un registro continuo de los eventos de la cuenta de Amazon Web Services, incluidos los
eventos de Auto Scaling de Amazon EC2 Auto Scaling, cree un registro de seguimiento. Un registro
de seguimiento permite a CloudTrail enviar archivos de registro a un bucket de Amazon S3. De forma
predeterminada, cuando se crea un registro de seguimiento en la consola, el registro de seguimiento se
aplica a todas las regiones de . El registro de seguimiento registra los eventos de todas las regiones de la
partición de Amazon Web Services y envía los archivos de registro al bucket de Amazon S3 especificado.
Además, puede configurar otros Amazon Web Services para analizar y actuar en función de los datos de
eventos recopilados en los registros de CloudTrail. Para obtener más información, consulte los siguientes
temas:
Cada entrada de registro o evento contiene información acerca de quién generó la solicitud. La información
de identidad del usuario le ayuda a determinar lo siguiente:
• Si la solicitud se realizó con credenciales de usuario AWS Identity and Access Management (IAM) o
credenciales de usuario raíz.
• Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
• Si la solicitud la realizó otro servicio de .
En el ejemplo siguiente, se muestra una entrada de registro de CloudTrail que ilustra la acción
CreateLaunchConfiguration.
258
Auto Scaling de Amazon EC2 Guía del usuario
Supervisión con notificaciones de Amazon SNS
{
"eventVersion": "1.05",
"userIdentity": {
"type": "Root",
"principalId": "123456789012",
"arn": "arn:aws:iam::123456789012:root",
"accountId": "123456789012",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"attributes": {
"mfaAuthenticated": "false",
"creationDate": "2018-08-21T17:05:42Z"
}
}
},
"eventTime": "2018-08-21T17:07:49Z",
"eventSource": "autoscaling.amazonaws.com",
"eventName": "CreateLaunchConfiguration",
"awsRegion": "us-west-2",
"sourceIPAddress": "192.0.2.0",
"userAgent": "Coral/Jakarta",
"requestParameters": {
"ebsOptimized": false,
"instanceMonitoring": {
"enabled": false
},
"instanceType": "t2.micro",
"keyName": "EC2-key-pair-oregon",
"blockDeviceMappings": [
{
"deviceName": "/dev/xvda",
"ebs": {
"deleteOnTermination": true,
"volumeSize": 8,
"snapshotId": "snap-01676e0a2c3c7de9e",
"volumeType": "gp2"
}
}
],
"launchConfigurationName": "launch_configuration_1",
"imageId": "ami-6cd6f714d79675a5",
"securityGroups": [
"sg-00c429965fd921483"
]
},
"responseElements": null,
"requestID": "0737e2ea-fb2d-11e3-bfd8-99133058e7bb",
"eventID": "3fcfb182-98f8-4744-bd45-b38835ab61cb",
"eventType": "AwsApiCall",
"recipientAccountId": "123456789012"
}
259
Auto Scaling de Amazon EC2 Guía del usuario
Notificaciones de SNS
Amazon SNS coordina y administra la entrega o el envío de notificaciones a los clientes o puntos de enlace
suscritos. Amazon SNS ofrece una variedad de opciones de notificación, como la posibilidad de entregar
notificaciones como HTTP o HTTPS POST, como un correo electrónico (SMTP con texto sin formato o con
formato JSON) o como un mensaje publicado en una cola de Amazon SQS, lo que permite gestionar estas
notificaciones mediante programación. Para obtener más información, consulteGuía del desarrollador de
Amazon Simple Notification Service.
Por ejemplo, si configura el grupo Auto Scaling para que utilice elautoscaling:
EC2_INSTANCE_TERMINATEEl tipo de notificación y el grupo de Auto Scaling termina una instancia, se
envía una notificación por correo electrónico. Este correo electrónico contiene los detalles de la instancia
terminada, como el ID de instancia y el motivo por el que se terminó la instancia.
Las notificaciones son útiles para diseñar aplicaciones basadas en eventos. Si usa notificaciones para
comprobar que un recurso de entra en un estado deseado, puede eliminar los sondeos de modo que no
encuentre laRequestLimitExceedederror que a veces resulta del sondeo.
AWSproporciona varias herramientas que puede utilizar para enviar notificaciones. También puede
utilizar EventBridge y Amazon SNS para enviar notificaciones cuando los grupos de Auto Scaling inician o
terminan instancias. En EventBridge, la regla describe los eventos que se le notifican. En Amazon SNS, en
el tema se describe el tipo de notificación que recibe. Usando esta opción, puede decidir si ciertos eventos
deben desencadenar una función Lambda en su lugar. Para obtener más información, consulte Uso de
Amazon EC2 Auto Scaling con EventBridge (p. 263).
Contenido
• Notificaciones de SNS (p. 260)
• Configuración de notificaciones de Amazon SNS para Amazon EC2 Auto Scaling (p. 261)
• Cree un tema sobre Amazon SNS (p. 261)
• Suscribirse al tema de Amazon SNS (p. 261)
• Confirme su suscripción a Amazon SNS (p. 261)
• Configure el grupo de Auto Scaling para que envíe notificaciones (p. 262)
• Probar la notificación (p. 262)
• Eliminar la configuración de notificaciones (p. 263)
Notificaciones de SNS
Amazon EC2 Auto Scaling admite el envío de notificaciones de Amazon SNS cuando se producen los
eventos siguientes.
Evento Descripción
• Event: el evento.
• AccountIdEl ID de cuenta de Amazon Web Services.
• AutoScalingGroupName— Nombre del grupo de Auto Scaling.
260
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de notificaciones de Amazon
SNS para Amazon EC2 Auto Scaling
Por ejemplo:
Para obtener más información, consulteCreación de un tema sobre Amazon SNSen laGuía del
desarrollador de Amazon Simple Notification Service.
Para obtener más información, consulteSuscribirse a un tema sobre Amazon SNSen laGuía del
desarrollador de Amazon Simple Notification Service.
261
Auto Scaling de Amazon EC2 Guía del usuario
Configuración de notificaciones de Amazon
SNS para Amazon EC2 Auto Scaling
Recibirá un mensaje de confirmación deAWS. Amazon SNS estará ahora configurado para recibir
notificaciones y enviar la notificación como un correo electrónico a la dirección de correo electrónico
especificada.
Se abre un panel dividido en la parte inferior de la página, que muestra información sobre el grupo
seleccionado.
3. En la páginaActividadEn, elijaNotificaciones de,Crear notificación.
4. En el panel Create notifications, proceda del modo siguiente:
Para configurar notificaciones de Amazon SNS para el grupo de Auto Scaling (AWS CLI)
Probar la notificación
Para generar una notificación para un evento de lanzamiento, actualice el grupo de Auto Scaling
aumentando la capacidad deseada del grupo de Auto Scaling en 1. Usted recibe una notificación al cabo
de unos minutos después de que se lance la instancia.
Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto
Scaling) que muestra información sobre el grupo seleccionado.
3. En la pestañaDetails (Detalles) elija Group details (Detalles de grupo), Edit (Editar).
4. En Desired capacity (Capacidad deseada), aumente el valor actual en 1. Si este valor supera el valor
especificado en Maximum capacity (Capacidad máxima), también debe aumentar el valor de Maximum
capacity (Capacidad máxima) en 1.
5. Elija Update (Actualizar).
262
Auto Scaling de Amazon EC2 Guía del usuario
Uso de EventBridge
6. Después de unos minutos, recibirá una notificación del evento. Si no necesita la instancia adicional
que lanzó para esta prueba, puede reducir el valor Desired capacity (Capacidad deseada) en 1.
Después de unos minutos, recibirá una notificación del evento.
Para eliminar la configuración de notificaciones de Amazon EC2 Auto Scaling (AWS CLI)
Para obtener información sobre cómo eliminar el tema de Amazon SNS y todas las suscripciones
asociadas a su grupo de Auto Scaling, consulteEliminación de una suscripción y un tema de Amazon
SNSen laGuía del desarrollador de Amazon Simple Notification Service.
Los eventos de Amazon EC2 Auto Scaling se envían a EventBridge casi en tiempo real. Puede establecer
reglas de EventBridge que desencadenen acciones programáticas y notificaciones en respuesta a una
variedad de estos eventos. Por ejemplo, mientras las instancias están en proceso de lanzamiento o
finalización, puede activar unaAWS Lambdapara realizar una tarea preconfigurada. O bien, puede activar
notificaciones a un tema de Amazon SNS para supervisar el progreso de una actualización de instancia y
realizar validaciones en puntos de control específicos.
Además de invocar funciones de Lambda y notificar temas de Amazon SNS, EventBridge admite otros
tipos de destinos y acciones, como la transmisión de eventos a flujos de Amazon Kinesis, la activación
deAWS Step Functionsmáquinas de estado, e invocar elAWSComando de ejecución del Systems
Manager. Para obtener información acerca de los destinos admitidos, consulteObjetivos de Amazon
EventBridgeen laGuía del usuario de Amazon EventBridge.
Contenido
• Eventos de Auto Scaling (p. 264)
• UsoAWS LambdaPara controlar eventos (p. 268)
263
Auto Scaling de Amazon EC2 Guía del usuario
Eventos de Auto Scaling
Para ver ejemplos de los eventos entregados desde Amazon EC2 Auto Scaling a EventBridge cuando
utiliza un grupo caliente, consulteEventos en piscina caliente (p. 207).
Eventos
• Acción de ciclo de vida de lanzamiento de instancia EC2 (p. 264)
• Lanzamiento de instancia EC2 correcto (p. 264)
• Lanzamiento de instancia EC2 incorrecto (p. 265)
• Acción de ciclo de vida de terminación de instancia EC2 (p. 266)
• Terminar instancia EC2 correcto (p. 266)
• Terminar instancia EC2 incorrecto (p. 267)
• Actualización de instancias de EC2 Auto Scaling (p. 267)
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Instance-launch Lifecycle Action",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "yyyy-mm-ddThh:mm:ssZ",
"region": "us-west-2",
"resources": [
"auto-scaling-group-arn"
],
"detail": {
"LifecycleActionToken": "87654321-4321-4321-4321-210987654321",
"AutoScalingGroupName": "my-asg",
"LifecycleHookName": "my-lifecycle-hook",
"EC2InstanceId": "i-1234567890abcdef0",
"LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING",
"NotificationMetadata": "additional-info"
}
}
264
Auto Scaling de Amazon EC2 Guía del usuario
Eventos de Auto Scaling
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Instance Launch Successful",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "yyyy-mm-ddThh:mm:ssZ",
"region": "us-west-2",
"resources": [
"auto-scaling-group-arn",
"instance-arn"
],
"detail": {
"StatusCode": "InProgress",
"Description": "Launching a new EC2 instance: i-12345678",
"AutoScalingGroupName": "my-auto-scaling-group",
"ActivityId": "87654321-4321-4321-4321-210987654321",
"Details": {
"Availability Zone": "us-west-2b",
"Subnet ID": "subnet-12345678"
},
"RequestId": "12345678-1234-1234-1234-123456789012",
"StatusMessage": "",
"EndTime": "yyyy-mm-ddThh:mm:ssZ",
"EC2InstanceId": "i-1234567890abcdef0",
"StartTime": "yyyy-mm-ddThh:mm:ssZ",
"Cause": "description-text"
}
}
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Instance Launch Unsuccessful",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "yyyy-mm-ddThh:mm:ssZ",
"region": "us-west-2",
"resources": [
"auto-scaling-group-arn",
"instance-arn"
],
"detail": {
"StatusCode": "Failed",
"AutoScalingGroupName": "my-auto-scaling-group",
"ActivityId": "87654321-4321-4321-4321-210987654321",
"Details": {
"Availability Zone": "us-west-2b",
"Subnet ID": "subnet-12345678"
},
"RequestId": "12345678-1234-1234-1234-123456789012",
265
Auto Scaling de Amazon EC2 Guía del usuario
Eventos de Auto Scaling
"StatusMessage": "message-text",
"EndTime": "yyyy-mm-ddThh:mm:ssZ",
"EC2InstanceId": "i-1234567890abcdef0",
"StartTime": "yyyy-mm-ddThh:mm:ssZ",
"Cause": "description-text"
}
}
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Instance-terminate Lifecycle Action",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "yyyy-mm-ddThh:mm:ssZ",
"region": "us-west-2",
"resources": [
"auto-scaling-group-arn"
],
"detail": {
"LifecycleActionToken":"87654321-4321-4321-4321-210987654321",
"AutoScalingGroupName":"my-asg",
"LifecycleHookName":"my-lifecycle-hook",
"EC2InstanceId":"i-1234567890abcdef0",
"LifecycleTransition":"autoscaling:EC2_INSTANCE_TERMINATING",
"NotificationMetadata":"additional-info"
}
}
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Instance Terminate Successful",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "yyyy-mm-ddThh:mm:ssZ",
"region": "us-west-2",
"resources": [
"auto-scaling-group-arn",
"instance-arn"
],
"detail": {
"StatusCode": "InProgress",
266
Auto Scaling de Amazon EC2 Guía del usuario
Eventos de Auto Scaling
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Instance Terminate Unsuccessful",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "yyyy-mm-ddThh:mm:ssZ",
"region": "us-west-2",
"resources": [
"auto-scaling-group-arn",
"instance-arn"
],
"detail": {
"StatusCode": "Failed",
"AutoScalingGroupName": "my-auto-scaling-group",
"ActivityId": "87654321-4321-4321-4321-210987654321",
"Details": {
"Availability Zone": "us-west-2b",
"Subnet ID": "subnet-12345678"
},
"RequestId": "12345678-1234-1234-1234-123456789012",
"StatusMessage": "message-text",
"EndTime": "yyyy-mm-ddThh:mm:ssZ",
"EC2InstanceId": "i-1234567890abcdef0",
"StartTime": "yyyy-mm-ddThh:mm:ssZ",
"Cause": "description-text"
}
}
267
Auto Scaling de Amazon EC2 Guía del usuario
UsoAWS LambdaPara controlar eventos
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012",
"detail-type": "EC2 Auto Scaling Instance Refresh Checkpoint Reached",
"source": "aws.autoscaling",
"account": "123456789012",
"time": "yyyy-mm-ddThh:mm:ssZ",
"region": "us-west-2",
"resources": [
"auto-scaling-group-arn"
],
"detail": {
"InstanceRefreshId": "ab00cf8f-9126-4f3c-8010-dbb8cad6fb86",
"AutoScalingGroupName": "my-auto-scaling-group",
"CheckpointPercentage": "50",
"CheckpointDelay": "300"
}
}
Para ayudarle a comenzar a utilizar Lambda, siga el siguiente procedimiento. En esta sección se muestra
cómo crear una función de Lambda y una regla de EventBridge que provoca que todos los eventos de
inicio y finalización de instancias se registren en los Amazon CloudWatch Logs.
Para obtener un tutorial paso a paso que muestra cómo crear una función de Lambda para realizar
acciones de ciclo de vida, consulteTutorial: Configure un enlace de ciclo de vida que invoque una función
Lambda (p. 195). En este tutorial se describe cómo familiarizarse con los enlaces de ciclo de vida. Con los
enlaces del ciclo de vida, puede usar Lambda para realizar tareas en instancias antes de que se pongan
en servicio o antes de que se terminen.
console.log('Loading function');
268
Auto Scaling de Amazon EC2 Guía del usuario
UsoAWS LambdaPara controlar eventos
c. En Role (Rol), elija Choose an existing role (Elegir un rol existente). En Existing role (Rol
existente), seleccione su rol de ejecución básico. De lo contrario, cree un rol de ejecución básico.
d. (Opcional) En Advanced settings, realice los cambios necesarios.
e. Elija Next (Siguiente).
6. En la página Review, seleccione Create function.
También puede crear una regla que utilice un patrón de eventos personalizado para
detectar y actuar únicamente sobre un subconjunto de eventos de Auto Scaling
de Amazon EC2. Este subconjunto se puede basar en campos específicos que
Amazon EC2 Auto Scaling incluye en sus eventos. Para obtener más información,
consultePatronesen laGuía del usuario de Amazon EventBridge. Para ver un ejemplo de
patrón de eventos, consultePaso 3: Crear una regla de EventBridge (p. 197)En el tutorial
de enlaces de ciclo de vida.
c. Paraproveedor de servicios, elijaAmazon Web Services.
d. En Service Name, elija Auto Scaling.
e. En Event Type (Tipo de evento), seleccione Instance Launch and Terminate (Lanzamiento y
terminación de la instancia).
f. Para capturar todos los eventos de lanzamiento y terminación de instancia que se hayan realizado
correctamente o que no lo hayan hecho, elija Any instance event (Cualquier evento de instancia).
g. De forma predeterminada, la regla coincide con cualquier grupo de Auto Scaling en la región.
Para que la regla coincida con un grupo de Auto Scaling, elijaNombre de grupo específicoy
seleccione uno o varios grupos de Auto Scaling.
6. En Select event bus (Seleccionar bus de eventos), elija AWS default event bus (Bus de eventos
predeterminado). Cuando un servicio de AWS en su cuenta emite un evento, siempre va al bus de
eventos predeterminado de su cuenta.
7. En Target (Destino), elijaLambda function (Función Lambda).
8. En Function (Función), seleccione la función Lambda que ha creado.
9. Seleccione Create (Crear).
269
Auto Scaling de Amazon EC2 Guía del usuario
Creación de reglas de EventBridge
por ejemplo eventos de actualización
Para probar la regla, cambie el tamaño de su grupo de Auto Scaling. Si ha utilizado el código de ejemplo
para su función de Lambda, se registra el evento en CloudWatch Logs.
Para obtener más información, consulteCreación de un tema sobre Amazon SNSen laGuía del
desarrollador de Amazon Simple Notification Service.
Para obtener más información, consulteSuscribirse a un tema sobre Amazon SNSen laGuía del
desarrollador de Amazon Simple Notification Service.
270
Auto Scaling de Amazon EC2 Guía del usuario
Creación de reglas de EventBridge
por ejemplo eventos de actualización
Asegúrese de abrir el correo electrónico desdeAWSPara recibir notificaciones y elegir el enlace para
confirmar la suscripción antes de continuar con el siguiente paso.
Recibirá un mensaje de confirmación deAWS. Amazon SNS está ahora configurado para recibir
notificaciones y enviar la notificación como un correo electrónico a la dirección de correo electrónico
especificada.
Para crear una regla que enrute los eventos a su tema de Amazon SNS
271
Auto Scaling de Amazon EC2 Guía del usuario
Protección de los datos
Esta documentación le ayuda a comprender cómo puede aplicar el modelo de responsabilidad compartida
cuando se utiliza Amazon EC2 Auto Scaling. En los siguientes temas, se le mostrará cómo configurar
Amazon EC2 Auto Scaling para satisfacer sus objetivos de seguridad y conformidad. También puede
aprender a utilizar otrosAWSque le ayudan a monitorear y proteger los recursos de Auto Scaling de
Amazon EC2.
Temas
• Auto Scaling de Amazon EC2 y protección de datos (p. 272)
• Auto Scaling de Amazon EC2 (p. 273)
• Validación de conformidad de Amazon EC2 Auto Scaling (p. 305)
• Resiliencia en Auto Scaling de Amazon EC2 (p. 306)
• Seguridad de la infraestructura en Amazon EC2 Auto Scaling (p. 306)
• Puntos de conexión de la VPC de tipo interfaz y escala de Amazon EC2 (p. 307)
Para fines de protección de datos, recomendamos proteger Cuenta de AWS y configurar cuentas de
usuario individuales conAWS Identity and Access Management(IAM). De esta manera, solo se otorgan
a cada usuario los permisos necesarios para cumplir con sus obligaciones laborales. También le
recomendamos proteger sus datos de las siguientes formas:
272
Auto Scaling de Amazon EC2 Guía del usuario
Uso deAWS KMS keysPara cifrar
volúmenes de Amazon EBS
También puede configurar un CMK administrado por el cliente en su AMI respaldada por EBS antes
de configurar una plantilla de lanzamiento o configuración de lanzamiento, o utilizar el cifrado de forma
predeterminada para aplicar el cifrado de los nuevos volúmenes de EBS y copias de instantáneas que
cree.
Para obtener información acerca de cómo configurar la directiva de clave que necesita para iniciar
instancias de Auto Scaling cuando utiliza un CMK administrado por el cliente para el cifrado,
consultePolítica de claves CMK necesarias para su uso con volúmenes cifrados (p. 301). Para obtener
información acerca de cómo crear, almacenar y administrar suAWS KMSclaves de cifrado, consulte¿Qué
es ?AWS¿Key Management Service?
Temas relacionados
• Proteger los datos en Amazon EC2en laGuía del usuario de Amazon EC2 para instancias de Linux
• Usar el cifrado con las AMI con respaldo de EBSen laGuía del usuario de Amazon EC2 para instancias
de Linux
• Cifrado de forma predeterminadaen laGuía del usuario de Amazon EC2 para instancias de Linux
273
Auto Scaling de Amazon EC2 Guía del usuario
Control de acceso
AWS Identity and Access Management (IAM) es un servicio de AWS que ayuda al administrador a
controlar de forma segura el acceso a los recursos de AWS. Los administradores de IAM controlan quién
puedeautenticado(iniciado sesión) yAutorizado(tienen permisos) para utilizar recursos de Amazon EC2
Auto Scaling. IAM es un servicio de AWS que puede utilizar sin cargo adicional.
Para poder utilizar Amazon EC2 Auto Scaling, necesita Cuenta de AWS y credenciales de. Para
aumentar la seguridad de su cuenta de, le recomendamos que utilice unUsuario de IAMpara proporcionar
credenciales de acceso en lugar de usar su Cuenta de AWS Credenciales de . Para obtener más
información, consulte Cuenta de AWS credenciales de usuario raíz y credenciales de usuario de IAMen
laAWSReferencia general deyPrácticas recomendadas de IAMen laIAM User Guide.
Para obtener información general acerca de los usuarios de IAM y por qué son importantes para la
seguridad de su cuenta, consulteAWSCredenciales de seguridad deen laAWSReferencia general de.
Para obtener más información acerca de cómo trabajar con IAM, consulte laIAM User Guide.
Control de acceso
Aunque disponga de credenciales válidas para autenticar las solicitudes, si no tiene permisos, no podrá
crear recursos de Auto Scaling ni obtener acceso a ellos. Por ejemplo, debe disponer de permisos para
crear grupos de Auto Scaling, crear configuraciones de lanzamiento, etc.
En las secciones siguientes se incluyen detalles sobre cómo un administrador de IAM puede utilizar IAM
para ayudar a proteger sus recursos de Auto Scaling de Amazon EC2 controlando quién puede realizar
acciones de Auto Scaling de Amazon EC2.
Le recomendamos que lea primero los temas de Amazon EC2. ConsulteIdentity and Access Management
para Amazon EC2en laGuía del usuario de Amazon EC2 para instancias de Linux. Después de leer los
temas de esta sección, debe tener una buena idea de qué permisos de control de acceso ofrece Amazon
EC2 y cómo pueden encajar con los permisos de recursos de Auto Scaling de Amazon EC2.
Temas
• Cómo funciona Amazon EC2 Auto Scaling (p. 274)
• AWSPolíticas administradas para Amazon EC2 Auto Scaling (p. 279)
• Funciones vinculadas a servicios para Amazon EC2 Auto Scaling (p. 281)
• Ejemplos de políticas de Amazon EC2 Auto Scaling (p. 286)
• Soporte para plantillas de lanzamiento de (p. 295)
• Función de IAM para aplicaciones que se ejecutan en instancias Amazon EC2 (p. 300)
• Política de claves CMK necesarias para su uso con volúmenes cifrados (p. 301)
Se requieren permisos específicos de IAM y un rol vinculado a servicio de Amazon EC2 Auto
Scaling para que los usuarios puedan configurar grupos de Auto Scaling.
Contenido
• Políticas basadas en identidades de Amazon EC2 Auto Scaling (p. 275)
274
Auto Scaling de Amazon EC2 Guía del usuario
Cómo funciona Amazon EC2 Auto Scaling
Actions
Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué.
Es decir, qué entidad principal puede realizar acciones en qué recursos y bajo qué condiciones.
El elemento Action de una política JSON describe las acciones que puede utilizar para permitir o denegar
el acceso en una política. Las acciones de la política generalmente tienen el mismo nombre que la
operación de API de AWS asociada. Hay algunas excepciones, como acciones de solo permiso que no
tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones
en una política. Estas acciones adicionales se denominan acciones dependientes.
Incluya acciones en una política para conceder permisos para realizar la operación asociada.
Las acciones de políticas de Amazon EC2 Auto Scaling utilizan el siguiente prefijo antes de la acción:
autoscaling:. Las instrucciones de política deben incluirActionorNotActionElemento de. Amazon
EC2 Auto Scaling define su propio conjunto de acciones que describen las tareas que se pueden realizar
con este servicio.
Para especificar varias acciones en una única instrucción, sepárelas con comas como se muestra en el
siguiente ejemplo.
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup"
Puede utilizar caracteres comodín para especificar varias acciones (*). Por ejemplo, para especificar todas
las acciones que comiencen con la palabra Describe, incluya la siguiente acción.
"Action": "autoscaling:Describe*"
Para ver la lista de las acciones de Amazon EC2 Auto Scaling, consulteActionsen laReferencia a la API de
Auto Scaling de Amazon EC2.
275
Auto Scaling de Amazon EC2 Guía del usuario
Cómo funciona Amazon EC2 Auto Scaling
Resources
Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué.
Es decir, qué entidad principal puede realizar acciones en qué recursos y bajo qué condiciones.
El elemento Resource de la política JSON especifica el objeto u objetos a los que se aplica la acción.
Las instrucciones deben contener un elemento Resource o NotResource. Como práctica recomendada,
especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puede hacerlo para acciones
que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.
Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción,
utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.
"Resource": "*"
"Resource":
"arn:aws:autoscaling:region:123456789012:autoScalingGroup:uuid:autoScalingGroupName/asg-
name"
"Resource":
"arn:aws:autoscaling:region:123456789012:launchConfiguration:uuid:launchConfigurationName/
lc-name"
Para especificar un grupo de Auto Scaling con laCreateAutoScalingGroup, debe reemplazar el UID
por*Como se muestra en el siguiente.
"Resource":
"arn:aws:autoscaling:region:123456789012:autoScalingGroup:*:autoScalingGroupName/asg-name"
"Resource":
"arn:aws:autoscaling:region:123456789012:launchConfiguration:*:launchConfigurationName/lc-
name"
No todas las acciones de Amazon EC2 Auto Scaling admiten permisos de nivel de recurso. Para las
acciones que no admiten permisos de nivel de recursos, debe utilizar "*" como recurso.
Las siguientes acciones de Amazon EC2 Auto Scaling no admiten permisos de nivel de recurso.
• DescribeAccountLimits
• DescribeAdjustmentTypes
• DescribeAutoScalingGroups
• DescribeAutoScalingInstances
• DescribeAutoScalingNotificationTypes
276
Auto Scaling de Amazon EC2 Guía del usuario
Cómo funciona Amazon EC2 Auto Scaling
• DescribeInstanceRefreshes
• DescribeLaunchConfigurations
• DescribeLifecycleHooks
• DescribeLifecycleHookTypes
• DescribeLoadBalancers
• DescribeLoadBalancerTargetGroups
• DescribeMetricCollectionTypes
• DescribeNotificationConfigurations
• DescribePolicies
• DescribeScalingActivities
• DescribeScalingProcessTypes
• DescribeScheduledActions
• DescribeTags
• DescribeTerminationPolicyTypes
Para obtener información acerca de con qué acciones puede especificar los ARN de cada recurso,
consulteClaves de condición, recursos y acciones de Amazon EC2 Auto Scalingen laIAM User Guide.
Claves de condición
Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué.
Es decir, qué entidad principal puede realizar acciones en qué recursos y bajo qué condiciones.
El elemento Condition (o bloque de Condition) permite especificar condiciones en las que entra
en vigor una instrucción. El elemento Condition es opcional. Puede crear expresiones condicionales
que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política
coincida con los valores de la solicitud.
Si especifica varios elementos de Condition en una instrucción o varias claves en un único elemento de
Condition, AWS las evalúa mediante una operación AND lógica. Si especifica varios valores para una
única clave de condición, AWS evalúa la condición con una operación lógica OR. Se deben cumplir todas
las condiciones antes de que se concedan los permisos de la instrucción.
También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede
conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre
de usuario de IAM. Para obtener más información, consulte Elementos de la política de IAM: variables y
etiquetas en la Guía del usuario de IAM.
AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las
claves de condición globales de AWS, consulte Claves de contexto de condición globales de AWS en la
Guía del usuario de IAM.
Amazon EC2 Auto Scaling define su propio conjunto de claves de condición y también admite el uso de
algunas claves de condición globales. Para ver todas las claves de condición globales de AWS, consulte
Claves de contexto de condición globales de AWS en la Guía del usuario de IAM.
Las siguientes claves de condición son específicas de Amazon EC2 Auto Scaling:
• autoscaling:ImageId
• autoscaling:InstanceType
• autoscaling:InstanceTypes
• autoscaling:LaunchConfigurationName
• autoscaling:LaunchTemplateVersionSpecified
277
Auto Scaling de Amazon EC2 Guía del usuario
Cómo funciona Amazon EC2 Auto Scaling
• autoscaling:LoadBalancerNames
• autoscaling:MaxSize
• autoscaling:MetadataHttpEndpoint
• autoscaling:MetadataHttpPutResponseHopLimit
• autoscaling:MetadataHttpTokens
• autoscaling:MinSize
• autoscaling:ResourceTag/key
• autoscaling:SpotPrice
• autoscaling:TargetGroupARNs
• autoscaling:VPCZoneIdentifiers
Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave
de condición, consulteClaves de condición, recursos y acciones de Amazon EC2 Auto Scalingen laIAM
User Guide.
Para utilizar etiquetas con políticas de IAM, debe proporcionar información de etiquetas en laElemento de
condiciónde una política mediante las siguientes claves de condición:
Para consultar una política de ejemplo que controla quién puede eliminar las políticas de escalado basadas
en las etiquetas del grupo de Auto Scaling, consulteControlar qué políticas de escalado se pueden
eliminar (p. 290).
278
Auto Scaling de Amazon EC2 Guía del usuario
AWSPolíticas administradas por
Amazon EC2 Auto Scaling admite roles vinculados a servicios. Para obtener más información acerca de
cómo crear o administrar roles vinculados a servicios de Amazon EC2 Auto Scaling, consulteFunciones
vinculadas a servicios para Amazon EC2 Auto Scaling (p. 281).
Roles de servicio
Esta característica permite que un servicio asuma un rol de servicio en su nombre. Este rol permite que
el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Un
administrador de IAM puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la
funcionalidad del servicio.
Amazon EC2 Auto Scaling admite roles de servicio para notificaciones de enlace de ciclo de vida. Para
obtener más información, consulte Enganches de ciclo de vida de Amazon EC2 Auto Scaling (p. 184).
279
Auto Scaling de Amazon EC2 Guía del usuario
AWSPolíticas administradas por
por el cliente que proporcionen a su equipo solo los permisos necesarios. Para comenzar a hacerlo con
rapidez, puede utilizar nuestras políticas administradas por AWS. Estas políticas cubren casos de uso
comunes y están disponibles en su Cuenta de AWS . Para obtener más información acerca de las políticas
administradas por AWS, consulte Políticas administradas por AWS en la Guía del usuario de IAM.
Los servicios de AWS mantienen y actualizan las políticas administradas de AWS. No puede cambiar los
permisos de las políticas administradas de AWS. En ocasiones, los servicios agregan permisos a una
política administrada de AWS para admitir características nuevas. Este tipo de actualización afecta a todas
las identidades (usuarios, grupos y roles) donde se asocia la política. Es más probable que los servicios
actualicen una política administrada de AWS cuando se lanza una característica nueva o cuando estén
disponibles operaciones nuevas. Los servicios no eliminan permisos de una política administrada de AWS,
por lo que las actualizaciones de políticas no romperán los permisos existentes.
Además, AWS admite políticas administradas para funciones de trabajo que abarcan varios servicios. Por
ejemplo, la política administrada por AWS ReadOnlyAccess proporciona acceso de solo lectura a todos
los servicios y los recursos de AWS. Cuando un servicio inicia una nueva característica, AWS agrega
permisos de solo lectura para operaciones y recursos nuevos. Para obtener una lista y descripciones de
las políticas de funciones de trabajo, consulte Políticas administradas por AWS para funciones de trabajo
en la Guía del usuario de IAM.
• AutoScalingFullAccessOtorga acceso completo a Amazon EC2 Auto Scaling para los usuarios que
necesitan acceso completo de Amazon EC2 Auto Scaling desde laAWS CLIo SDK, pero noAWS
Management ConsoleObtener acceso a.
• AutoescalaciónReadOnlyAccess— Otorga acceso de sólo lectura a Amazon EC2 Auto Scaling para los
usuarios que solo realizan llamadas alAWS CLIo SDK de.
• AutoScalingConsoleFullAccess— Otorga acceso completo a Amazon EC2 Auto Scaling mediante laAWS
Management Console. Esta directiva funciona cuando se utilizan configuraciones de inicio, pero no
cuando se utilizan plantillas de inicio.
• AutoescalingConsoleReadOnlyAccessConcede acceso de solo lectura a Amazon EC2 Auto Scaling
mediante laAWS Management Console. Esta directiva funciona cuando se utilizan configuraciones de
inicio, pero no cuando se utilizan plantillas de inicio.
Cuando se utiliza plantillas de lanzamiento desde la consola, debe conceder permisos adicionales
específicos a las plantillas de lanzamiento, tal y como se explica enSoporte para plantillas de lanzamiento
de (p. 295). La consola de Amazon EC2 Auto Scaling necesita permisosec2para que pueda mostrar
información sobre las plantillas de inicio y las instancias de inicio mediante plantillas de inicio.
AutoScalingServiceRolePolicyAWSpolítica administrada
No se puede adjuntar.AutoScalingServiceRolePolicya sus entidades de IAM. Esta política se adjunta a
una función vinculada a servicios que permite que Amazon EC2 Auto Scaling inicie y termine instancias.
Para obtener más información, consulte Funciones vinculadas a servicios para Amazon EC2 Auto
Scaling (p. 281).
280
Auto Scaling de Amazon EC2 Guía del usuario
Roles vinculados a servicios
Amazon EC2 Auto Scaling Amazon EC2 Auto Scaling 19 de mayo de 2021
comenzó a realizar el comenzó a realizar
seguimiento de los cambios el seguimiento de los
cambiosAWSPolíticas
administradas de.
Los roles vinculados a servicios ofrecen una manera segura de delegar permisos a Amazon Web Services,
ya que solo los servicios vinculados pueden asumir roles vinculados a servicios. Para obtener más
información, consulte Usar roles vinculados a servicios en la Guía del usuario de IAM. Los roles vinculados
a servicios también permiten que todas las llamadas a la API puedan verse a través de AWS CloudTrail.
Esto ayuda a monitorizar y auditar los requisitos, ya que se puede hacer un seguimiento de todas las
acciones que realiza Amazon EC2 Auto Scaling en su nombre. Para obtener más información, consulte
Registro de llamadas a la API de Auto Scaling de Amazon EC2AWS CloudTrail (p. 257).
En las secciones siguientes, se describe cómo se crean y administran roles vinculados a servicio de
Amazon EC2 Auto Scaling. Comience configurando permisos para permitir a una entidad de IAM (como
un usuario, un grupo o un rol) crear, editar o eliminar la descripción de una función vinculada a un servicio.
Para obtener más información, consulte Usar roles vinculados a servicios en la Guía del usuario de IAM.
Contenido
• Overview (p. 281)
• Permisos concedidos por el rol vinculado a servicios (p. 282)
• Crear un rol vinculado a un servicio (automático) (p. 284)
• Crear un rol vinculado a un servicio (manual) (p. 284)
• Editar el rol vinculado a servicios (p. 285)
• Eliminar el rol vinculado a un servicio (p. 285)
• Regiones admitidas para roles vinculados a servicios de Amazon EC2 Auto Scaling (p. 286)
Overview
Hay dos tipos de roles vinculados a servicios de Amazon EC2 Auto Scaling:
281
Auto Scaling de Amazon EC2 Guía del usuario
Roles vinculados a servicios
Los permisos de un rol vinculado a servicios con un sufijo personalizado son idénticos a los del rol
vinculado a servicios predeterminado. En ninguno de los dos casos podrá editar los roles. Tampoco podrá
eliminarlos si hay un grupo de Auto Scaling que los está usando. La única diferencia es el sufijo del nombre
del rol.
Puede especificar o rol cuando editeAWS Key Management ServicePara permitir que las instancias
iniciadas por Amazon EC2 Auto Scaling se cifren con la CMK administrada por el cliente. Sin embargo,
si tiene previsto proporcionar acceso pormenorizado a una determinada CMK administrada por el cliente,
debe utilizar un rol vinculado a servicios con un sufijo personalizado. El uso de un rol vinculado a servicios
con un sufijo personalizado le ofrece:
Si crea las CMK administradas por el cliente de forma que no todos los usuarios tangan acceso a ella, siga
estos pasos para permitir el uso de un rol vinculado a servicios con un sufijo personalizado:
1. Cree un rol vinculado a servicios con un sufijo personalizado. Para obtener más información, consulte
Crear un rol vinculado a un servicio (manual) (p. 284).
2. Proporcione al rol vinculado a servicios acceso a una CMK administrada por el cliente. Para obtener
más información acerca de la política de claves que permite que un rol vinculado a servicios utilice la
CMK, consulte Política de claves CMK necesarias para su uso con volúmenes cifrados (p. 301).
3. Dé acceso a los usuarios o roles de IAM al rol vinculado al servicio que creó. Para obtener más
información acerca de la creación de la política de IAM, consulteControlar el rol vinculado a servicios
que se puede pasar (usando PassRole) (p. 294). Si los usuarios intentan especificar un rol vinculado a
servicios sin permiso para transferir ese rol al servicio, recibirán un error.
La política de permisos del rol permite que Amazon EC2 Auto Scaling realice las siguientes acciones en los
recursos.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"EC2InstanceManagement",
"Effect":"Allow",
"Action":[
"ec2:AttachClassicLinkVpc",
"ec2:CancelSpotInstanceRequests",
"ec2:CreateFleet",
"ec2:CreateTags",
"ec2:DeleteTags",
"ec2:Describe*",
"ec2:DetachClassicLinkVpc",
282
Auto Scaling de Amazon EC2 Guía del usuario
Roles vinculados a servicios
"ec2:ModifyInstanceAttribute",
"ec2:RequestSpotInstances",
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances"
],
"Resource":"*"
},
{
"Sid":"EC2InstanceProfileManagement",
"Effect":"Allow",
"Action":[
"iam:PassRole"
],
"Resource":"*",
"Condition":{
"StringLike":{
"iam:PassedToService":"ec2.amazonaws.com*"
}
}
},
{
"Sid":"EC2SpotManagement",
"Effect":"Allow",
"Action":[
"iam:CreateServiceLinkedRole"
],
"Resource":"*",
"Condition":{
"StringEquals":{
"iam:AWSServiceName":"spot.amazonaws.com"
}
}
},
{
"Sid":"ELBManagement",
"Effect":"Allow",
"Action":[
"elasticloadbalancing:Register*",
"elasticloadbalancing:Deregister*",
"elasticloadbalancing:Describe*"
],
"Resource":"*"
},
{
"Sid":"CWManagement",
"Effect":"Allow",
"Action":[
"cloudwatch:DeleteAlarms",
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"cloudwatch:PutMetricAlarm"
],
"Resource":"*"
},
{
"Sid":"SNSManagement",
"Effect":"Allow",
"Action":[
"sns:Publish"
],
"Resource":"*"
},
{
"Sid":"EventBridgeRuleManagement",
283
Auto Scaling de Amazon EC2 Guía del usuario
Roles vinculados a servicios
"Effect":"Allow",
"Action":[
"events:PutRule",
"events:PutTargets",
"events:RemoveTargets",
"events:DeleteRule",
"events:DescribeRule"
],
"Resource":"*",
"Condition":{
"StringEquals":{
"events:ManagedBy":"autoscaling.amazonaws.com"
}
}
}
]
}
Debe disponer de permisos de IAM para crear el rol vinculado al servicio. De lo contrario, la
creación automática no se lleva a cabo. Para obtener más información, consultePermisos de roles
vinculados a serviciosen laIAM User GuideyPermisos necesarios para crear un rol vinculado a un
servicio (p. 293)en esta guía.
Amazon EC2 Auto Scaling comenzó a admitir roles vinculados a servicios en marzo de 2018. Si antes creó
un grupo de Auto Scaling, Amazon EC2 Auto Scaling creó elAWSServiceRoleForAutoScalingen la cuenta
de. Para obtener más información, consulteUn nuevo rol ha aparecido en mi Cuenta de AWS en laIAM
User Guide.
284
Auto Scaling de Amazon EC2 Guía del usuario
Roles vinculados a servicios
El resultado de este comando incluye el ARN del rol vinculado a servicios, que puede utilizar para
conceder a este acceso a su CMK.
{
"Role": {
"RoleId": "ABCDEF0123456789ABCDEF",
"CreateDate": "2018-08-30T21:59:18Z",
"RoleName": "AWSServiceRoleForAutoScaling_suffix",
"Arn": "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/
AWSServiceRoleForAutoScaling_suffix",
"Path": "/aws-service-role/autoscaling.amazonaws.com/",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sts:AssumeRole"
],
"Principal": {
"Service": [
"autoscaling.amazonaws.com"
]
},
"Effect": "Allow"
}
]
}
}
}
Para obtener más información, consulteCrear un rol vinculado a un servicio ()en laIAM User Guide.
Solo puede eliminar un rol vinculado a un servicio después de eliminar los recursos dependientes
relacionados. De este modo, evitará también que pueda revocar por accidente los permisos de Auto
Scaling de Amazon EC2 Auto Scaling en los recursos. Si un rol vinculado a un servicio se utiliza con varios
grupos de Auto Scaling, debe eliminar todos los grupos de Auto Scaling que utilicen ese rol vinculado al
servicio para poder eliminarlo. Para obtener más información, consulte Eliminación de la infraestructura de
Auto Scaling (p. 119).
285
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
Puede utilizar IAM para eliminar un rol vinculado a un servicio. Para obtener más información, consulte
Eliminación de un rol vinculado a servicios en la Guía del usuario de IAM.
Para obtener más información acerca de cómo crear una política basada en identidad de IAM con estos
documentos de políticas de JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la
Guía del usuario de IAM.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup",
"autoscaling:DeleteAutoScalingGroup"
],
"Resource": "*",
"Condition": {
"StringEquals": { "autoscaling:ResourceTag/environment": "test" }
}
},
{
"Effect": "Allow",
"Action": [
"autoscaling:*LaunchConfiguration*",
"autoscaling:Describe*"
],
"Resource": "*"
}]
}
Esta política de ejemplo concede a los usuarios permisos para crear, modificar y eliminar grupos de
Auto Scaling, pero solo si el grupo utiliza la etiquetaenvironment=test. Como las configuraciones de
lanzamiento no admiten etiquetas y las acciones Describe no admiten permisos de nivel de recursos,
debe especificarlos en una instrucción aparte sin condiciones. Para obtener más información acerca de
los elementos de una instrucción de política de IAM, consultePolíticas basadas en identidades de Amazon
EC2 Auto Scaling (p. 275).
286
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
Contenido
• Prácticas recomendadas relativas a políticas (p. 287)
• Ejemplos de políticas administradas por el cliente (p. 288)
• Controlar qué claves de etiqueta y valores de etiqueta se pueden usar (p. 288)
• Control del acceso a los recursos de Auto Scaling en función de las etiquetas (p. 289)
• Controlar el acceso a la creación y administración de grupos de Auto Scaling y
políticas de escalado (p. 289)
• Controlar qué políticas de escalado se pueden eliminar (p. 290)
• Controlar la capacidad mínima y máxima de los grupos de Auto Scaling (p. 290)
• Controlar qué roles de IAM se pueden transferir (usando PassRole) (p. 291)
• Permitir a los usuarios cambiar la capacidad de los grupos Auto Scaling (p. 291)
• Permitir a los usuarios crear y utilizar configuraciones de inicio (p. 292)
• Permitir a los usuarios crear y utilizar plantillas de inicio (p. 293)
• Permisos necesarios para crear un rol vinculado a un servicio (p. 293)
• Controlar el rol vinculado a servicios que se puede pasar (usando PassRole) (p. 294)
• Permisos necesarios para la API (p. 294)
• Empiece a trabajar conAWSPolíticas administradas dePara empezar a utilizar Amazon EC2 Auto
ScalingAWSLas políticas administradas de para proporcionar a los empleados los permisos necesarios.
Estas políticas ya están disponibles en su cuenta y las mantiene y actualiza AWS. Para obtener más
información, consulte Introducción sobre el uso de permisos con políticas administradas por AWS en la
Guía del usuario de IAM.
• Conceder privilegios mínimos: al crear políticas personalizadas, conceda solo los permisos necesarios
para llevar a cabo una tarea. Comience con un conjunto mínimo de permisos y conceda permisos
adicionales según sea necesario. Por lo general, es más seguro que comenzar con permisos que son
demasiado tolerantes e intentar hacerlos más severos más adelante. Para obtener más información,
consulte Conceder privilegios mínimos en la Guía del usuario de IAM.
• Habilitar la MFA para operaciones confidenciales: para mayor seguridad, obligue a los usuarios de IAM a
utilizar Multi-Factor Authentication (MFA) para acceder a recursos u operaciones de API confidenciales.
Para obtener más información, consulte Uso de la autenticación multifactor (MFA) en AWS en la Guía
del usuario de IAM.
• Utilizar condiciones de política para mayor seguridad: en la medida en que sea práctico, defina las
condiciones en las que las políticas basadas en identidades permitan el acceso a un recurso. Por
ejemplo, puede escribir condiciones para especificar un rango de direcciones IP permitidas desde el
que debe proceder una solicitud. También puede escribir condiciones para permitir solicitudes solo
en un intervalo de hora o fecha especificado o para solicitar el uso de SSL o MFA. Para obtener más
información, consulteElemento de la política de IAM JSON: Condiciónen laIAM User Guide.
Note
Algunas acciones de la API de Auto Scaling de Amazon EC2 permiten incluir en la política grupos
de Auto Scaling específicos que la acción puede crear o modificar. Puede restringir los recursos
de destino para estas acciones especificando los ARN de grupo de Auto Scaling. Sin embargo,
287
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
como práctica recomendada, se sugiere utilizar políticas basadas en etiquetas que permitan o
denieguen acciones en grupos de Auto Scaling con una etiqueta específica.
Si es la primera vez que crea una política, le recomendamos que, en primer lugar, cree un usuario de
IAM en su cuenta y, después, asocie las políticas al usuario. Puede utilizar la consola para comprobar los
efectos de cada política a medida que asocia la política al usuario.
Al crear y actualizar grupos de Auto Scaling, algunas acciones requieren que se lleven a cabo otras
acciones. Puede especificar estas otras acciones en laActionElemento de una declaración de política de
IAM. Por ejemplo, hay acciones de API adicionales para Elastic Load Balancing, CloudWatch y Amazon
SNS que pueden ser necesarias en función del acceso que desee proporcionar a un usuario.
Temas
• Controlar qué claves de etiqueta y valores de etiqueta se pueden usar (p. 288)
• Control del acceso a los recursos de Auto Scaling en función de las etiquetas (p. 289)
• Controlar la capacidad mínima y máxima de los grupos de Auto Scaling (p. 290)
• Controlar qué roles de IAM se pueden transferir (usando PassRole) (p. 291)
• Permitir a los usuarios cambiar la capacidad de los grupos Auto Scaling (p. 291)
• Permitir a los usuarios crear y utilizar configuraciones de inicio (p. 292)
• Permitir a los usuarios crear y utilizar plantillas de inicio (p. 293)
Para conceder a los usuarios permisos para crear o etiquetar un grupo de Auto Scaling únicamente si
proporcionan etiquetas específicas, utilice laaws:RequestTagClave de condición de. Para permitir
únicamente claves de etiqueta específicas, utilice la clave de condición aws:TagKeys con el modificador
ForAllValues.
La siguiente política requiere que los usuarios especifiquen una etiqueta con la clave environment en la
solicitud. El valor "?*" exige que haya algún valor para la clave de etiqueta. Para utilizar un valor comodín,
debe utilizar el operador de condición StringLike.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:CreateOrUpdateTags"
],
"Resource": "*",
"Condition": {
"StringLike": { "aws:RequestTag/environment": "?*" }
}
}]
288
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
La siguiente directiva especifica que los usuarios solo pueden etiquetar grupos de Auto Scaling con las
etiquetaspurpose=webserverycost-center=cc123, y solo permite elpurposeycost-center(no se
pueden especificar otras etiquetas).
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:CreateOrUpdateTags"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/purpose": "webserver",
"aws:RequestTag/cost-center": "cc123"
},
"ForAllValues:StringEquals": { "aws:TagKeys": ["purpose", "cost-center"] }
}
}]
}
La siguiente política requiere que los usuarios especifiquen al menos una etiqueta en la solicitud y permite
únicamente las claves cost-center y owner.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:CreateOrUpdateTags"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": { "aws:TagKeys": ["cost-center", "owner"] }
}
}]
}
Note
En cuanto a las condiciones, la clave de condición no distingue entre mayúsculas y minúsculas,
mientras que el valor de condición sí. Por lo tanto, para aplicar la distinción entre mayúsculas y
minúsculas de una clave de etiqueta, utilice la clave de condición aws:TagKeys, donde la clave
de etiqueta se especifica como valor en la condición.
Control del acceso a los recursos de Auto Scaling en función de las etiquetas
También puede proporcionar información de etiquetas en las políticas de IAM para controlar
el acceso en función de las etiquetas asociadas al grupo de Auto Scaling mediante
laautoscaling:ResourceTagClave de condición de.
289
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["autoscaling:*Scaling*"],
"Resource": "*",
"Condition": {
"StringEquals": { "autoscaling:ResourceTag/purpose": "webserver" }
}
},
{
"Effect": "Allow",
"Action": "autoscaling:Describe*Scaling*",
"Resource": "*"
}]
}
La siguiente política permite a los usuarios utilizar la acción autoscaling:DeletePolicy para eliminar
una política de escalado. Sin embargo, también deniega la acción si el grupo de Auto Scaling sobre el que
se actúa tiene la etiquetaenvironment=production.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "autoscaling:DeletePolicy",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": "autoscaling:DeletePolicy",
"Resource": "*",
"Condition": {
"StringEquals": { "autoscaling:ResourceTag/environment": "production" }
}
}]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup"
],
290
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
"Resource": "*",
"Condition": {
"StringEquals": { "autoscaling:ResourceTag/allowed": "true" },
"NumericGreaterThanEqualsIfExists": { "autoscaling:MinSize": 1 },
"NumericLessThanEqualsIfExists": { "autoscaling:MaxSize": 10 }
}
}]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::123456789012:role/qateam-*",
"Condition": {
"StringEquals": {
"iam:PassedToService": [
"ec2.amazonaws.com",
"ec2.amazonaws.com.cn"
]
}
}
}
]
}
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"autoscaling:SetDesiredCapacity",
"autoscaling:TerminateInstanceInAutoScalingGroup"
],
"Resource": "*"
}]
}
Si no utiliza etiquetas para controlar el acceso a los grupos de Auto Scaling, puede ajustar la instrucción
anterior para conceder a los usuarios permisos para cambiar la capacidad solo de los grupos de Auto
Scaling cuyo nombre comienza pordevteam-. Para obtener más información sobre cómo especificar el
valor de ARN, consulte Resources (p. 276).
291
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
"Resource":
"arn:aws:autoscaling:region:123456789012:autoScalingGroup:*:autoScalingGroupName/devteam-
*"
También puede especificar varios ARN incluyéndolos en una lista. Al incluir el UUUUUID se garantiza que
el acceso se conceda al grupo de Auto Scaling especificado. El UUID de un grupo nuevo es distinto del
UUID de un grupo eliminado que tenía el mismo nombre.
"Resource": [
"arn:aws:autoscaling:region:123456789012:autoScalingGroup:7fe02b8e-7442-4c9e-8c8e-85fa99e9b5d9:autoSca
devteam-1",
"arn:aws:autoscaling:region:123456789012:autoScalingGroup:9d8e8ea4-22e1-44c7-
a14d-520f8518c2b9:autoScalingGroupName/devteam-2",
"arn:aws:autoscaling:region:123456789012:autoScalingGroup:60d6b363-
ae8b-467c-947f-f1d308935521:autoScalingGroupName/devteam-3"
]
La última parte de la instrucción concede a los usuarios permisos para describir las configuraciones de
lanzamiento y acceder a determinados recursos de Amazon EC2 en su cuenta. Esto proporciona a los
usuarios permisos mínimos para crear y administrar configuraciones de lanzamiento desde la consola de
Amazon EC2 Auto Scaling.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "autoscaling:CreateLaunchConfiguration",
"Resource":
"arn:aws:autoscaling:region:123456789012:launchConfiguration:*:launchConfigurationName/
qateam-*",
"Condition": {
"StringEquals": { "autoscaling:InstanceType": "t2.micro" }
}
},
{
"Effect": "Allow",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup"
],
"Resource": "*",
"Condition": {
"StringLikeIfExists": { "autoscaling:LaunchConfigurationName": "qateam-*" }
}
},
{
"Effect": "Allow",
"Action": [
"autoscaling:DescribeLaunchConfigurations",
"ec2:DescribeImages",
"ec2:DescribeVolumes",
292
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
"ec2:DescribeInstances",
"ec2:DescribeInstanceAttribute",
"ec2:DescribeKeyPairs",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeSpotPriceHistory",
"ec2:DescribeVpcClassicLink",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets"
],
"Resource": "*"
}]
}
Puede agregar acciones de la API a esta política para proporcionar más opciones para los usuarios; por
ejemplo:
Para que la creación automática de roles se realice correctamente, los usuarios deben disponer de
permisos para la acción iam:CreateServiceLinkedRole.
"Action": "iam:CreateServiceLinkedRole"
A continuación se muestra un ejemplo de una política de permisos que permite a un usuario crear un rol
vinculado al servicio de Amazon EC2 Auto Scaling para Amazon EC2 Auto Scaling.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:CreateServiceLinkedRole",
"Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/
AWSServiceRoleForAutoScaling",
"Condition": {
"StringLike": {
"iam:AWSServiceName":"autoscaling.amazonaws.com"
}
}
}
]
}
293
Auto Scaling de Amazon EC2 Guía del usuario
Ejemplos de políticas basadas en identidades
El siguiente ejemplo es útil para facilitar la seguridad de sus CMK administradas por el cliente
si da acceso de diferentes roles vinculados a servicios a diferentes claves. En función de sus
necesidades, es posible que tenga una CMK para el equipo de desarrollo, otra para el equipo
de control de calidad y otra para el equipo de finanzas. En primer lugar, cree un rol vinculado al
servicio que tenga acceso a la CMK necesaria, por ejemplo, un rol vinculado al servicio llamado
AWSServiceRoleForAutoScaling_devteamkeyaccess. A continuación, para conceder permisos
para transferir ese rol vinculado a servicios a un grupo de Auto Scaling, asocie la política a los usuarios de
IAM, tal y como se muestra.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::123456789012:role/aws-service-role/
autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_devteamkeyaccess",
"Condition": {
"StringEquals": {
"iam:PassedToService": [
"autoscaling.amazonaws.com"
]
},
"StringLike": {
"iam:AssociatedResourceARN": [
"arn:aws:autoscaling:region:123456789012:autoScalingGroup:*:autoScalingGroupName/devteam-
*"
]
}
}
}
]
}
• autoscaling:CreateAutoScalingGroup
294
Auto Scaling de Amazon EC2 Guía del usuario
Soporte para plantillas de lanzamiento de
• autoscaling:CreateAutoScalingGroup
• ec2:RunInstances
• iam:CreateServiceLinkedRole (Necesario si está utilizando el rol vinculado al servicio
predeterminado y ese rol aún no existe)
• autoscaling:UpdateAutoScalingGroup
• ec2:RunInstances
• autoscaling:CreateLaunchConfiguration
• ec2:DescribeImages
• ec2:DescribeInstances
• ec2:DescribeInstanceAttribute
• ec2:DescribeKeyPairs
• ec2:DescribeSecurityGroups
• ec2:DescribeSpotInstanceRequests
• ec2:DescribeVpcClassicLink
Puede utilizar elAmazonEC2FullAccessPara conceder a los usuarios acceso completo para trabajar con
recursos de Amazon EC2 Auto Scaling, plantillas de lanzamiento y otros recursos de EC2 de su cuenta. O
puede crear sus propias políticas de IAM personalizadas para conceder a los usuarios permisos detallados
para trabajar con acciones de la API específicas.
Utilice las políticas del ejemplo que se muestran a continuación para conceder a los usuarios permisos
para trabajar con plantillas de lanzamiento, a no ser que otra política ya les conceda permiso para hacerlo.
No es necesario conceder estos permisos a los usuarios que solo crean grupos de Auto Scaling a partir de
configuraciones de lanzamiento (una característica anterior de Auto Scaling de Amazon EC2).
Para obtener más información acerca de las políticas de IAM para Amazon EC2, consultePolíticas de
IAMen laGuía del usuario de Amazon EC2 para instancias de Linux.
Contenido
• Ejemplo 1: Controlar el acceso mediante permisos de nivel de recursos (p. 293)
• Ejemplo 2: Permitir a los usuarios crear y administrar plantillas de lanzamiento y versiones de plantillas
de lanzamiento (p. 298)
• Ejemplo 3: Requiere el uso de servicios de metadatos de instancia versión 2 (IMDSv2) (p. 298)
295
Auto Scaling de Amazon EC2 Guía del usuario
Soporte para plantillas de lanzamiento de
Un usuario o rol de IAM que cree o actualice un grupo de Auto Scaling mediante una plantilla de
lanzamiento debe tener permiso para utilizar laec2:RunInstancesaction. Los usuarios sin este permiso
reciben un error que indica que no están autorizados a utilizar la plantilla de lanzamiento.
En el ejemplo siguiente se utilizan permisos de nivel de recurso para restringir el acceso a plantillas
de lanzamiento específicas. También muestra algunas de las muchas formas posibles de controlar
la configuración de una instancia que un usuario puede lanzar cuando se concede el permiso
ec2:RunInstances.
• La primera instrucción restringe el acceso del usuario a las plantillas de lanzamiento que se encuentran
en la región especificada y que tienen la etiqueta environment=test.
• La segunda instrucción permite a los usuarios etiquetar instancias y volúmenes cuando estos se crean.
Esta parte es necesaria si hay etiquetas especificadas en la plantilla de lanzamiento.
• La tercera instrucción requiere que los usuarios lancen instancias en una subred específica
(subnet-1a2b3c4d), utilizando un grupo de seguridad específico (sg-903004f88example) y una
AMI específica (ami-04d5cc9b88example). También concede a los usuarios acceso a recursos
adicionales que necesitan para lanzar instancias: interfaces de red y volúmenes.
• La cuarta instrucción permite a los usuarios lanzar instancias solo de un tipo de instancia específico
(t2.micro).
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:region:123456789012:launch-template/*",
"Condition": {
"StringEquals": { "ec2:ResourceTag/environment": "test" }
}
},
{
"Effect": "Allow",
"Action": "ec2:CreateTags",
"Resource": "arn:aws:ec2:region:123456789012:*/*",
"Condition": {
"StringEquals": { "ec2:CreateAction": "RunInstances" }
}
},
296
Auto Scaling de Amazon EC2 Guía del usuario
Soporte para plantillas de lanzamiento de
{
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": [
"arn:aws:ec2:region:123456789012:subnet/subnet-1a2b3c4d",
"arn:aws:ec2:region:123456789012:security-group/sg-903004f88example",
"arn:aws:ec2:region:123456789012:network-interface/*",
"arn:aws:ec2:region:123456789012:volume/*",
"arn:aws:ec2:region::image/ami-04d5cc9b88example"
]
},
{
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:region:123456789012:instance/*",
"Condition": {
"StringEquals": { "ec2:InstanceType": "t2.micro" }
}
}
]
}
Además, puede crear una política de IAM para limitar el acceso de los usuarios de modo que no puedan
utilizar configuraciones de lanzamiento al crear grupos de Auto Scaling. Si lo desea, también puede
requerir que establezcan la versión específica que se va a utilizar para asegurarse de que los permisos de
IAM para las acciones que se completarán al lanzar instancias se comprueben siempre que los grupos de
Auto Scaling se actualicen para utilizar una nueva versión.
Las instrucciones siguientes conceden a los usuarios permisos para crear o actualizar un grupo de Auto
Scaling si proporcionan una plantilla de lanzamiento. Si omiten el número de versión para especificar
la versión de la plantilla de lanzamiento Latest o Default o para especificar una configuración de
lanzamiento en su lugar, se producirá un error en la acción.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup"
],
"Resource": "*",
"Condition": {
"Bool": { "autoscaling:LaunchTemplateVersionSpecified": "true" }
}
},
{
"Effect": "Deny",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup"
],
"Resource": "*",
"Condition": {
"Null": { "autoscaling:LaunchConfigurationName": "false" }
}
}
]
}
Como alternativa, puede requerir que los usuarios especifiquen la versión Latest o Default de la
plantilla de lanzamiento, en lugar de una versión específica de la plantilla. Para ello, cambie el valor
297
Auto Scaling de Amazon EC2 Guía del usuario
Soporte para plantillas de lanzamiento de
"Condition": {
"Bool": { "autoscaling:LaunchTemplateVersionSpecified": "false" }
}
Para los grupos que están configurados para usar elLatestorDefaultAl crear una nueva
versión de plantilla de lanzamiento, Amazon EC2 Auto Scaling no comprueba los permisos para
las acciones que se deben completar al lanzar instancias cuando se crea una nueva versión de la
plantilla de lanzamiento. Esta es una consideración importante cuando se configuran los permisos
para quién puede crear y administrar versiones de plantillas de lanzamiento.
La siguiente política concede a los usuarios permisos para crear plantillas de lanzamiento.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:CreateLaunchTemplate",
"Resource": "*"
}
]
}
Si necesita exigir el uso de IMDSv2 en todas las instancias nuevas, los grupos de Auto Scaling
deben usar plantillas de lanzamiento.
Para mayor seguridad, puede establecer los permisos de los usuarios para exigir el uso de una plantilla de
lanzamiento que requiera IMDSv2. Para obtener más información, consulteConfiguración del servicio de
metadatos de instanciaen laGuía del usuario de Amazon EC2 para instancias de Linux.
La siguiente política especifica que los usuarios no pueden llamar a laec2:RunInstancesA menos que la
instancia también requiera el uso de IMDSv2 (indicado por"ec2:MetadataHttpTokens":"required").
Si no especifican que la instancia requiere IMDSv2, obtienen un error UnauthorizedOperation cuando
llaman a la acción ec2:RunInstances.
{
"Version": "2012-10-17",
"Statement": [
298
Auto Scaling de Amazon EC2 Guía del usuario
Soporte para plantillas de lanzamiento de
{
"Sid": "RequireImdsV2",
"Effect": "Deny",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"StringNotEquals": { "ec2:MetadataHttpTokens": "required" }
}
}
]
}
Para actualizar un grupo de Auto Scaling existente, asegúrese de que utiliza una nueva plantilla de
lanzamiento con las opciones de metadatos de la instancia configuradas o una nueva versión de la plantilla
de lanzamiento actual con las opciones de metadatos de la instancia configuradas.
Tip
Para crear y actualizar grupos de Auto Scaling desde la consola, los usuarios también deben tener los
siguientes permisos de Amazon EC2:
• ec2:DescribeLaunchTemplates
• ec2:DescribeLaunchTemplateVersions
• ec2:DescribeVpcs
• ec2:DescribeSubnets
• ec2:DescribeAvailabilityZones
Sin estos permisos mínimos adicionales, las opciones de plantilla de lanzamiento y red no se pueden
cargar en el asistente de grupos de Auto Scaling, y los usuarios no podrán recorrer el asistente para lanzar
instancias con una plantilla de lanzamiento.
Puede agregar más acciones a la política para conceder a los usuarios más opciones en el asistente. Por
ejemplo, puede agregar permisos para las acciones de la API de Elastic Load Balancing para permitir a los
usuarios seleccionar de una lista de balanceadores de carga existentes en el paso 3 del asistente.
Usariam:PassRolePara permitir o denegar que los usuarios pasen un rol a Amazon EC2 si la plantilla
de lanzamiento especifica un perfil de instancia con un rol de IAM. Los usuarios sin este permiso reciben
un error que indica que no están autorizados a utilizar la plantilla de lanzamiento. Para ver una política de
ejemplo, consulte Controlar qué roles de IAM se pueden transferir (usando PassRole) (p. 291).
Para verificar el aprovisionamiento desde la consola Amazon EC2, es posible que los
usuarios necesiten permisos adicionales (por ejemplo,ec2:DescribeInstancespara
ver instancias,ec2:DescribeInstanceStatuspara mostrar el estado de la instancia,
oec2:DescribeTagspara mostrar las etiquetas).
299
Auto Scaling de Amazon EC2 Guía del usuario
Función de IAM para aplicaciones que
se ejecutan en instancias Amazon EC2
Las aplicaciones que se ejecutan en la instancia pueden acceder a credenciales temporales para el rol a
través de los metadatos del perfil de instancia. Para obtener más información, consulte Uso de un rol de
IAM para conceder permisos a aplicaciones que se ejecutan en instancias Amazon EC2 en la Guía del
usuario de IAM.
Para las instancias de un grupo de Auto Scaling, debe crear una plantilla de lanzamiento o una
configuración de lanzamiento y elegir un perfil de instancia que asociar con las instancias. Un perfil de
instancia es un contenedor de una función de IAM que permite que Amazon EC2 transfiera el rol de IAM
a una instancia cuando se lance la instancia. En primer lugar, cree un rol de IAM que tenga todos los
permisos necesarios para obtener acceso a laAWSde AWS. A continuación, cree el perfil de instancia y
asígnele el rol. Para obtener más información, consulteUso de perfiles de instanciaen laIAM User Guide.
Note
Al utilizar la consola de IAM para crear un rol para Amazon EC2, la consola le guía a través de los
pasos para crear el rol y crea automáticamente un perfil de instancia con el mismo nombre que el
rol de IAM.
Para obtener más información, consulteRoles de IAM para Amazon EC2en laGuía del usuario de Amazon
EC2 para instancias de Linux.
Contenido
• Prerequisites (p. 300)
• Crear una plantilla de lanzamiento (p. 301)
• Creación de una configuración de lanzamiento (p. 301)
Prerequisites
Cree el rol de IAM que la aplicación que se ejecuta en Amazon EC2 puede asumir. Elija los permisos
adecuados, de modo que la aplicación a la que se le asigne posteriormente el rol pueda realizar las
llamadas a la API específicas que necesita.
Important
Como práctica recomendada, le recomendamos encarecidamente que cree un rol, de forma que
así, tenga los permisos mínimos para otros Amazon Web Services que necesita la aplicación.
300
Auto Scaling de Amazon EC2 Guía del usuario
AWS KMSdirectiva de claves para
su uso con volúmenes cifrados
6. En la página Review (Revisar), escriba el nombre del rol y elija Create role (Crear rol).
Laiam:PassRolePara el usuario de IAM que crea o actualiza un grupo de Auto Scaling mediante una
plantilla de lanzamiento que especifique un perfil de instancia o una configuración de lanzamiento que
especifique un perfil de instancia. Para ver una política de ejemplo, consulte Controlar qué roles de IAM se
pueden transferir (usando PassRole) (p. 291).
En este tema se describe cómo configurar la directiva de claves que necesita para iniciar instancias de
Auto Scaling cuando se especifica un CMK gestionado por el cliente para el cifrado de Amazon EBS.
Note
Amazon EC2 Auto Scaling no necesita autorización adicional para utilizar elAWSPara proteger los
volúmenes cifrados en su cuenta de.
301
Auto Scaling de Amazon EC2 Guía del usuario
AWS KMSdirectiva de claves para
su uso con volúmenes cifrados
Contenido
• Overview (p. 302)
• Configuración de políticas de claves (p. 302)
• Ejemplo 1: Secciones de políticas clave que permiten el acceso a la CMK (p. 303)
• Ejemplo 2: Las secciones de políticas de claves que permiten el acceso entre cuentas a la
CMK (p. 304)
• Edición de directivas clave en elAWS KMSconsole (p. 305)
Overview
Los siguientes ejemplos deAWS KMSLas claves se pueden utilizar para el cifrado de Amazon EBS cuando
Amazon EC2 Auto Scaling lanza instancias:
• AWSCMK administrada por: clave de cifrado de su cuenta que Amazon EBS crea, posee y administra.
Esta es la clave de cifrado predeterminada en las cuentas nuevas. LaAWSLa CMK administrada se
utiliza para el cifrado a menos que se especifique una CMK administrada por el cliente.
• CMK administrada por el clienteClave de cifrado personalizada que cree, posee y administra. Para
obtener más información, consulteCrear clavesen laAWS Key Management ServiceGuía para
desarrolladores.
Nota: La clave debe ser simétrica. Amazon EBS no admite CMK asimétricas.
Puede especificar claves KMS cuando cree una instantánea de cifrada o una plantilla de lanzamiento que
especifique volúmenes cifrados o con el cifrado habilitado de forma predeterminada.
Utilice los ejemplos de esta página para configurar una política de claves que proporcione a Amazon EC2
Auto Scaling acceso a la CMK administrada por el cliente. Puede modificar la política de claves cuando se
crea la CMK o en un momento posterior.
Como mínimo, debe añadir dos instrucciones a la política de claves de CMK para que funcione con
Amazon EC2 Auto Scaling.
• La primera instrucción permite que la identidad de IAM especificada enPrincipalElemento para utilizar
la CMK directamente. Incluye permisos para realizar las operaciones AWS KMS Encrypt, Decrypt,
ReEncrypt*, GenerateDataKey* y DescribeKey en la CMK.
• La segunda instrucción permite la identidad de IAM especificada en elPrincipalelemento para utilizar
concesiones para delegar un subconjunto de sus propios permisos a Amazon Web Services que están
integrados conAWS KMSu otro principal. Esto les permite utilizar la CMK para crear recursos cifrados en
su nombre.
Cuando añada las nuevas instrucciones a la política de CMK, no cambie las instrucciones existentes en la
política.
En cada uno de los siguientes ejemplos, los argumentos que deben reemplazarse, como los ID de clave
o el nombre de un rol vinculado a servicios, aparecen en cursiva como texto reemplazable. En
la mayoría de los casos, puede sustituir el nombre del rol vinculado a servicios por el de otro rol vinculado
a servicios de Amazon EC2 Auto Scaling. Sin embargo, cuando utilice una configuración de lanzamiento
para lanzar instancias de spot, emplee el rol llamado AWSServiceRoleForEC2Spot.
302
Auto Scaling de Amazon EC2 Guía del usuario
AWS KMSdirectiva de claves para
su uso con volúmenes cifrados
{
"Sid": "Allow service-linked role use of the CMK",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:role/aws-service-role/
autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:role/aws-service-role/
autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
]
},
"Action": [
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": true
}
}
303
Auto Scaling de Amazon EC2 Guía del usuario
AWS KMSdirectiva de claves para
su uso con volúmenes cifrados
En primer lugar, añada las dos instrucciones siguientes a la política de claves de la CMK, sustituyendo
el ARN de ejemplo por el ARN de la cuenta externa y especificando la cuenta en la que se puede utilizar
la clave. Esto le permite utilizar políticas de IAM para conceder a un usuario o rol de IAM en la cuenta
especificada permiso para crear una concesión para la CMK mediante el comando de la CLI que se indica.
Otorgar a la cuenta acceso completo a la CMK no proporciona por sí solo acceso a la CMK a ningún
usuario o rol de IAM.
{
"Sid": "Allow external account 111122223333 use of the CMK",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333:root"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
{
"Sid": "Allow attachment of persistent resources in external account 111122223333",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333:root"
]
},
"Action": [
"kms:CreateGrant"
],
"Resource": "*"
}
A continuación, desde la cuenta externa, cree una concesión que delegue los permisos pertinentes en
el rol vinculado a servicios apropiado. El elemento Grantee Principal de la concesión es el ARN
del rol vinculado al servicio pertinente. El key-id es el ARN de la CMK. A continuación, se muestra un
ejemplo del comando de la CLI create-a-grant que proporciona al rol vinculado al servicio denominado
AWSServiceRoleForAutoScaling en la cuenta permisos 111122223333 para utilizar la CMK en la cuenta
444455556666.
304
Auto Scaling de Amazon EC2 Guía del usuario
Validación de la conformidad
--key-id arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d \
--grantee-principal arn:aws:iam::111122223333:role/aws-service-role/
autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling \
--operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey"
"GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"
Para que este comando se ejecute correctamente, el usuario que realiza la solicitud debe tener permisos
para la acción CreateGrant. La siguiente política de IAM permite que un usuario o un rol de IAM en la
cuenta de111122223333Para crear una subvención para la CMK en la cuenta444455556666.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCreationOfGrantForTheCMKinExternalAccount444455556666",
"Effect": "Allow",
"Action": "kms:CreateGrant",
"Resource": "arn:aws:kms:us-
west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d"
}
]
}
Después de conceder estos permisos, todo debería funcionar como se esperaba. Para obtener más
información, consulte esta entrada del foro.
Puede descargar los informes de auditoría de terceros utilizando AWS Artifact. Para obtener más
información, consulte Descarga de informes en AWS Artifact.
305
Auto Scaling de Amazon EC2 Guía del usuario
Resiliencia
Las regiones de AWS proporcionan varias zonas de disponibilidad físicamente independientes y aisladas
que se encuentran conectadas mediante redes con un alto nivel de rendimiento y redundancia, además de
baja latencia.
Con las zonas de disponibilidad, puede diseñar y utilizar aplicaciones y bases de datos que realizan una
conmutación por error automática entre las zonas sin interrupciones. Las zonas de disponibilidad tienen
una mayor disponibilidad, tolerancia a errores y escalabilidad que las infraestructuras tradicionales de
centros de datos únicos o múltiples.
Para obtener más información sobre las zonas de disponibilidad y las regiones de AWS, consulte
Infraestructura global de AWS.
Temas relacionados
• Resiliencia en Amazon EC2en laGuía del usuario de Amazon EC2 para instancias de Linux
UtilizaAWSpara obtener acceso a Amazon EC2 Auto Scaling a través de la red. Los clientes deben ser
compatibles con Transport Layer Security (TLS) 1.0 o una versión posterior. Le recomendamos TLS
1.2 o una versión posterior. Los clientes también deben ser compatibles con conjuntos de cifrado con
confidencialidad directa total (PFS) tales como Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Ephemeral
Diffie-Hellman (ECDHE). La mayoría de los sistemas modernos como Java 7 y posteriores son compatibles
con estos modos.
306
Auto Scaling de Amazon EC2 Guía del usuario
Uso de puntos de enlace de la
VPC para conectividad privada
Además, las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de acceso
secreta que esté asociada a una entidad principal de IAM. También puede utilizar AWS Security Token
Service (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.
Temas relacionados
• Seguridad de la infraestructura en Amazon EC2en laGuía del usuario de Amazon EC2 para instancias
de Linux
Puntos de conexión de la VPC de interfaz cuentan con tecnología de AWS PrivateLink , una característica
que permite la comunicación privada entreAWSmediante direcciones IP privadas. Para obtener más
información, consulte AWS PrivateLink .
Note
Debe habilitar explícitamente cada una de las API a las que desee obtener acceso a través de
un punto de enlace de la VPC de tipo interfaz. Por ejemplo, es posible que también tenga que
configurar un punto de enlace de la VPC de tipo interfaz paraec2.region.amazonaws.compara
utilizar cuando llame a las operaciones de la API de Amazon EC2. Para obtener más información,
consultePuntos de conexión de la VPC de interfaz ( AWS PrivateLink )en laGuía del usuario de
Amazon VPC.
Para obtener más información, consulte Creación de un punto de enlace de interfaz en la Guía del usuario
de Amazon VPC.
Habilite el DNS privado para que el punto de enlace pueda realizar solicitudes de API al servicio
admitido utilizando su nombre de host DNS predeterminado(por ejemplo,autoscaling.us-
east-1.amazonaws.com). Cuando se crea un punto de enlace paraAWS, esta configuración está
activada de manera predeterminada. Para obtener más información, consulte Acceso a un servicio a través
de un punto de enlace de interfaz en la Guía del usuario de Amazon VPC.
307
Auto Scaling de Amazon EC2 Guía del usuario
Creación de una política de puntos de enlace de la VPC
No es necesario cambiar ninguna configuración de Auto Scaling de Amazon EC2. Auto Scaling de Amazon
EC2 llama a otrosAWSutilizando los puntos de enlace de servicio o los puntos de conexión de la VPC de
tipo interfaz privada, lo que esté en uso.
En el ejemplo siguiente, se muestra una política de puntos de enlace de la VPC que deniega a todos los
usuarios el permiso para eliminar una política de escalado a través del punto de enlace. La política de
ejemplo también concede permiso a todos los usuarios para realizar todas las demás acciones.
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
},
{
"Action": "autoscaling:DeleteScalingPolicy",
"Effect": "Deny",
"Resource": "*",
"Principal": "*"
}
]
}
Para obtener más información, consulteUso de políticas de punto de enlace de la VPCen laGuía del
usuario de Amazon VPC.
308
Auto Scaling de Amazon EC2 Guía del usuario
Recuperación de un mensaje de error
Temas
• Recuperación de un mensaje de error de las actividades de escalado (p. 309)
• Solución de problemas de Auto Scaling de Amazon EC2 Fallos de lanzamiento de instancias
EC2 (p. 312)
• Solución de problemas de Auto Scaling de Amazon EC2 ProblAMI con el (p. 318)
• Solución de problemas de Auto Scaling de Amazon EC2 Problemas de carga (p. 319)
• Solución de problemas de Auto Scaling de Amazon EC2 Plantillas de lanzamiento (p. 321)
• Solución de problemas de Auto Scaling de Amazon EC2 Comprobaciones de estado (p. 322)
Para ver las actividades de escala de un grupo de Auto Scaling específico, utilice el siguiente comando.
{
"Activities": [
{
"ActivityId": "3b05dbf6-037c-b92f-133f-38275269dc0f",
"AutoScalingGroupName": "my-asg",
"Description": "Launching a new EC2 instance: i-003a5b3ffe1e9358e. Status
Reason: Instance failed to complete user's Lifecycle Action: Lifecycle Action with token
e85eb647-4fe0-4909-b341-a6c42d8aba1f was abandoned: Lifecycle Action Completed with
ABANDON Result",
"Cause": "At 2021-01-11T00:35:52Z a user request created an AutoScalingGroup
changing the desired capacity from 0 to 1. At 2021-01-11T00:35:53Z an instance was
started in response to a difference between desired and actual capacity, increasing the
capacity from 0 to 1.",
"StartTime": "2021-01-11T00:35:55.542Z",
"EndTime": "2021-01-11T01:06:31Z",
"StatusCode": "Cancelled",
"StatusMessage": "Instance failed to complete user's Lifecycle Action:
Lifecycle Action with token e85eb647-4fe0-4909-b341-a6c42d8aba1f was abandoned: Lifecycle
Action Completed with ABANDON Result",
309
Auto Scaling de Amazon EC2 Guía del usuario
Recuperación de un mensaje de error
"Progress": 100,
"Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-
west-2b\"...}",
"AutoScalingGroupARN": "arn:aws:autoscaling:us-
west-2:123456789012:autoScalingGroup:283179a2-
f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg"
},
...
]
}
Para obtener una descripción de los campos de la salida, consulteActividaden laReferencia de la API de
Auto Scaling de Amazon EC2.
Para ver las actividades de escalado para un grupo de Auto Scaling eliminado, agregue el--include-
deleted-groupsa ladescribe-scaling-activitiesComando de la:
A continuación se muestra un ejemplo de respuesta con una actividad de escalado para un grupo
eliminado.
{
"Activities": [
{
"ActivityId": "e1f5de0e-f93e-1417-34ac-092a76fba220",
"AutoScalingGroupName": "my-asg",
"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.",
"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"
},
...
]
}
En las tablas siguientes se relacionan los tipos de mensajes de error y se proporcionan enlaces a recursos
de solución de problemas que puede utilizar para solucionar sus problemas.
Problemas de lanzamiento
310
Auto Scaling de Amazon EC2 Guía del usuario
Recuperación de un mensaje de error
Mapeo de dispositivos Mapeos de dispositivos de bloques de EBS no admitidos para las AMI del
de bloques almacén de instancias. (p. 315)
Capacidad de instancia No hay capacidad puntual disponible que coincida con su solicitud. El
insuficiente para una lanzamiento de la instancia EC2 ha producido un error. (p. 317)
solicitud puntual
Par de claves El par de claves <par de claves asociado a la instancia EC2> no existe. El
lanzamiento de la instancia EC2 ha producido un error. (p. 314)
Grupo de seguridad El grupo de seguridad <nombre del grupo de seguridad > no existe. El
lanzamiento de la instancia EC2 ha producido un error. (p. 313)
Precio de spot Su precio de solicitud puntual de 0.015 es menor que el precio mínimo
demasiado bajo requerido de cumplimiento de solicitud puntual de 0.0735... (p. 314)
ProblAMI con el
ID de AMI El valor (<ID de AMI>) del parámetro virtualName no es válido. (p. 319)
311
Auto Scaling de Amazon EC2 Guía del usuario
Error de lanzamiento de la instancia
Problemas de carga
Instancias en VPC La instancia EC2 <ID de instancia> no está en VPC. Error al actualizar la
configuración del balanceador de carga. (p. 321)
No hay ningún No hay ningún balanceador de carga ACTIVO denominado <nombre del
balanceador de carga balanceador de carga>. Error al actualizar la configuración del balanceador de
activo carga. (p. 320)
Para recuperar un mensaje de error, consulte Recuperación de un mensaje de error de las actividades de
escalado (p. 309).
Cuando su instancia EC2 no se puede lanzar, es posible que aparezca un mensaje de error similar a los
siguientes:
Problemas de lanzamiento
• La configuración solicitada no se admite actualmente. (p. 313)
• El grupo de seguridad <nombre del grupo de seguridad > no existe. El lanzamiento de la instancia EC2
ha producido un error. (p. 313)
• El par de claves <par de claves asociado a la instancia EC2> no existe. El lanzamiento de la instancia
EC2 ha producido un error. (p. 314)
• La zona de disponibilidad solicitada ya no se admite. Vuelva a realizar la solicitud... (p. 314)
• el tipo de instancia solicitado (<tipo de instancia>) ya no es compatible con la zona de disponibilidad
solicitada (<zona de disponibilidad de la instancia>)... (p. 314)
• Su precio de solicitud puntual de 0.015 es menor que el precio mínimo requerido de cumplimiento de
solicitud puntual de 0.0735... (p. 314)
• Carga de nombre de dispositivo no válido. El lanzamiento de la instancia EC2 ha producido un
error. (p. 315)
• El valor (<nombre asociado al dispositivo de almacenamiento de la instancia>) del parámetro
virtualName no es válido... (p. 315)
• Mapeos de dispositivos de bloques de EBS no admitidos para las AMI del almacén de
instancias. (p. 315)
312
Auto Scaling de Amazon EC2 Guía del usuario
La configuración solicitada no se admite actualmente.
• Los grupos de ubicación no se pueden utilizar con instancias de tipo "m1.large". El lanzamiento de la
instancia EC2 ha producido un error. (p. 316)
• Client.InternalError: Error del cliente en el lanzamiento. (p. 316)
• En la actualidad, no dispone de suficiente <instance type> capacidad en la zona de disponibilidad que
ha solicitado... El lanzamiento de la instancia EC2 ha producido un error. (p. 317)
• No hay capacidad puntual disponible que coincida con su solicitud. El lanzamiento de la instancia EC2
ha producido un error. (p. 317)
• Ya se están ejecutando <número de instancias> instancias. El lanzamiento de la instancia EC2 ha
producido un error. (p. 318)
Pruebe una configuración de instancia diferente. Para buscar un tipo de instancia que cumpla sus
requisitos, consulteBúsqueda de un tipo de instancia Amazon EC2en laGuía del usuario de Amazon EC2
para instancias de Linux.
Para obtener más información para resolver este problema, consulte lo siguiente:
• Asegúrese de haber elegido una AMI compatible con su tipo de instancia. Por ejemplo, si el tipo de
instancia utiliza unAWSProcesador Graviton en lugar de un procesador Intel Xeon, necesita una AMI
compatible con ARM.
• Compruebe que el tipo de instancia está disponible en las zonas de disponibilidad y región solicitadas.
Es posible que los tipos de instancia de última generación aún no estén disponibles en una región o
zona de disponibilidad determinada. Es posible que los tipos de instancias de la generación anterior
no estén disponibles en las regiones y zonas de disponibilidad más recientes. Para buscar tipos de
instancia ofrecidos por ubicación (Región o Zona de disponibilidad), utilice ladescribe-instance-type-
offeringsEl comando de. Para obtener más información, consulteBúsqueda de un tipo de instancia
Amazon EC2en laGuía del usuario de Amazon EC2 para instancias de Linux.
• Si utiliza instancias dedicadas o hosts dedicados, asegúrese de haber elegido un tipo de instancia
admitido como instancia dedicada o host dedicado.
313
Auto Scaling de Amazon EC2 Guía del usuario
El par de claves <par de claves asociado a
la instancia EC2> no existe. El lanzamiento
de la instancia EC2 ha producido un error.
314
Auto Scaling de Amazon EC2 Guía del usuario
Carga de nombre de dispositivo no válido. El
lanzamiento de la instancia EC2 ha producido un error.
puntual actual. Al establecer su precio máximo más alto, ofrece al servicio Spot Amazon EC2 una mejor
oportunidad de lanzar y mantener la cantidad de capacidad requerida.
315
Auto Scaling de Amazon EC2 Guía del usuario
Los grupos de ubicación no se pueden utilizar
con instancias de tipo "m1.large". El lanzamiento
de la instancia EC2 ha producido un error.
Para obtener un ejemplo de una directiva clave que permite que el rol vinculado al servicio utilice el
CMK, consulteEjemplo 1: Secciones de políticas clave que permiten el acceso a la CMK (p. 303).
• Causa 2: Si el grupo de CMK y Auto Scaling están enDiferentes AWS, debe configurar el acceso entre
cuentas al CMK para dar permiso para usar el CMK para el rol vinculado al servicio adecuado.
• Solución 2: Permita que la función vinculada al servicio de la cuenta externa use la CMK en la cuenta
local tal y como se indica a continuación:
1. : actualice la política de claves en la CMK para permitir el acceso de la cuenta del grupo de Auto
Scaling a la CMK.
2. Defina un usuario o función de IAM en la cuenta del grupo de Auto Scaling que pueda conceder
permisos.
3. Determine qué función vinculada al servicio se va a utilizar para este grupo de Auto Scaling.
4. Cree una concesión a la CMK con la función vinculada al servicio adecuada como la entidad principal
beneficiaria.
5. Actualice el grupo de Auto Scaling para que utilice el rol vinculado al servicio.
Para obtener más información, consulte Ejemplo 2: Las secciones de políticas de claves que permiten el
acceso entre cuentas a la CMK (p. 304).
• Solución 3: Use un CMK en el mismoAWScomo el grupo de Auto Scaling.
1. Copie y vuelva a cifrar la instantánea con otra CMK que pertenezca a la misma cuenta que el grupo
de Auto Scaling.
316
Auto Scaling de Amazon EC2 Guía del usuario
En la actualidad, no dispone de suficiente <instance type>
capacidad en la zona de disponibilidad que ha solicitado...
El lanzamiento de la instancia EC2 ha producido un error.
2. Permita que el rol vinculado al servicio use la nueva CMK. Consulte los pasos que se indican para la
Solución 1.
317
Auto Scaling de Amazon EC2 Guía del usuario
Ya se están ejecutando <número de instancias> instancias.
El lanzamiento de la instancia EC2 ha producido un error.
Para recuperar un mensaje de error, consulte Recuperación de un mensaje de error de las actividades de
escalado (p. 309).
Cuando las instancias EC2 no se pueden lanzar debido a problemas con su AMI, puede recibir uno o
varios mensajes de error similares a los siguientes.
ProblAMI con el
• El ID de AMI <ID de la AMI> no existe. El lanzamiento de la instancia EC2 ha producido un
error. (p. 318)
• La AMI <ID de AMI> está pendiente y no se puede ejecutar. El lanzamiento de la instancia EC2 ha
producido un error. (p. 319)
• El valor (<ID de AMI>) del parámetro virtualName no es válido. (p. 319)
• La arquitectura del tipo de instancia solicitado (i386) no coincide con la arquitectura del manifiesto para
ami-6622f00f (x86_64). El lanzamiento de la instancia EC2 ha producido un error. (p. 319)
318
Auto Scaling de Amazon EC2 Guía del usuario
La AMI <ID de AMI> está pendiente y no se puede ejecutar.
El lanzamiento de la instancia EC2 ha producido un error.
Para recuperar un mensaje de error, consulte Recuperación de un mensaje de error de las actividades de
escalado (p. 309).
319
Auto Scaling de Amazon EC2 Guía del usuario
No se puede encontrar el balanceador de carga
<su entorno de lanzamiento>. Error al validar
la configuración del balanceador de carga.
Cuando sus instancias EC2 no se pueden lanzar debido a problemas con el balanceador de carga
asociado con su grupo de Auto Scaling, es posible que aparezcan uno o varios mensajes de error similares
a los siguientes.
Problemas de carga
• No se puede encontrar el balanceador de carga <su entorno de lanzamiento>. Error al validar la
configuración del balanceador de carga. (p. 320)
• No hay ningún balanceador de carga ACTIVO denominado <nombre del balanceador de carga>. Error
al actualizar la configuración del balanceador de carga. (p. 320)
• La instancia EC2 <ID de instancia> no está en VPC. Error al actualizar la configuración del
balanceador de carga. (p. 321)
• La instancia EC2 <ID de instancia> está en VPC. Error al actualizar la configuración del balanceador
de carga. (p. 321)
320
Auto Scaling de Amazon EC2 Guía del usuario
La instancia EC2 <ID de instancia> no está en VPC. Error
al actualizar la configuración del balanceador de carga.
Causa 1: Si está intentando utilizar una plantilla de lanzamiento y las credenciales de IAM que está
utilizando no tienen suficientes permisos, recibirá un error que indica que no tiene autorización para utilizar
la plantilla de lanzamiento.
Solución 1: Compruebe que el usuario o rol de IAM que está utilizando para realizar la solicitud tiene
permisos para llamar a las acciones de API EC2 que necesita, incluido elec2:RunInstancesaction.
Si ha especificado etiquetas en la plantilla de lanzamiento, también debe tener permiso para usar
laec2:CreateTagsaction. Para ver un tema que muestra cómo puede crear su propia política para
permitir exactamente lo que desea que su usuario o rol de IAM pueda hacer, consulteSoporte para
plantillas de lanzamiento de (p. 295).
Causa 2: Si intenta utilizar una plantilla de inicio que especifique un perfil de instancia, debe tener permiso
para pasar el rol de IAM asociado al perfil de instancia.
Solución 3: Compruebe que el usuario o función de IAM que está utilizando para realizar la solicitud tiene
los permisos adecuados para transferir la función especificada al servicio de Auto Scaling de Amazon EC2.
321
Auto Scaling de Amazon EC2 Guía del usuario
Comprobaciones de estado
Para obtener más información, consulte Función de IAM para aplicaciones que se ejecutan en instancias
Amazon EC2 (p. 300).
Para obtener más información sobre los temas relacionados con los perfiles de instancia, consulteSolución
de problemas de Amazon EC2 e IAMen laGuía del usuario de IAM.
Para recuperar un mensaje de error, consulte Recuperación de un mensaje de error de las actividades de
escalado (p. 309).
Note
Puede recibir una notificación cuando Amazon EC2 Auto Scaling finalice las instancias del grupo
Auto Scaling, incluso cuando la causa de la terminación de la instancia no sea el resultado de una
actividad de escalado. Para obtener más información, consulte Obtener notificaciones de Amazon
SNS cuando su grupo de Auto Scaling se escala (p. 259).
En las secciones siguientes se describen los errores y causas de comprobación de estado más
comunes que encontrará. Si tiene un problema diferente, consulte la siguienteAWSArtículos de
Knowledge Center para obtener ayuda adicional para solucionar problemas:
Causa 1: Si hay problemas que provocan que Amazon EC2 considere las instancias de su grupo de
Auto Scaling deterioradas, Amazon EC2 Auto Scaling reemplaza automáticamente las instancias con
problemas como parte de su comprobación de estado. Las comprobaciones de estado están integradas
en Amazon EC2, de manera que no se pueden deshabilitar ni eliminar. Cuando una comprobación de
estado de instancias falla, debe resolver el problema por sí mismo realizando cambios en la configuración
de instancias hasta que la aplicación ya no presenta ningún problema.
322
Auto Scaling de Amazon EC2 Guía del usuario
Se sacó de servicio una instancia en
respuesta a un reinicio programado de EC2
1. Cree manualmente una instancia de Amazon EC2 que no forme parte del grupo de Auto Scaling e
investigue el problema. Para obtener ayuda general sobre la investigación de instancias con problemas,
consulteSolucionar problemas de las instancias con comprobaciones de estado no superadasen laGuía
del usuario de Amazon EC2 para instancias de LinuxySolución de problemas de las instancias de
Windowsen laGuía del usuario de Amazon EC2.
2. Después de confirmar que todo funciona, implemente una nueva configuración de instancia sin errores
en el grupo Auto Scaling.
3. Elimine la instancia que ha creado para evitar cargos continuos en suAWSaccount.
Causa 2: Hay una discrepancia entre el período de gracia de la comprobación de estado y el tiempo de
inicio de la instancia.
Solución 2: Edite el período de gracia de la comprobación de estado del grupo Auto Scaling a un período
de tiempo adecuado para su aplicación. Las instancias lanzadas en un grupo de Auto Scaling requieren
suficiente tiempo de calentamiento (período de gracia) para evitar la terminación anticipada debido a un
reemplazo de comprobación de estado. Para obtener más información, consulte Período de gracia de
Health (p. 240).
Causa: Amazon EC2 Auto Scaling reemplaza las instancias con un futuro evento de mantenimiento o
retirada programado antes de la hora programada.
Solución: Estos eventos no ocurren con frecuencia. Si no desea que se reemplacen las instancias debido
a un evento programado, puede suspender el proceso de comprobación de estado de un grupo de Auto
Scaling. Para obtener más información, consulte Suspensión y reanudación de un proceso para un grupo
de Auto Scaling (p. 232).
Alternativamente, si necesita que suceda algo en la instancia que está terminando o en la instancia
que se está iniciando, puede usar ganchos de ciclo de vida. Estos enlaces permiten realizar una acción
personalizada a medida que Amazon EC2 Auto Scaling lanza o termina instancias. Para obtener más
información, consulte Enganches de ciclo de vida de Amazon EC2 Auto Scaling (p. 184).
Solución 1: Si se produce un error en una comprobación de estado porque un usuario detuvo, reinició
o finalizó manualmente la instancia, esto se debe al funcionamiento de las comprobaciones de estado
de Auto Scaling de Amazon EC2. La instancia debe estar sana y alcanzable. Si necesita reiniciar
las instancias en su grupo de Auto Scaling, le recomendamos que ponga las instancias en espera
primero. Para obtener más información, consulte Eliminación temporal de instancias del grupo de Auto
Scaling (p. 228).
323
Auto Scaling de Amazon EC2 Guía del usuario
Se sacó de servicio una instancia en respuesta a un
error de comprobación de estado del sistema ELB
Tenga en cuenta que cuando finaliza instancias manualmente, los enlaces del ciclo de vida de terminación
y la anulación del registro de Elastic Load Balancing (y el drenaje de conexiones) deben completarse antes
de que se termine realmente la instancia.
Causa 2: Amazon EC2 Auto Scaling intenta reemplazar las instancias puntuales después de que el servicio
de subasta de Amazon EC2 interrumpa las instancias, ya que el precio de subasta aumenta por encima de
su precio o capacidad máximos ya no está disponible.
Solución 2: No hay garantía de que exista una instancia puntual para cumplir la solicitud en un momento
dado. Sin embargo, puede intentar lo siguiente:
• Utilice un precio máximo puntual más alto (posiblemente el precio bajo demanda). Al establecer su
precio máximo más alto, ofrece al servicio Spot Amazon EC2 una mejor oportunidad de lanzar y
mantener la cantidad de capacidad requerida.
• Aumente el número de grupos de capacidad diferentes desde los que puede iniciar instancias
ejecutando varios tipos de instancias en varias zonas de disponibilidad. Para obtener más información,
consulte Grupos de Auto Scaling con varios tipos de instancias y opciones de compra (p. 56).
• Si utiliza varios tipos de instancias, considere la posibilidad de habilitar la función de reequilibrio de
capacidad. Esto resulta útil si desea que el servicio de subasta de Amazon EC2 intente iniciar una nueva
instancia de subasta antes de que se termine una instancia en ejecución. Para obtener más información,
consulte Reequilibrio de capacidad de Amazon EC2 Auto Scaling de Amazon EC2 (p. 242).
Causa: Si el grupo de Auto Scaling se basa en las comprobaciones de estado proporcionadas por Elastic
Load Balancing, Amazon EC2 Auto Scaling determina el estado de las instancias comprobando los
resultados de las comprobaciones de estado de EC2 y de las comprobaciones de estado de Elastic
Load Balancing. El equilibrador de carga realiza comprobaciones de estado enviando una solicitud a
cada instancia y esperando la respuesta correcta, o estableciendo una conexión con la instancia. Una
instancia podría no superar la comprobación de estado de Elastic Load Balancing porque una aplicación
que se ejecuta en la instancia tiene algún problema como consecuencia del cual el balanceador de carga
considera que la instancia se encuentra fuera de servicio. Para obtener más información, consulte Adición
de comprobaciones de estado Elastic Load Balancing a un grupo de Auto Scaling (p. 95).
• Tome nota de los códigos de éxito que el balanceador de carga está esperando y compruebe que la
aplicación está configurada correctamente para devolver estos códigos de éxito.
• Compruebe que los grupos de seguridad para el equilibrador de carga y el grupo Auto Scaling están
configurados correctamente.
• Compruebe que la configuración de comprobación de estado de los grupos de destino está configurada
correctamente. Puede definir la configuración de comprobación de estado del balanceador de carga por
grupo de destino.
• Establezca el período de gracia de comprobación de estado para el grupo Auto Scaling en un período
de tiempo suficiente para admitir el número de comprobaciones de estado consecutivas correctas
necesarias antes de que Elastic Load Balancing considere que una instancia recién iniciada es correcta.
• Considere agregar un enlace del ciclo de vida de lanzamiento al grupo Auto Scaling para asegurarse
de que las aplicaciones de las instancias estén listas para aceptar tráfico antes de registrarse en el
equilibrador de carga al final del enlace del ciclo de vida.
324
Auto Scaling de Amazon EC2 Guía del usuario
Se sacó de servicio una instancia en respuesta a un
error de comprobación de estado del sistema ELB
• Compruebe que el equilibrador de carga está configurado en las mismas zonas de disponibilidad que el
grupo Auto Scaling.
• Comprobaciones de estado de los grupos de destinoen laGuía del usuario para Application Load
Balancers
• Comprobaciones de estado de los grupos de destinoen laGuía del usuario para Network Load Balancers
• Comprobaciones de estado de los grupos de destinoen laGuía del usuario de balanceadores de carga
de gateway
• Configure comprobaciones de estado para el Classic Load Balanceren laGuía del usuario para Classic
Load Balancers
Solución 2: Actualice el grupo Auto Scaling para deshabilitar las comprobaciones de estado de Elastic
Load Balancing.
325
Auto Scaling de Amazon EC2 Guía del usuario
• Auto Scaling de Amazon EC2: página web principal con información sobre Auto Scaling de Amazon
EC2.
• Preguntas frecuentes técnicas de Amazon EC2: las respuestas a las preguntas de los clientes sobre
Amazon EC2 y Amazon EC2 Auto Scaling.
• Foro de debate de Amazon EC2: obtenga ayuda de la comunidad.
• AWS Auto ScalingGuía del usuario— ElAWS Auto ScalingConsola de facilita el uso de las funciones
de escalado de varios servicios. conAWS Auto ScalingCon, también puede simplificar el proceso
de definición de políticas de escalado dinámico para sus grupos de Auto Scaling y usar el escalado
predictivo para escalar la capacidad de Amazon EC2 antes de los cambios de tráfico previstos.
Los siguientes recursos adicionales están disponibles para ayudarle a obtener más información acerca de
Amazon Web Services.
• Classes & Workshops: enlaces a cursos basados en roles y especializados, así como a laboratorios
autoguiados para ayudarle a desarrollar suAWShabilidades y adquirir experiencia práctica.
• AWSHerramientas para desarrolladores: enlaces a herramientas para desarrolladores, SDK,
conjuntos de herramientas de IDE y herramientas de línea de comandos para desarrollar y
administrarAWSaplicaciones de.
• AWSDocumentos técnicos— Enlaces a una lista completa deAWSDocumentos técnicos, que tratan
una gran variedad de temas técnicos, como arquitecturas, seguridad y economía de la nube, escritos
porAWSArquitectos de soluciones u otros expertos técnicos.
• AWS SupportCenter: el centro para crear y administrarAWS SupportCasos de. También incluye enlaces
a otros recursos útiles como foros, preguntas técnicas frecuentes, estado de los servicios y AWS Trusted
Advisor.
• AWS Support: página web principal con información sobreAWS Support, un canal de soporte
individualizado y de respuesta rápida que le ayudará a crear y ejecutar aplicaciones en la nube.
• ContactoUn punto de contacto centralizado para las consultas relacionadas conAWSFacturación,
cuentas, eventos, abuso y otros problemas relacionados con.
• AWSTérminos del sitio: información detallada sobre nuestros derechos de autor y marca comercial, su
cuenta, licencia y acceso al sitio, entre otros temas.
326
Auto Scaling de Amazon EC2 Guía del usuario
Historial de revisión
En la siguiente tabla se describen los cambios importantes de la documentación de Amazon EC2
Auto Scaling, a partir de julio de 2018. Para obtener notificaciones sobre las actualizaciones de esta
documentación, puede suscribirse a la fuente RSS.
Cambios en la guía (p. 327) Ahora puede acceder a plantillas 9 de abril de 2021
de ejemplo para los ganchos
del ciclo de vida desde GitHub.
Para obtener más información,
327
Auto Scaling de Amazon EC2 Guía del usuario
Support con los puntos de Ahora puede agregar puntos 18 de marzo de 2021
control (p. 327) de control a una actualización
de instancia para reemplazar
instancias en fases y realizar
verificaciones en las instancias
en puntos específicos. Para
obtener más información,
consulteAgregar puntos de
control a una actualización de
instanciaen laGuía del usuario de
Amazon EC2 Auto Scaling.
Support para zonas horarias Ahora puede crear acciones 9 de marzo de 2021
locales (p. 327) programadas recurrentes
en la zona horaria local
agregando el--time-zonea
la opciónput-scheduled-update-
group-actioncomando. Si
la zona horaria observa el
horario de verano (DST), la
acción recurrente se ajusta
automáticamente para el horario
de verano. Para obtener más
información, consulteEscalado
programadoen laGuía del usuario
de Amazon EC2 Auto Scaling.
328
Auto Scaling de Amazon EC2 Guía del usuario
Escalar actividades para grupos Ahora puede ver las actividades 23 de febrero de 2021
eliminados (p. 327) de escalado para los grupos
de Auto Scaling eliminados
agregando el--include-
deleted-groupsa la
opcióndescribe-scaling-
activitiescomando. Para
obtener más información,
consulteSolución de problemas
de Amazon EC2 Auto Scalingen
laGuía del usuario de Amazon
EC2 Auto Scaling.
Mejoras en la consola (p. 327) Ahora puede crear y adjuntar 24 de noviembre de 2020
un Balanceador de carga de
aplicaciones o un Balanceador
de Network Load Balancer desde
la consola de Auto Scaling de
Amazon EC2 Auto Scaling.
Para obtener más información,
consulteCrear y adjuntar un
balanceador de carga de
aplicaciones o un Network Load
Balancer (consola)en laGuía del
usuario de Amazon EC2 Auto
Scaling.
329
Auto Scaling de Amazon EC2 Guía del usuario
330
Auto Scaling de Amazon EC2 Guía del usuario
331
Auto Scaling de Amazon EC2 Guía del usuario
332
Auto Scaling de Amazon EC2 Guía del usuario
333
Auto Scaling de Amazon EC2 Guía del usuario
Compatibilidad con los puntos Ahora puede establecer una 22 de noviembre de 2019
de enlace de la VPC de conexión privada entre su VPC
Amazon (p. 327) y Amazon EC2 Auto Scaling.
Para obtener más información,
consulteAmazon EC2 Auto
Scaling y puntos de enlace de
la VPC de interfazen laGuía del
usuario de Amazon EC2 Auto
Scaling.
334
Auto Scaling de Amazon EC2 Guía del usuario
Compatibilidad con una nueva Ahora Amazon EC2 Auto Scaling 12 de agosto de 2019
estrategia de asignación de es compatible con una nueva
instancias de spot (p. 327) estrategia de asignación de
instancias de spot «optimizada
para la capacidad» que atiende
la solicitud mediante grupos de
instancias de spot que se eligen
de forma óptima en función de
la capacidad de spot disponible.
Para obtener más información,
consulte la sección sobre Grupos
de Auto Scaling con varios tipos
de instancias y opciones de
compra en la guía del usuario de
Amazon EC2 Auto Scaling.
Compatibilidad con las mejoras Ahora Amazon EC2 Auto 26 de julio de 2019
de etiquetado (p. 327) Scaling añade etiquetas a las
instancias de Amazon EC2
durante la misma llamada a la
API que lanza las instancias.
Para obtener más información,
consulteEtiquetado de grupos e
instancias Auto Scaling.
335
Auto Scaling de Amazon EC2 Guía del usuario
En la siguiente tabla se describen cambios importantes en la documentación de Amazon EC2 Auto Scaling
de antes de julio de 2018.
336
Auto Scaling de Amazon EC2 Guía del usuario
Compatibilidad con Cree políticas de IAM para controlar el acceso en el nivel de 15 de mayo de
los permisos de recursos. Para obtener más información, consulteControl del 2017
nivel de recursos acceso a sus recursos de Amazon EC2 Auto Scaling.
Support con los Asocie uno o varios grupos de destino a un grupo de Auto 11 de agosto de
equilibradores Scaling nuevo o existente. Para obtener más información, 2016
de carga de consulteAsociar un balanceador de carga a su grupo de Auto
aplicaciones Scaling.
Protección de Impida que Amazon EC2 Auto Scaling seleccione instancias 07 de diciembre de
instancias específicas para su terminación durante el escalado de. Para 2015
obtener más información, consulteProtección de instancias.
Políticas de Cree una política de escalado que le permita escalar en 06 de julio de 2015
escalado por función del tamaño de la interrupción de alarma. Para obtener
pasos más información, consulteTipos de política de escalado.
Enlaces de ciclo Mantenga sus instancias recién lanzadas o terminadas en 30 de julio de 2014
de vida un estado pendiente mientras realiza acciones en ellas. Para
obtener más información, consulteHooks de ciclo de vida de
Amazon EC2 Auto Scaling.
337
Auto Scaling de Amazon EC2 Guía del usuario
Poner las Ponga las instancias que se encuentran en estado 30 de julio de 2014
instancias en InService en el estado Standby. Para obtener más
estado de espera información, consulteEliminación temporal de instancias de su
grupo de Auto Scaling.
Asociar instancias Habilite el escalado automático para una instancia EC2, 02 de enero de
asociando la instancia a un grupo de Auto Scaling existente. 2014
Para obtener más información, consulteConecte instancias
EC2 al grupo de Auto Scaling.
Ver límites de la Consulte los límites de los recursos de Auto Scaling de su 02 de enero de
cuenta cuenta. Para obtener más información, consulteLímites de 2014
Auto Scaling.
Asignar una Asigne una dirección IP pública a una instancia lanzada en 19 de septiembre
dirección IP una VPC. Para obtener más información, consulteIniciar de 2013
pública instancias de Auto Scaling en una VPC.
Support con roles Inicie instancias EC2 con un perfil de instancia de IAM. Puede 11 de junio de
de IAM utilizar esta característica para asignar roles de IAM a sus 2012
instancias, lo que permite que las aplicaciones tengan acceso
a otros Amazon Web Services de forma segura. Para obtener
más información, consulteInicie instancias de Auto Scaling
con un rol de IAM.
338
Auto Scaling de Amazon EC2 Guía del usuario
Compatibilidad con Solicite instancias de spot en grupos de Auto Scaling 7 de junio de 2012
instancias de spot especificando un precio de puja de la instancia de spot en la
configuración de lanzamiento. Para obtener más información,
consulteLanzamiento de instancias de spot en el grupo de
Auto Scaling.
Etiquetar grupos e Etiquete grupos de Auto Scaling y especifique que la etiqueta 26 de enero de
instancias se aplique también a las instancias EC2 lanzadas después 2012
de la creación de la etiqueta. Para obtener más información,
consulteEtiquetado de grupos e instancias Auto Scaling.
Support con Utilice Amazon SNS para recibir notificaciones cuando 20 de julio de 2011
Amazon SNS Amazon EC2 Auto Scaling lance o termine instancias EC2.
Para obtener más información, consulteObtener notificaciones
de SNS cuando se escala el grupo de Auto Scaling.
339
Auto Scaling de Amazon EC2 Guía del usuario
Support con IAM Se ha agregado compatibilidad para IAM. Para obtener más 2 de diciembre de
información, consulteControl del acceso a sus recursos de 2010
Amazon EC2 Auto Scaling.
340
Auto Scaling de Amazon EC2 Guía del usuario
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.
cccxli