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 ramificación de la plataforma de Docker administrada por ECS en Elastic Beanstalk
Este tema proporciona información sobre las ramificaciones de la plataforma Docker administrada por ECS para Amazon Linux 2 y Amazon Linux 2023. También se aplica a la antigua ramificación de la plataforma Docker multicontenedor en AL1 (administrada por ECS), si tiene previsto migrarla a una de las sucursales de plataforma compatibles.
nota
El 18 de julio de 2022, Elastic Beanstalk estableció el estado de todas las ramificaciones de la plataforma basadas en la AMI de Amazon Linux (AL1) como retirado.
Migrar desde Docker de múltiples contenedores en AL1
Si actualmente utiliza la ramificación de la plataforma retirada Docker multicontenedor sobre AL1, puede migrar a la ramificación de la plataforma ECS sobre AL2023 más reciente. 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 sacar el máximo provecho a Docker, Elastic Beanstalk le permite crear un entorno en el que las instancias Amazon EC2 ejecutan varios contenedores de Docker en paralelo.
El siguiente diagrama muestra un entorno de ejemplo de Elastic Beanstalk configurado con tres contenedores Docker que se ejecutan en cada instancia de Amazon EC2 de un grupo de Auto Scaling:
nota
Elastic Beanstalk ofrece características de extensibilidad para todas sus plataformas que se pueden utilizar para personalizar la implementación y la ejecución de sus aplicaciones. Para la ramificación de la plataforma ECS que se ejecuta en Amazon Linux 2, la implementación del flujo de trabajo de la implementación de las instancias de estas características varía de las demás plataformas. Para obtener más información, consulte Flujo de trabajo de implementación de instancias para ECS sobre Amazon Linux 2 y posterior.
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. De este modo, se crean los contenedores necesarios en cada instancia de Amazon EC2.
-
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.
-
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. En casos excepcionales, es posible que tenga que aumentar la cantidad de espacio reservada para contenedores e imágenes. Obtenga más información en la sección Configuración de entornos Docker de Elastic Beanstalk.
-
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: Elastic Beanstalk inserta definiciones de volúmenes (además de los volúmenes definidos en
Dockerrun.aws.json
de la v2) en la definición de tareas 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
Archivo Dockerrun.aws.json
v2
Las instancias de contenedor necesitan un archivo de configuración llamado Dockerrun.aws.json
. Las instancias de contenedor con instancias de Amazon EC2 que ejecutan Docker administrado 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 de Dockerrun.aws.json
agrega compatibilidad con varios contenedores en cada instancia de Amazon EC2 y solo puede utilizarse con la plataforma Docker administrada 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).