Tutorial: Configuración de una aplicación con escalado y balanceo de carga aplicados - Amazon EC2 Auto Scaling

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

Tutorial: Configuración de una aplicación con escalado y balanceo de carga aplicados

importante

Antes de explorar este tutorial, le recomendamos que consulte primero el siguiente tutorial introductorio: Cree su primer grupo de Auto Scaling.

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 EC2 instancias de Amazon en buen estado. Esto aumenta la escalabilidad y disponibilidad de la aplicación. Puede habilitar Elastic Load Balancing dentro de 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:

Un grupo de Auto Scaling con un Application Load Balancer.

Elastic Load Balancing admite distintos tipos de equilibradores de carga. Le recomendamos que utilice un Application Load Balancer para este tutorial.

Para obtener más información sobre cómo ingresar un balanceador de carga en la arquitectura, consulte Use Elastic Load Balancing para distribuir el tráfico de aplicaciones entrante en su grupo de Auto Scaling .

Requisitos previos

  • Un balanceador de carga y grupo de destino. Asegúrese de elegir las mismas zonas de disponibilidad para el balanceador de carga que tiene previsto utilizar para su grupo de Auto Scaling. Para obtener más información, consulte Introducción a Elastic Load Balancing en la Guía del usuario de Elastic Load Balancing.

  • Un grupo de seguridad para la plantilla o configuración de lanzamiento. El grupo de seguridad debe permitir el acceso desde el balanceador de cargas tanto en el puerto de escucha (normalmente el puerto 80 para el HTTP tráfico) como en el puerto que quiere que Elastic Load Balancing utilice para las comprobaciones de estado. Para obtener más información, consulte la documentación aplicable:

    Si lo desea, si sus instancias van a tener direcciones IP públicas, puede permitir que SSH el tráfico se conecte a las instancias.

  • (Opcional) Un IAM rol al que se le otorga acceso a la aplicación AWS.

  • (Opcional) Una imagen de máquina de Amazon (AMI) definida como plantilla de origen para sus EC2 instancias de Amazon. Para crear una, lance una instancia. Especifique el IAM rol (si creó uno) y los scripts de configuración que necesite como datos de usuario. Conéctese a la instancia y personalícela. Por ejemplo, puede instalar software y aplicaciones, copiar datos y adjuntar EBS volúmenes adicionales. Pruebe la aplicación en la instancia para asegurarse de que se ha configurado correctamente. Guarde esta configuración actualizada como personalizadaAMI. Puede terminar la instancia si no la necesita más tarde. Las instancias lanzadas a partir de esta nueva personalización AMI incluyen las personalizaciones que realizó al crear laAMI.

  • Una nube privada virtual (VPC). En este tutorial se hace referencia a la opción predeterminadaVPC, pero puedes usar la tuya propia. Si usa la suya propiaVPC, asegúrese de que tenga 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. También debe tener dos subredes privadas o dos subredes públicas para crear el grupo de Auto Scaling y registrarlo en el balanceador de carga.

Paso 1: Configurar una plantilla de lanzamiento o una configuración de lanzamiento

Utilice una plantilla de lanzamiento o una configuración de lanzamiento para este tutorial.

Selecciona o crea una plantilla de lanzamiento

Si ya tiene una plantilla de lanzamiento que desee utilizar, selecciónela con el siguiente procedimiento.

Para seleccionar una plantilla de lanzamiento existente
  1. Abre la página de plantillas de lanzamiento de la EC2 consola de Amazon.

  2. En la barra de navegación de la parte superior de la pantalla, elija la región donde se creó el balanceador de carga.

  3. Seleccione una plantilla de lanzamiento.

  4. Elija Actions (Acciones), Create an Auto Scaling group (Crear un grupo de Auto Scaling).

También puede crear una nueva plantilla de lanzamiento mediante el siguiente procedimiento.

