Introducción a Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

Introducción a Amazon EC2 Auto Scaling

Cuando use Amazon EC2 Auto Scaling, debe utilizar determinados componentes básicos para empezar. Este tutorial le guiará por el proceso de configuración de bloques de creación para crear una infraestructura básica para Amazon EC2 Auto Scaling.

Antes de crear un grupo de Auto Scaling para usarlo con una aplicación, revísela a fondo mientras se ejecuta en la nube de AWS. Considere lo siguiente:

  • Entre cuántas zonas de disponibilidad debe distribuirse el grupo de Auto Scaling.

  • Qué recursos existentes se pueden utilizar, como grupos de seguridad o imágenes de máquina de Amazon (AMI).

  • Si desea escalar para aumentar o disminuir la capacidad, o solo desea asegurarse de que siempre haya un número específico de servidores en funcionamiento. Tenga en cuenta que Amazon EC2 Auto Scaling puede hacer ambas cosas a la vez.

  • Qué métricas son más relevantes para el rendimiento de la aplicación.

  • Cuánto tiempo tarda en lanzar y configurar un servidor.

Cuanto mejor conozca su aplicación, mayor será la eficacia de su arquitectura de Auto Scaling.

nota

Para ver un video de introducción, consulte AWS re:Invent 2018: Capacity Management Made Easy with Amazon EC2 Auto Scaling (re:Invent 2018: La gestión de la capacidad es más sencilla con Amazon EC2 Auto Scaling) en YouTube.

Resumen del tutorial

En esta explicación, usted:

  • Cree una plantilla de configuración que defina las instancias EC2. Puede elegir la plantilla de lanzamiento o la configuración de lanzamiento según sus preferencias. Aunque puede utilizar una configuración de lanzamiento, le recomendamos una plantilla de lanzamiento para que pueda utilizar las últimas características de Amazon EC2 y Amazon EC2 Auto Scaling.

  • Cree un grupo de Auto Scaling con una sola instancia.

  • Finalice la instancia y verifique 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 creó la cuenta de AWS hace menos de 12 meses y aún no ha excedido los beneficios del nivel gratuito para Amazon EC2, no incurrirá en costos para completar este tutorial, porque lo ayudamos a seleccionar un tipo de instancias que esté dentro de los beneficios del nivel gratuito. De lo contrario, cuando se este tutorial, se aplicarán 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.

Prepararse para el tutorial

En esta explicación se presupone que está familiarizado con el lanzamiento de instancias EC2 y que ya ha creado un par de claves y un grupo de seguridad. Para obtener más información, consulte Configuración de Amazon EC2 en la Guía del usuario de Amazon EC2 para instancias de Linux.

Si es nuevo en Amazon EC2 Auto Scaling y desea empezar a utilizar el servicio, puede utilizar la VPC predeterminada para su cuenta de AWS. 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 la página de Your VPCs (Sus VPC) de la consola de Amazon Virtual Private Cloud (Amazon VPC).

Tenga en cuenta que todos los procedimientos siguientes son para la nueva consola.

Paso 1: Crear una plantilla de lanzamiento

En este paso, usted inicia sesión en la consola de Amazon EC2 con su AWS y crea una plantilla de lanzamiento que especifica el tipo de instancia EC2 que Amazon EC2 Auto Scaling crea por usted. Incluya información como el ID de la Amazon Machine Image (AMI) que se va a usar, el tipo de instancia, el par de claves y los grupos de seguridad.

nota

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.

