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.
Uso de la rama de plataforma Docker gestionada por ECS en Elastic Beanstalk
En este tema se proporciona una descripción general de las sucursales de la plataforma Docker gestionada por ECS de Elastic Beanstalk para Amazon Linux 2 y Amazon Linux 2023. También proporciona información de configuración específica de la plataforma gestionada Docker ECS.
Migración de Docker multicontenedor a AL1
El 18 de julio de 2022, Elastic Beanstalk estableció el estado de todas las ramas de plataforma basadas en la AMI de Amazon Linux () como retiradas. AL1 Si bien en este capítulo se proporciona información de configuración para esta plataforma retirada, le recomendamos encarecidamente que migre a la última rama de plataforma compatible. Si actualmente utiliza la versión retirada de Docker multicontenedor que se ejecuta en la rama de AL1 plataforma, puede migrar a la rama más reciente de ECS que se ejecuta en la plataforma AL2 023. La ramificación de la plataforma más reciente es compatible con todas las características de esta ramificación de la plataforma discontinuada. No es necesario realizar cambios en el código fuente. Para obtener más información, consulte Migración de la aplicación Elastic Beanstalk desde Docker multicontenedor gestionado por ECS sobre AL1 a ECS en Amazon Linux 2023.
Plataforma Docker administrada por ECS
Elastic Beanstalk utiliza Amazon Elastic Container Service (Amazon ECS) para coordinar las implementaciones de contenedores en entornos de Docker administrados por ECS. Amazon ECS dispone de herramientas para administrar un clúster de instancias que ejecutan contenedores de Docker. Elastic Beanstalk se encarga de las tareas de Amazon ECS, incluida la creación de clústeres, la definición y la ejecución de tareas. Todas las instancias del entorno ejecutan el mismo conjunto de contenedores, que está definido en un archivo Dockerrun.aws.json
de la v2. Para aprovechar Docker al máximo, Elastic Beanstalk le permite crear un entorno en el que las instancias de EC2 Amazon ejecuten varios contenedores de Docker uno al lado del otro.
El siguiente diagrama muestra un ejemplo de entorno de Elastic Beanstalk configurado con tres contenedores Docker que se ejecutan en EC2 cada instancia de Amazon de un grupo de Auto Scaling:

Recursos de Amazon ECS creados por Elastic Beanstalk
Cuando se crea un entorno con la plataforma Docker administrada por ECS, Elastic Beanstalk crea y configura de forma automática varios recursos de Amazon Elastic Container Service mientras crea el entorno. Al hacerlo, crea los contenedores necesarios en cada EC2 instancia de Amazon.
-
Clúster de Amazon ECS las instancias de contenedor de Amazon ECS están organizadas en clústeres. Cuando se utiliza con Elastic Beanstalk, siempre se crea un clúster para cada entorno de Docker administrado por ECS. Un clúster de ECS también contiene proveedores de capacidad de grupo de Auto Scaling y otros recursos.
-
Definición de tareas de Amazon ECS: Elastic Beanstalk utiliza el archivo
Dockerrun.aws.json
de la v2 del proyecto para generar la definición de tareas de Amazon ECS que se utiliza para configurar las instancias de contenedor del entorno. -
Tarea de Amazon ECS: Elastic Beanstalk se comunica con Amazon ECS para ejecutar una tarea en cada instancia del entorno para coordinar la implementación de contenedores. En un entorno escalable, Elastic Beanstalk inicia una nueva tarea siempre que se agrega una instancia al clúster.
-
Agente de contenedor de Amazon ECS: el agente se ejecuta en un contenedor de Docker de las instancias del entorno. El agente sondea el servicio Amazon ECS y espera a que se ejecute una tarea.
-
Volúmenes de datos de Amazon ECS: además de los volúmenes que defina en la
Dockerrun.aws.json
versión 2, Elastic Beanstalk inserta definiciones de volumen en la definición de la tarea para facilitar la recopilación de registros.Elastic Beanstalk crea volúmenes de logs en la instancia de contenedor, uno para cada contenedor, en
/var/log/containers/
. Estos volúmenes se llamancontainername
awseb-logs-
y se proporcionan para los contenedores que se van a montar. Consulte Formato de definición de contenedor para obtener más información acerca de cómo montarlos.containername
Para obtener más información sobre los recursos de Amazon ECS, consulte la Guía para desarrolladores de Amazon Elastic Container Service.
Archivo Dockerrun.aws.json
v2
Las instancias de contenedor necesitan un archivo de configuración llamado Dockerrun.aws.json
. Las instancias de contenedor se refieren a las EC2 instancias de Amazon que ejecutan Docker gestionado por ECS en un entorno de Elastic Beanstalk. Este archivo es específico para Elastic Beanstalk y puede utilizarse solo o junto con el código fuente y el contenido de un paquete de código fuente para crear un entorno en una plataforma de Docker.
nota
El formato de la versión 2 Dockerrun.aws.json
añade compatibilidad con varios contenedores por EC2 instancia de Amazon y solo se puede utilizar con una plataforma Docker gestionada por ECS. El formato difiere considerablemente de las demás versiones del archivo de configuración que admiten las ramas de la plataforma Docker que no están administradas por ECS.
Consulte Dockerrun.aws.json v2 para obtener más información sobre el formato actualizado y un archivo de ejemplo.
Imágenes de Docker
La plataforma Docker administrada por ECS de Elastic Beanstalk necesita imágenes prediseñadas y almacenadas en un repositorio de imágenes en línea público o privado antes de crear un entorno de Elastic Beanstalk.
nota
En la plataforma Docker administrada por ECS de Elastic Beanstalk, no se pueden crear imágenes personalizadas durante la implementación con un archivo Dockerfile
. Cree las imágenes e impleméntelas en un repositorio online antes de crear un entorno de Elastic Beanstalk.
Especifique las imágenes por su nombre en Dockerrun.aws.json
de la v2.
Si desea configurar Elastic Beanstalk para que se autentique en un repositorio privado, incluya el parámetro authentication
en el archivo Dockerrun.aws.json
de la v2.
Implementaciones de contenedores con errores
Si falla una tarea de Amazon ECS, uno o más contenedores en su entorno de Elastic Beanstalk no se iniciarán. Elastic Beanstalk no restaura entornos de varios contenedores debido a una tarea de Amazon ECS que no se realizó. Si un contenedor no puede iniciarse en el entorno, vuelva a implementar la versión actual o una versión anterior que funcionara desde la consola de Elastic Beanstalk.
Para implementar una versión existente
-
Abra la consola de Elastic Beanstalk en la región de su entorno.
-
Haga clic en Actions (Acciones) a la derecha del nombre de la aplicación y luego en View application versions (Ver versiones de la aplicación).
-
Seleccione una versión de la aplicación y haga clic en Deploy (Implementar).
Ampliación de las plataformas Docker basadas en ECS para Elastic Beanstalk
Elastic Beanstalk ofrece funciones de extensibilidad que le permiten aplicar sus propios comandos, scripts, software y configuraciones a las implementaciones de aplicaciones. El flujo de trabajo de implementación para las ramas de las plataformas ECS AL2 y AL2 023 varía ligeramente del de otras plataformas basadas en Linux. Para obtener más información, consulte Flujo de trabajo de implementación de instancias para ECS sobre Amazon Linux 2 y posterior.