Para crear una plantilla de lanzamiento
  1. Abre la página de plantillas de lanzamiento de la EC2 consola de Amazon.

  2. En la barra de navegación de la parte superior de la pantalla, elija la región donde se creó el balanceador de carga.

  3. Elija Crear plantilla de inicialización.

  4. Escriba un nombre y una descripción para la versión inicial de la plantilla de lanzamiento.

  5. En el caso de las imágenes de aplicaciones y sistemas operativos (Amazon Machine Image), elija el AMI ID de las instancias. Puede buscar entre todas las disponibles AMIs o seleccionar una AMI de las listas recientes o de inicio rápido. Si no encuentra lo AMI que necesita, elija Explorar más AMIs para ver el AMI catálogo completo.

  6. En el tipo de instancia, seleccione una configuración de hardware para las instancias que sea compatible con la AMI que especificó.

  7. (Opcional) En Key pair (login) (Par de claves [inicio de sesión]), elija el par de claves que va a usar al conectarse a sus instancias.

  8. En Network settings (Configuración de red), expanda Advanced network configuration (Configuración avanzada de red) y proceda del modo siguiente:

    1. Elija Add network interface (Agregar interfaz de red) para configurar la interfaz de red principal.

    2. En Asignar automáticamente una IP pública, especifica si tus instancias reciben IPv4 direcciones públicas. De forma predeterminada, Amazon EC2 asigna una IPv4 dirección pública si la EC2 instancia se lanza en una subred predeterminada o si la instancia se lanza en una subred que se ha configurado para asignar automáticamente una dirección pública. IPv4 Si no necesitas conectarte a tus instancias, puedes elegir Inhabilitar para evitar que las instancias de tu grupo reciban tráfico directamente de Internet. En este caso, recibirán tráfico solo desde el balanceador de carga.

    3. En el campo ID del grupo de seguridad, especifica un grupo de seguridad para tus instancias que sea el VPC mismo que el del balanceador de cargas.

    4. Para Delete on termination (Eliminar al terminar), elija Yes (Sí). Esto elimina la interfaz de red cuando el grupo de Auto Scaling escala, y termina la instancia a la que la interfaz de red está asociada.

  9. (Opcional) Para distribuir las credenciales de forma segura a sus instancias, en Detalles avanzados, perfil de IAM instancia, introduzca el nombre de recurso de Amazon (ARN) de su IAM función.

  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.

  11. Elija Crear plantilla de inicialización.

  12. En la página de confirmación, elija Create Auto Scaling group (Crear grupo de Auto Scaling).

Seleccionar o crear una configuración de lanzamiento

nota

Desaconsejamos encarecidamente el uso de configuraciones de lanzamiento en aplicaciones nuevas porque se trata de una función antigua que no requiere una inversión planificada. Además, las cuentas nuevas que se creen a partir del 1 de junio de 2023 no tendrán la opción de crear nuevas configuraciones de lanzamiento a través de la consola. Para obtener más información, consulte Configuraciones de lanzamiento de Auto Scaling.

Para seleccionar una configuración de lanzamiento existente
  1. Abre la página de configuraciones de lanzamiento de la EC2 consola de Amazon.

  2. En la barra de navegación de la parte superior, elija la región donde se creó el equilibrador de carga.

  3. Seleccione una configuración de lanzamiento.

  4. Elija Actions (Acciones), Create an Auto Scaling group (Crear un grupo de Auto Scaling).

También puede crear una nueva configuración de lanzamiento mediante el siguiente procedimiento.

Para crear una configuración de lanzamiento
  1. Abre la página de configuraciones de lanzamiento de la EC2 consola de Amazon. Cuando se le pida confirmación, elija Ver configuraciones de lanzamiento para confirmar que desea ver la página Configuraciones de lanzamiento.

  2. En la barra de navegación de la parte superior, elija la región donde se creó el equilibrador de carga.

  3. Elija Create launch configuration (Crear una configuración de lanzamiento) e ingrese un nombre para la configuración de lanzamiento.

  4. Para Amazon machine image (AMI), introduce el ID de tus instancias como criterio de búsqueda. AMI

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

  6. En Additional configuration (Configuración adicional), preste atención a los campos siguientes:

    1. (Opcional) Para distribuir las credenciales de forma segura en su EC2 instancia, por IAMejemplo, en su perfil, seleccione su IAM función. Para obtener más información, consulte Rol de IAM para aplicaciones que se ejecuten en instancias de Amazon EC2.

    2. (Opcional) Para especificar los datos de usuario o un script de configuración para la instancia, pegue los datos o el script en Advanced details (Detalles avanzados), User data (Datos de usuario.

    3. (Opcional) En Advanced Details (Detalles avanzados), IP Address Type (Tipo de dirección IP), mantenga el valor predeterminado. Al crear su grupo de Auto Scaling, puede asignar una dirección IP pública a las instancias de su grupo de Auto Scaling mediante subredes que tengan el atributo de direccionamiento IP público activado, como las subredes predeterminadas en el valor predeterminado. VPC Alternativamente, si no necesita conectarse a sus instancias, puede elegir Do not assign a public IP address to any instances (No asignar una dirección IP pública a ninguna instancia) para evitar que las instancias del grupo reciban tráfico directamente desde internet. En este caso, recibirán tráfico solo desde el balanceador de carga.

  7. En el caso de los grupos de seguridad, elija un grupo de seguridad existente del mismo que el del VPC balanceador de cargas. Si mantienes seleccionada la opción Crear un nuevo grupo de seguridad, se configurará una SSH regla predeterminada para las EC2 instancias de Amazon que ejecutan Linux. Se configura una RDP regla predeterminada para las EC2 instancias de Amazon 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).

    Si ya configuraste un key pair de claves de EC2 instancia de Amazon, puedes elegirlo aquí.

    Si aún no tienes un par de claves de EC2 instancia de Amazon, selecciona Crear un nuevo par de claves y asígnale un nombre reconocible. Elija Download Key Pair (Descargar par de claves) para descargar el par de claves en su equipo.

    importante

    No elija Proceed without a key pair (Continuar si un par de claves) si necesita establecer conexión con las instancias.

  9. Seleccione la casilla de confirmación y, a continuación, elija Create launch configuration.

  10. Seleccione el cuadro de verificación situada junto al nombre de la nueva configuración de lanzamiento y elija Actions (Acciones), Create Auto Scaling Group (Crear grupo de Auto Scaling).