Para crear una plantilla de lanzamiento

  1. Abra la consola de Amazon EC2.

  2. En la barra de navegación de la parte superior de la pantalla, seleccione una región AWS. Los recursos de Amazon EC2 Auto Scaling que crea se asocian a la región que especifique.

  3. En el panel de navegación izquierdo, elija Launch Templates (Plantillas de lanzamiento) y, a continuación, Create launch template (Crear plantilla de lanzamiento).

  4. Para Launch template name (Nombre de plantilla de lanzamiento), ingrese my-template-for-auto-scaling.

  5. En Auto Scaling guidance (Guía de Auto Scaling), seleccione la casilla de verificación.

  6. En Amazon machine image (AMI), elija una versión de Amazon Linux 2 (HVM) en la lista Quick Start (Inicio rápido). La (AMI) sirve de plantilla de configuración básica para sus instancias.

  7. En Instance type (Tipo de instancia), elija una configuración de hardware que sea compatible con la AMI que ha especificado.

    nota

    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, consulte nivel gratuito de AWS.

  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. Deje el campo Networking platform (Plataforma de redes) establecido en VPC.

  10. Para Security groups (Grupos de seguridad), elija 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. Puede dejar el campo Network Interfaces (Interfaces de red) vací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, seleccione Create Auto Scaling group (Crear grupo 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 Amazon Machine Image (AMI) que se va a utilizar, el tipo de instancia, el par de claves y los grupos de seguridad.

Para crear una configuración de lanzamiento

  1. Abra la página Launch configurations (Configuraciones de lanzamiento) de la consola de Amazon EC2.

  2. En la barra de navegación, seleccione una región AWS. Los recursos de Auto Scaling que crea se asocian a la región que especifique.

  3. Elija Create launch configuration (Crear configuración de lanzamiento) y, a continuación, ingrese my-first-launch-configuration en el campo de Name (Nombre).

  4. Para Amazon machine image (AMI), elija una AMI. Para encontrar una AMI específica, puede buscar una AMI adecuada, anote su ID e ingrese el ID como criterio de búsqueda.

    Para obtener el ID de la AMI de Amazon Linux 2:

    1. Abra la consola de Amazon EC2.

    2. En el panel de navegación, en Instances (Instancias), elija Instances (Instancias) y seleccione Launch Instance (Lanzar instancias).

    3. En la pestaña Quick Start (Inicio rápido) de la página Choose an Amazon Machine Image (Elegir una Amazon Machine Image), observe el ID de la AMI junto a Amazon Linux 2 AMI (HVM) (AMI de Amazon Linux 2 [HVM]). Observe que estas AMI están marcadas como "Free tier eligible" (Apta para el nivel gratuito).

  5. Para Instance Type (Tipo de instancias), seleccione la configuración de hardware de la instancia.

    nota

    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, consulte nivel gratuito de AWS.

  6. En Additional configuration (Configuración adicional), para Advanced details (Detalles avanzados), IP address type (Tipo de dirección IP), haga una selección. 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. Para Security groups (grupos de seguridad), elija Grupo de seguridad existente. Si deja la opción Create a new security group (Crear un nuevo grupo de seguridad) seleccionada como predeterminada, se configura una regla SSH para instancias Amazon EC2 que ejecutan Linux. Se configura una regla de RDP predeterminada para instancias de Amazon EC2 que ejecutan Windows.

  8. Para Key pair (login) (Par de claves [inicio de sesión]), elija una opción en Key pair options (Opciones de par de claves) segú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.

  9. Elija Create launch configuration.

  10. Seleccione la casilla situada junto al nombre de la nueva configuración de lanzamiento y elija Actions (Acciones), Auto Scaling group (Grupo de Auto Scaling).

Paso 2: Crear un grupo de Auto Scaling de instancia única

Utilice ahora Amazon EC2 Auto Scaling para crear un grupo de Auto Scaling y agregar la plantilla de lanzamiento o la configuración de lanzamiento al grupo. Incluya también información como las subredes de VPC para las instancias.

Utilice el siguiente procedimiento para continuar donde lo dejó después de crear una plantilla de lanzamiento o una configuración de lanzamiento.

Para crear un grupo de Auto Scaling

  1. En la página Choose launch template or configuration (Elegir una plantilla de lanzamiento o configuración), para Auto Scaling group name (Nombre de grupo de Auto Scaling), ingrese my-first-asg.

  2. Elija Next (Siguiente).

    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] Mantenga 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).

  4. Mantenga Network (Red) en la VPC predeterminada de la región de AWS que ha elegido 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).

    nota

    El tamaño inicial del grupo está determinado por su capacidad deseada. El valor predeterminado es instancia 1.

  7. En la página Review (Revisar), revise la información del grupo y elija Auto Scaling group (Grupo de Auto Scaling).

Paso 3: Verificar el grupo de Auto Scaling

Ahora que ha creado su grupo de Auto Scaling, está listo para verificar si el grupo ha lanzado una instancia EC2.

Para verificar si el grupo de Auto Scaling ha lanzado una instancia EC2

  1. Abra la página Auto Scaling groups (Grupos de Auto Scaling) en la consola de Amazon EC2.

  2. Seleccione la casilla de verificación junto al grupo de Auto Scaling que acaba de crear.

    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 la pestaña Details (Detalles) que muestra información sobre el grupo de Auto Scaling.

  3. Seleccione la segunda pestaña, Activity (Actividad). En Activity history (Historial de actividad), puede ver el progreso de las actividades que están asociadas al grupo de Auto Scaling. La columna Status (Estado) muestra el estado actual de su instancia. Mientras se está lanzando la instancia, la columna de estado muestra PreInService. El estado cambia a Successful cuando se lanza la instancia. También puede utilizar el botón de actualización para ver el estado actual de la instancia.

  4. En la pestaña Instance management (Administración de instancia), en Instances (Instancias), puede ver el estado de la instancia.

  5. Compruebe que la instancia se ha lanzado correctamente. La instancia tarda poco tiempo en lanzarse.

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

    La columna Health status (Estado) muestra el resultado de la comprobación de estado de instancias EC2 correspondiente a su instancia.

