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.
Creación de una definición de trabajo de un solo nodo con varios contenedores en los recursos de Amazon EC2
Siga estos pasos para crear una definición de trabajo de un solo nodo con varios contenedores en los recursos de Amazon Elastic Compute Cloud (Amazon EC2).
Para crear una nueva definición de trabajo en los recursos de Amazon EC2:
-
Abra la consola AWS Batch en https://console.aws.amazon.com/batch/
. -
En la barra de navegación, seleccione la Región de AWS a utilizar.
-
En el panel de navegación izquierdo, seleccione Definiciones de trabajos.
-
Seleccione Creación de.
-
Para el Tipo de orquestación, seleccione Amazon Elastic Compute Cloud (Amazon EC2).
-
En Estructura de definición de trabajos, desactive Uso del procesamiento de estructura de containerProperties heredado.
-
Para la Configuración de la plataforma EC2, desactive Habilitar el procesamiento paralelo de varios nodos.
-
Elija Siguiente.
En la sección Configuración general, ingrese lo siguiente:
-
En Nombre, escriba un nombre único para la definición de trabajo. El nombre puede tener una longitud máxima de 128 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones (-) y guiones bajos (_).
-
En Tiempo de espera de ejecución: opcional, ingrese el valor del tiempo de espera (en segundos). El tiempo de espera de ejecución es el tiempo que transcurre antes de que finalice un trabajo pendiente. Si un intento supera la duración del tiempo de espera, el intento se detiene y pasa a un estado
FAILED. Para obtener más información, consulte Tiempos de espera de trabajo. El valor mínimo es de 60 segundos. -
Activa la Prioridad de programación: opcional. Introduzca un valor de prioridad de programación entre 0 y 100. Los valores más altos tienen mayor prioridad.
-
Amplíe Etiquetas: opcional y, a continuación, elija Agregar etiqueta para agregar etiquetas al recurso. Elija Agregar nueva etiqueta e introduzca la clave y el valor opcional.
-
Active Propagar etiquetas para propagar etiquetas desde el trabajo y la definición del trabajo a la tarea de Amazon ECS.
-
En la sección Estrategia de reintento: opcional, ingrese lo siguiente:
-
En Intentos de trabajo, ingrese el número de veces que AWS Batch intenta mover el trabajo al estado
RUNNABLE. Ingrese un número entero entre 1 y 10. -
En Condiciones de la estrategia de reintento, seleccione Agregar evaluación al salir. Introduzca al menos un valor de parámetro y, a continuación, elija una Acción. Para cada conjunto de condiciones, la Acción debe estar configurada como Reintentar o Salir. Estas acciones significan lo siguiente:
-
Reintentar: AWS Batch vuelve a intentarlo hasta alcanzar el número de intentos de trabajo que especificó.
-
Salir: AWS Batch deja de volver a intentar el trabajo.
importante
Si elige Agregar evaluar al salir, debe configurar al menos un parámetro y elegir una Acción o Eliminar evaluar al salir.
-
-
En la sección Propiedades de la tarea, ingrese lo siguiente:
-
En Rol de ejecución: condicional, elija un rol que permita a los agentes de Amazon ECS realizar llamadas a la API de AWS en su nombre. Para obtener más información sobre la creación de un Rol de ejecución, cosulte Tutorial: creación del rol de ejecución de IAM.
-
Elija Habilitar el comando de ejecución ECS para permitir el acceso directo al shell del contenedor de Amazon ECS y omitir el sistema operativo del host. Debe elegir un Rol de tarea.
importante
El comando Ejecución de ECS requiere que el sistema de archivos sea modificable.
-
En Rol de tarea, elija un rol de Identity and Access Management (IAM) de Amazon ECS para permitirle al contenedor realizar llamadas a la API de AWS en su nombre. Para obtener más información, consulte Rol de IAM de las tareas de Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service.
-
En Modo IPC, seleccione
host,taskonone. Si se especificahost, todos los contenedores que están dentro de las tareas que tienen especificado el modo de IPC del host en la misma instancia de contenedor comparten los mismos recursos de IPC con la instancia Amazon EC2 del host. Si se especifica la tarea, todos los contenedores que están dentro de la tarea especificada comparten los mismos recursos de IPC. Si no se especifica nada, los recursos de IPC dentro de los contenedores de una tarea son privados y no se comparten con otros contenedores en una tarea o en la instancia de contenedor. Si no se especifica ningún valor, el uso compartido del espacio de nombre de recursos de IPC depende de la configuración del daemon de Docker en la instancia de contenedor. En Modo PID, elija
hostotask. Por ejemplo, la supervisión de los archivos sidecar puede necesitarpidModepara acceder a información sobre otros contenedores que se ejecutan en la misma tarea. Si se especificahost, todos los contenedores dentro de las tareas que tienen especificado el modo de PID del host en la misma instancia de contenedor comparten el mismo espacio de nombres del proceso con la instancia Amazon EC2 del host. Si se especificatask, todos los contenedores dentro de la tarea especificada comparten el mismo espacio de nombres del proceso. Si no se especifica ningún valor, el valor predeterminado es un espacio de nombre privado para cada contenedor.
-
En la sección Recursos consumibles, ingrese lo siguiente:
-
Ingrese un Nombre único y el Valor solicitado.
Puede agregar más recursos consumibles seleccionando Agregar recurso consumible.
-
En la sección Almacenamiento, ingrese lo siguiente:
-
Ingrese el Nombre y la Ruta de origen del volumen y, a continuación, seleccione Agregar volumen. También puede optar por activar Habilitar EFS.
Puede agregar más volúmenes seleccionando Agregar volumen.
-
-
En Parámetros, elija Agregar parámetros para añadir marcadores de sustitución de parámetros como pares Clave y Valores opcionales.
-
Seleccione Página siguiente.
-
En la sección Configuración del contenedor:
En Name (Nombre), escriba un nombre para el contenedor.
En Contenedor esencial, actívelo si el contenedor es esencial.
-
En Imagen, elija la imagen Docker que desea utilizar para su trabajo. De manera predeterminada, las imágenes del registro de Docker Hub están disponibles. También es posible especificar otros repositorios con
. El nombre puede tener una longitud máxima de 225 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones medios (-), guiones bajos (_), dos puntos (:), barras inclinadas (/) y signos numéricos (#). Este parámetro se asigna arepository-url/image:tagImageen la sección Creación de un contenedorde la API remota de Docker y el parámetro IMAGEde docker run. nota
La arquitectura de la imagen de Docker debe coincidir con la arquitectura del procesador de los recursos informáticos en las que estén programadas. Por ejemplo, las imágenes de Docker basadas en ARM solo se pueden ejecutar en recursos informáticos basados en ARM.
-
Las imágenes de los repositorios públicos de Amazon ECR utilizan las convenciones de nomenclatura completa
registry/repository[:tag]oregistry/repository[@digest](por ejemplo,public.ecr.aws/).registry_alias/my-web-app:latest -
Las imágenes de los repositorios de Amazon ECR utilizan la convención de nomenclatura completa
registry/repository[:tag](por ejemplo,aws_account_id.dkr.ecr.region.amazonaws.com/).my-web-app:latest -
Las imágenes de los repositorios oficiales de Docker Hub utilizan un solo nombre (por ejemplo,
ubuntuomongo). -
Las imágenes de otros repositorios de Docker Hub se clasifican con un nombre de organización (por ejemplo,
amazon/amazon-ecs-agent). -
Las imágenes de otros repositorios online se cualifican más con un nombre de dominio (por ejemplo,
quay.io/assemblyline/ubuntu).
-
En Requisitos de recursos, configure cada una de las siguientes opciones:
En vCPU, elija la cantidad de CPU para el contenedor.
En Memoria, elija la cantidad de memoria para el contenedor.
En GPU: opcional, seleccione la cantidad de GPU para el contenedor.
En Usuario, introduzca el nombre de usuario a utilizar dentro del contenedor.
Active la opción Habilitar el sistema de archivos de solo lectura para eliminar el acceso de escritura al volumen.
Active Privilegiado para otorgar al contenedor de su trabajo permisos elevados en la instancia host, similares a los del usuario raíz.
-
En Comando, ingrese los comandos en el campo como su equivalente de matriz de cadenas JSON.
Este parámetro se asigna a
Cmden la sección Creación de un contenedorde la API remota de Docker y el parámetro COMMANDse corresponde con docker run. Para obtener más información sobre el parámetro CMDde Docker, consulte https://docs.docker.com/engine/reference/builder/#cmd. nota
También puede usar valores predeterminados para la sustitución de parámetros y marcadores de posición en el comando. Para obtener más información, consulte Parameters.
En Credenciales del repositorio: opcional, ingrese el ARN del secreto que contiene sus credenciales.
En Variables de entorno: opcional, seleccione Agregar variables de entorno para agregar variables de entorno y pasarlas al contenedor.
En la sección Parámetros de Linux: opcional:
Active la opción Habilitar el proceso para ejecutar un proceso dentro del contenedor.
En Tamaño de memoria compartida, ingrese el tamaño (en MiB) del volumen de /dev/shm.
En Tamaño de intercambio máximo, introduzca la cantidad total de memoria de intercambio (en MiB) que puede utilizar el contenedor.
En Intercambio, introduzca un valor entre 0 y 100 para indicar el comportamiento de intercambio del contenedor. Si no especifica un valor y el intercambio está activado, el valor predeterminado es 60.
-
En el caso de los Dispositivos, seleccione Agregar dispositivo para añadir un dispositivo:
-
En Container path (Ruta del contenedor), especifique la ruta de la instancia del contenedor que va a exponer el dispositivo asignado a la instancia del host. Si lo deja en blanco, se utiliza la ruta del host en el contenedor.
-
En Host path (Ruta de host), especifique la ruta de un dispositivo de la instancia del host.
-
En la página Permisos, haga clic en uno o varios permisos para aplicarlos al dispositivo. Los permisos disponibles son READ, WRITE y MKNOD.
-
-
En el caso de Tmpfs, seleccione Agregar tmpfs para añadir una montura
tmpfs.
nota
El registro de Firelens debe realizarse en un contenedor dedicado. Cómo configurar el registro de FireLens:
En todos los contenedores, excepto en el contenedor dedicado a Firelens, configure el Controlador de registro en
awsfirelens.En el contenedor de Firelens, configure la Configuración de Firelens: opcional y la Configuración de registro: opcional para el destino del registro.
En la sección Configuración de Firelens: opcional:
importante
AWS Batch aplica el modo de red
hosten trabajos de Amazon ECS que no son de MNP ni de Fargate. El Usuario raíz es obligatoriopara Amazon ECS Firelens. Para mayor seguridad, cuando ejecute tareas utilizando el modo de red host, Amazon ECS recomienda no ejecutar contenedores con el usuario raíz (UID 0). Por lo tanto, todos los trabajos de ECS que no sean de MNP ni de Fargate y que registren Firelens no cumplirán con las prácticas recomendadas de seguridad.-
En Tipo, elija
fluentdofluentbit. -
En Opciones, ingrese el par nombre/valor de la opción. Puede agregar más Opciones mediante la Opción agregada.
-
En la sección de Configuración de registro: opcional:
-
En el Controlador de registro, elija el controlador de registro que desee utilizar. Para obtener más información sobre los controladores de registro disponibles, consulte Controlador de registro en LogConfiguration:logDriver.
nota
Se utiliza el controlador de registro
awslogsde forma predeterminada. -
En Opciones, elija Agregar opción para agregar una opción. Introduzca un par nombre-valor y, a continuación, elija Agregar opción.
-
En Secretos, seleccione Agregar secreto. Introduzca un par nombre-valor y, a continuación, seleccione Agregar secreto para añadir un secreto.
sugerencia
Para obtener más información, consulte LogConfiguration:secretOptions.
-
En Puntos de montaje: opcional, elija la configuración Agregar puntos de montaje para agregar puntos de montaje a los volúmenes de datos. Debe especificar el volumen de origen y la ruta del contenedor.
-
En Secretos: opcional, seleccione Agregar secreto para añadir un secreto. A continuación, introduzca un par nombre-valor y seleccione Agregar secreto.
sugerencia
Para obtener más información, consulte LogConfiguration:secretOptions.
En Unlimits: opcional, seleccione Agregar ulimit para agregar un valor de
ulimitsal contenedor. Introduzca los valores de Nombre, Límite flexible y Límite invariable y, a continuación, elija Agregar límite máximo.En Dependencias: opcional, elija Agregar dependencias de contenedor. Elija el nombre del contenedor y su estado para determinar cuándo comienza.
Si solo tiene un contenedor configurado, debe elegir Agregar contenedor y completar la configuración del nuevo contenedor. De lo contrario, elija Siguiente para revisarla.