Paso 2: Crear un grupo de Auto Scaling)

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

Para crear un grupo de Auto Scaling
  1. En la página Choose launch template or configuration (Elegir una plantilla o configuración de lanzamiento), para el nombre del grupo de Auto Scaling, ingrese un nombre para su grupo de Auto Scaling.

  2. [Solo plantilla de lanzamiento] En Launch template (Plantilla de lanzamiento), elija si el grupo de Auto Scaling utiliza el valor predeterminado, la última versión o una versión específica de la plantilla de lanzamiento para escalado horizontal.

  3. Elija Next (Siguiente).

    Aparece la página Elegir opciones de lanzamiento de instancias, que le permite elegir la configuración de VPC red que desea que utilice el grupo Auto Scaling y le ofrece opciones para lanzar instancias puntuales y bajo demanda (si ha elegido una plantilla de lanzamiento).

  4. En la sección Red VPC, seleccione la VPC que utilizó para su balanceador de carga. Si eliges la opción predeterminadaVPC, se configura automáticamente para proporcionar conectividad a Internet a tus instancias. Esto VPC incluye una subred pública en cada zona de disponibilidad de la región.

  5. En Availability Zones and subnets (Zonas de disponibilidad y subredes), elija una o más subredes de cada zona de disponibilidad que desee incluir, en función de las zonas de disponibilidad en las que se encuentre el equilibrador de carga. Para obtener más información, consulte Consideraciones a la hora de elegir subredes de VPC.

  6. [Solo plantilla de lanzamiento] En la sección Instance type requirements (Requisitos del tipo de instancia), utilice la configuración predeterminada para simplificar este paso. (No anule la plantilla de lanzamiento). En este tutorial, solo lanzará instancias bajo demanda con el tipo de instancia especificado en la plantilla de lanzamiento.

  7. Elija Next (Siguiente) para ir a la página Configure advanced options (Configuración de opciones avanzadas).

  8. En la sección Load balancing (Equilibrador de carga), elija Attach to an existing load balancer (Adjuntar a un equilibrador de carga existente) para adjuntar el grupo a un equilibrador de carga ya existente. Puede elegir Choose from your load balancer target groups (Elegir entre los grupos de destino del equilibrador de carga) o Choose from Classic Load Balancers (Elegir entre los Classic Load Balancer). A continuación, puede elegir el nombre de un grupo de destino para el Application Load Balancer o el Network Load Balancer que creó, o bien elegir el nombre de un Classic Load Balancer.

  9. (Opcional) En Comprobaciones de estado, Tipos de comprobaciones de estado adicionales, seleccione Activar las comprobaciones de estado de Elastic Load Balancing.

  10. (Opcional) En Período de gracia de comprobación de estado, ingrese el tiempo, en segundos. Esta cantidad de tiempo es el tiempo que debe esperar Amazon EC2 Auto Scaling antes de comprobar el estado de una instancia una vez que entra en ese InService estado. Para obtener más información, consulte Establezca el periodo de gracia de la comprobación de estado para un grupo de escalado automático.

  11. Cuando haya terminado de configurar el grupo de Auto Scaling, elija Skip to review (Omitir para revisar).

  12. En la página Review (Revisar), revise los detalles del grupo de Auto Scaling. Si desea realizar cambios, haga clic en Edit. Cuando termine, elija Create Auto Scaling group (Crear grupo 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 step-by-step obtener instrucciones, consulteCambio de la capacidad deseada de su grupo de escalado automático.

Paso 3: Verificar que el balanceador de carga está adjunto

Para verificar que el balanceador de carga está adjunto
  1. En la página de grupos de Auto Scaling de la EC2 consola de Amazon, selecciona la casilla de verificación situada junto a tu grupo de Auto Scaling.

  2. En la pestaña Details (Detalles), en Load balancing (Balanceador de carga), se muestran los grupos de destino del balanceador de carga asociado o balanceadores de carga clásicos.

  3. En la pestaña Activity (Actividad) en Activity history (Historial de actividad), puede comprobar que las instancias se hayan lanzado correctamente. La columna Status (Estado) indica si el grupo de Auto Scaling ha lanzado las instancias correctamente. Si las instancias no se lanzan, puede encontrar ideas de solución de problemas para problemas de lanzamiento de instancias comunes en Solución de problemas en Amazon EC2 Auto Scaling.

  4. En la pestaña Instance management (Administración de instancias), en Instances (Instancias), puede comprobar 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. La columna Estado de salud muestra el resultado de las comprobaciones de estado de Amazon EC2 Auto Scaling 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. Abre la página Grupos objetivo de la EC2 consola de Amazon. Seleccione el grupo de destino y elija la pestaña Targets (Destinos). Si el estado de las instancias es initial, es probable que se deba a que todavía están en proceso de registrarse o están siendo sometidas a comprobaciones de estado. Cuando el estado de las instancias sea healthy, están listas para utilizarse.

Paso 4: Siguientes pasos

Ahora que ha completado este tutorial, puede obtener más información:

  • Amazon EC2 Auto Scaling determina si una instancia está en buen estado en función del estado de las comprobaciones de estado que utilice su grupo de Auto Scaling. Si habilitas las comprobaciones de estado del balanceador de cargas y una instancia no pasa las comprobaciones de estado, tu grupo de Auto Scaling considera que la instancia no está en buen estado y la reemplaza. Para obtener más información, consulte Comprobaciones de estado.

  • Puede ampliar la aplicación a una zona de disponibilidad adicional de la misma región para aumentar la tolerancia a errores en caso de interrupción del servicio. Para obtener más información, consulte .

  • Puede configurar el grupo de Auto Scaling para que utilice una política de escalado de seguimiento de destino. Esto aumenta o disminuye automáticamente el número de instancias a medida que cambie la demanda de las instancias. Esta permite que el grupo gestione 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.

Paso 5: Eliminar

Cuando haya acabado con los recursos que creó para este tutorial, debería considerar la posibilidad de eliminarlos para evitar incurrir en gastos innecesarios.

Para eliminar el grupo de Auto Scaling
  1. Abra la página de grupos de Auto Scaling de la EC2 consola de Amazon.

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

  3. Elija Eliminar.

  4. Cuando se le pida la confirmación, escriba delete para confirmar la eliminación del grupo de escalado automático especificado y, a continuación, elija Delete (Eliminar).

    Un icono de carga en la columna Name (Nombre) indica que el grupo de Auto Scaling se está eliminando. Una vez eliminado, las columnas Desired (Deseadas), 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. Abre la página de plantillas de lanzamiento de la EC2 consola de Amazon.

  2. Seleccione la plantilla de lanzamiento.

  3. Elija Actions, Delete template.

  4. Cuando se le pida la confirmación, escriba Delete para confirmar la eliminación de la plantilla de lanzamiento especificada y, a continuación, elija Delete (Eliminar).

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

Para eliminar su configuración de lanzamiento
  1. Abre la página de configuraciones de lanzamiento de la EC2 consola de Amazon.

  2. Seleccione la configuración de lanzamiento.

  3. Seleccione Actions, Delete launch configuration.

  4. Cuando se le pida confirmación, seleccione Eliminar.

Omita el siguiente procedimiento si desea mantener el balanceador de carga para usarlo en el futuro.

Para eliminar el equilibrador de carga
  1. Abre la página de balanceadores de carga de la EC2 consola de Amazon.

  2. Seleccione el balanceador de carga y elija Actions (Acciones), Delete (Eliminar).

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

Para eliminar los grupos de destino
  1. Abre la página Grupos objetivo de la EC2 consola de Amazon.

  2. Elija el grupo de destino y elija Actions (Acciones), Delete (Eliminar).

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

Con AWS CloudFormation ella, puede crear y aprovisionar despliegues de AWS infraestructura de forma predecible y repetitiva, mediante el uso de archivos de plantilla para crear y eliminar un conjunto de recursos juntos como una sola unidad (una pila). Para obtener más información, consulte la AWS CloudFormation Guía del usuario de .

Para ver un tutorial que muestra cómo usar una plantilla de pila para aprovisionar un grupo de escalado automático y un Equilibrador de carga de aplicación, consulte Tutorial: Creación de una aplicación con escalado y equilibrio de carga en la Guía del usuario de AWS CloudFormation . Utilice el tutorial y la plantilla de ejemplo como punto de partida para crear plantillas similares para satisfacer sus necesidades.