Paso 4: Terminar una instancia en el grupo de Auto Scaling

Utilice estos pasos para obtener más información sobre cómo funciona Amazon EC2 Auto Scaling, específicamente, cómo lanza nuevas instancias cuando sea necesario. El tamaño mínimo del grupo de Auto Scaling creado en este aprendizaje es una instancia. Por lo tanto, si termina la instancia en ejecución, Amazon EC2 Auto Scaling debe lanzar una instancia nueva para sustituirla.

  1. Abra la página Auto Scaling groups (Grupos de Auto Scaling) en la consola de Amazon EC2.

  2. Seleccione la casilla del grupo de Auto Scaling correspondiente.

  3. En la pestaña Instance management (Administración de instancias), en Instances (Instancias), seleccione el ID de la instancia.

    Tras ello, accederá a la página Instances (Instancias) de 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 la pestaña Activity (Actividad).

    El periodo de recuperación predeterminado del grupo de Auto Scaling es de 300 segundos (5 minutos), por lo que pasarán unos 5 minutos hasta que pueda ver la actividad de escalado. En el historial de actividad, cuando comience la actividad de escalado, verá una entrada para la terminación de la primera instancia y una entrada para el lanzamiento de una nueva instancia.

  6. En la pestaña Instance management (Administración de instancias), la sección Instances (Instancias) muestra solo la nueva instancia.

  7. En el panel de navegación, en INSTANCES (Instancias), elija Instances (Instancias). Esta página muestra la instancia terminada y la nueva instancia en ejecución.

Paso 5: Siguientes pasos

Vaya al siguiente paso si desea eliminar la infraestructura básica para el escalado automático que acaba de crear. De lo contrario, puede utilizar esta infraestructura como punto de partida y realizar alguna de las siguientes operaciones:

  • Escale manualmente el grupo de Auto Scaling. Para obtener más información, consulte Escalado manual.

  • Aprenda a escalar automáticamente en respuesta cuando hay cambios en la utilización de recursos. Si la carga aumenta, su grupo de Auto Scaling se puede escalar horizontalmente (agregar instancias) para administrar la demanda. Para obtener más información, consulte Políticas de escalado de seguimiento de destino.

  • Configure una notificación de SNS para recibir una notificación cada vez que el grupo de Auto Scaling lance o termine instancias. Para obtener más información, consulte Monitoreo con notificaciones de Amazon SNS.

Paso 6: Limpieza

Puede eliminar la infraestructura de escalado o eliminar únicamente el grupo de Auto Scaling y conservar la plantilla de lanzamiento o la configuración de lanzamiento para usarla en otro momento.

Si ha lanzado una instancia que no está dentro del nivel gratuito de AWS, debe terminar la instancia para evitar cargos adicionales. Cuando termine la instancia, los datos asociados con ella también se eliminarán.

Para eliminar el grupo de Auto Scaling

  1. Abra la página Auto Scaling groups (Grupos de Auto Scaling) en la consola de Amazon EC2.

  2. Seleccione el grupo de Auto Scaling (my-first-asg).

  3. Elija Eliminar. Cuando se le pida confirmación, seleccione Delete (Eliminar).

    Un icono de carga en la columna Name (Nombre) indica que el grupo de Auto Scaling se está eliminando. Cuando se ha producido la eliminación, las columnas Desired (Deseado), Min (Mín.) y Max (Máx.) muestran instancias de 0 para 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.

Omita el procedimiento siguiente si desea mantener su plantilla de lanzamiento.

Para eliminar la plantilla de lanzamiento

  1. Abra la consola de Amazon EC2.

  2. En el panel de navegación, en INSTANCES (Instancias), elija Launch Templates (Plantillas de lanzamiento).

  3. Seleccione la plantilla de lanzamiento (my-template-for-auto-scaling).

  4. Elija Actions, Delete template. Cuando se le pida confirmación, elija Delete launch template.

Omita el procedimiento siguiente si desea mantener su configuración de lanzamiento.

Para eliminar su configuración de lanzamiento

  1. Abra la página Launch configurations (Configuraciones de lanzamiento) de la consola de Amazon EC2.

  2. Seleccione la configuración de lanzamiento (my-first-launch-configuration).

  3. Seleccione Actions, Delete launch configuration. Cuando se le indique que confirme, seleccione Yes, Delete (Sí, borrar).