Entornos del servidor web - AWS Elastic Beanstalk

Entornos del servidor web

En el diagrama siguiente se muestra un ejemplo de arquitectura de Elastic Beanstalk para un nivel de entorno de servidor web y se muestra cómo interactúan los componentes de ese tipo de entorno.


      Diagrama de la arquitectura de AWS Elastic Beanstalk

El entorno es la piedra angular de la aplicación. En el diagrama, el entorno se muestra en la línea continua de nivel superior. Al crear un entorno, Elastic Beanstalk aprovisiona los recursos necesarios para ejecutar la aplicación. Entre los recursos que AWS crea para un entorno se incluye un elastic load balancer (ELB en el diagrama), un grupo de Auto Scaling y una o varias instancias de Amazon Elastic Compute Cloud (Amazon EC2).

Todos los entornos tienen un CNAME (URL) que apunta a un balanceador de carga. El entorno tiene una URL; por ejemplo, myapp.us-west-2.elasticbeanstalk.com. Esta URL tiene alias en Amazon Route 53 a una URL de Elastic Load Balancing, algo así como, abcdef-123456.us-west-2.elb.amazonaws.com mediante un registro CNAME. Amazon Route 53 es un servicio web de sistema de nombres de dominio (DNS) escalable y de alta disponibilidad. Se encarga de direccionar el tráfico a la infraestructura de forma segura y fiable. El nombre de dominio registrado con el proveedor de DNS reenviará las solicitudes a CNAME.

El balanceador de carga se encuentra delante de las instancias de Amazon EC2, que forman parte de un grupo de Auto Scaling. Amazon EC2 Auto Scaling inicia automáticamente más instancias de Amazon EC2 para acomodar el aumento de la carga que registra la aplicación. Si la carga de la aplicación se reduce, Amazon EC2 Auto Scaling detiene las instancias, aunque siempre deja en ejecución al menos una.

El conjunto de software que se ejecuta en las instancias de Amazon EC2 depende del tipo de contenedor. Un tipo de contenedor define la topología de la infraestructura y el conjunto de software que se va a utilizar en ese entorno. Por ejemplo, un entorno de Elastic Beanstalk con un contenedor de Apache Tomcat utilizará el sistema operativo Amazon Linux, un servidor web Apache y software de Apache Tomcat. Para ver una lista de los tipos de contenedores admitidos, consulte Plataformas compatibles con Elastic Beanstalk. Cada instancia de servidor de Amazon EC2 que ejecuta la aplicación utiliza uno de estos tipos de contenedores. Además, en cada instancia de servidor de Amazon EC2, se ejecuta un componente de software llamado administrador del host (HM). El administrador de host es responsable de lo siguiente:

  • Implementar la aplicación

  • Agregar eventos y métricas para recuperar información a través de la consola, la API o la línea de comando

  • Generar eventos de nivel de instancia

  • Monitorizar los archivos log de la aplicación en busca de errores críticos

  • Monitorizar el servidor de aplicaciones

  • Instalar parches en los componentes de la instancia

  • Rotar los archivos log de la aplicación y publicarlos en Amazon S3

El administrador del host registra métricas, errores, eventos y el estado de las instancias del servidor, que están disponibles a través de la consola de Elastic Beanstalk, las API y las CLI.

Las instancias de Amazon EC2 que se muestran en el diagrama forman parte de un grupo de seguridad. Los grupos de seguridad definen las reglas del firewall de las instancias. De forma predeterminada, Elastic Beanstalk define un grupo de seguridad, lo que permite a todos los usuarios conectarse a través del puerto 80 (HTTP). Puede definir varios grupos de seguridad. Por ejemplo, puede definir un grupo de seguridad para el servidor de base de datos. Si desea obtener más información sobre los grupos de seguridad de Amazon EC2 y cómo configurarlos para la aplicación de Elastic Beanstalk, consulte Grupos de seguridad.