Implementación de aplicaciones de Elastic Beanstalk desde contenedores Docker - AWS Elastic Beanstalk

Implementación de aplicaciones de Elastic Beanstalk desde contenedores Docker

Elastic Beanstalk permite implementar aplicaciones web desde contenedores de Docker. Con los contenedores de Docker, puede definir su propio entorno de ejecución. También puede elegir su propia plataforma, lenguaje de programación y las dependencias de la aplicación (por ejemplo, herramientas o administradores de paquetes), que normalmente no son compatibles con otras plataformas. Los contenedores de Docker son autónomos y contienen todo el software y la información de configuración que la aplicación web necesita para ejecutarse. Todas las variables de entorno definidas en la consola de Elastic Beanstalk se transfieren a los contenedores.

Si usa Docker con Elastic Beanstalk, tendrá una infraestructura que administrará todos los detalles de aprovisionamiento de la capacidad, el balanceo de carga, el escalado y la supervisión del estado de las aplicaciones. Puede administrar fácilmente su aplicación web en un entorno que admita el conjunto de servicios integrados con Elastic Beanstalk.

En los temas de este capítulo se supone que tiene conocimientos de los entornos de Elastic Beanstalk. Si no ha usado Elastic Beanstalk antes, pruebe el tutorial de introducción para conocer los conceptos básicos. En este capítulo, se presupone que tiene conocimientos básicos sobre Docker y su funcionamiento. Para obtener más información, consulte Docker overview (Información general de Docker) en el sitio web de Docker.

La familia de plataformas Docker

La familia de plataformas Docker para Elastic Beanstalk incluye varias ramificaciones de plataformas. Las ramificaciones de la plataforma más actuales se basan en el sistema operativo Amazon Linux 2 y ofrecen soporte a largo plazo:

  • Docker que se ejecuta en Amazon Linux 2 de 64 bits

  • ECS que se ejecuta en Amazon Linux 2 de 64 bits

Para obtener más información sobre las ramificaciones de plataforma compatibles para cada plataforma Docker, consulte la página Plataformas admitidas en el documento Plataformas de AWS Elastic Beanstalk.

Hay otras tres ramificaciones de plataforma que admiten Docker. Estas se retirarán el 30 de junio de 2022. Todas ellas se ejecutan en la AMI de Amazon Linux, que precede a Amazon Linux 2:

  • Docker que se ejecuta en Amazon Linux de 64 bits

  • Multicontainer Docker que se ejecuta en Amazon Linux de 64 bits (administrada por Amazon ECS)

  • Docker preconfigurada (Glassfish 5.0) que se ejecuta en Amazon Linux

Para ver una lista de las ramificaciones de la plataforma que se retirarán, consulte ramificaciones de la plataforma programadas para su retiro en la guía Plataformas de AWS Elastic Beanstalk.

Docker que se ejecuta en Amazon Linux 2

Esta ramificación de la plataforma es compatible con un solo contenedor y con varios contenedores. Elastic Beanstalk implementa una imagen de Docker y el código fuente en instancias de EC2 en esta ramificación de la plataforma. Utilice la herramienta Docker Compose en la plataforma Docker para simplificar la configuración, las pruebas y la implementación de su aplicación. Para obtener más información sobre esta ramificación de la plataforma, consulte Uso de la ramificación de la plataforma Docker.

ECS que se ejecuta en Amazon Linux 2 de 64 bits

Esta ramificación de la plataforma utiliza Amazon ECS para coordinar una implementación de varios contenedores de Docker en un clúster de Amazon ECS dentro de un entorno de Elastic Beanstalk. Todas las instancias del entorno ejecutan el mismo conjunto de contenedores, que está definido en un archivo Dockerrun.aws.json. Para obtener más información, consulte Uso de la ramificación de la plataforma de Amazon ECS .

Ramificaciones de la plataforma que se ejecutan en Amazon Linux (precede a Amazon Linux 2)

nota

Está previsto que las siguientes ramificaciones de la plataforma se retiren el 30 de junio de 2022. Para obtener más información sobre la política de compatibilidad de la plataforma y las ramificaciones de la plataforma retiradas, consulte el tema Política de compatibilidad de la plataforma de esta guía.

Esta ramificación de la plataforma puede utilizarse para implementar una imagen de Docker, descrita en un Dockerfile o en una definición Dockerrun.aws.json de la v1. Esta plataforma solo admite el sistema operativo de la AMI de Amazon Linux (la versión que precede a Amazon Linux 2) y ejecuta solo un contenedor para cada instancia.

Le recomendamos que cree sus entornos con la ramificación de la plataforma más nueva y compatible: Docker que se ejecuta en Amazon Linux 2 de 64 bits. Para obtener más información, consulte Uso de la ramificación de la plataforma Docker .

Esta ramificación de la plataforma utiliza Amazon ECS para coordinar una implementación de varios contenedores de Docker en un clúster de Amazon ECS dentro de un entorno de Elastic Beanstalk. Sin embargo, solo es compatible con el sistema operativo de la AMI de Amazon Linux (la versión que precede a Amazon Linux 2). En lugar de utilizar esta ramificación de la plataforma, le recomendamos que utilice una de las ramificaciones de la plataforma Docker mencionadas anteriormente que se ejecutan en Amazon Linux 2.

Si ya utiliza esta ramificación de la plataforma, le recomendamos que migre a la última ramificación de la plataforma ECS que se ejecuta en Amazon Linux 2 de 64 bits. La ramificación de la plataforma más reciente es compatible con todas las características de esta ramificación de la plataforma suspendida. No es necesario realizar cambios en el código fuente. Para obtener más información, consulte Migración de Multicontainer Docker que se ejecuta en Amazon Linux a ECS en Amazon Linux 2 .

Además de las dos plataformas Docker genéricas, también existe la ramificación de la plataforma Docker GlassFish preconfigurada que se ejecuta en el sistema operativo de la AMI de Amazon Linux (la versión que precede a Amazon Linux 2). Esta ramificación de la plataforma se reemplazó por la ramificación de la plataforma Docker que se ejecuta en Amazon Linux 2 de 64 bits. Implemente GlassFish y su código de aplicación en una imagen de Docker de Amazon Linux 2 para migrar con facilidad su aplicación de GlassFish a esta ramificación de la plataforma más nueva y compatible. Para obtener más información, consulte Implementación de una aplicación GlassFish en la plataforma Docker.