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.
AWS Batch en AWS Fargate
La tecnología AWS Fargate se puede utilizar con AWS Batch para ejecutar contenedores
Al ejecutar los trabajos con los recursos de Fargate, la aplicación se empaqueta en contenedores, se especifican los requisitos de CPU y de memoria, se definen las políticas de IAM y de redes y se lanza la aplicación. Cada trabajo de Fargate tiene su propio límite de aislamiento y no comparte el kernel subyacente, los recursos de CPU, los recursos de memoria ni la interfaz de red elástica con otro trabajo.
Contenido
Cuándo usar Fargate
Recomendamos usar Fargate en la mayoría de los casos. Fargate lanza y escala el cómputo para que se ajuste perfectamente a los requisitos de recursos que especifique para el contenedor. Con Fargate, no es necesario aprovisionar en exceso los servidores ni pagar por ellos. Tampoco tiene que preocuparse por los detalles de los parámetros relacionados con la infraestructura, como el tipo de instancia. Cuando es necesario escalar verticalmente el entorno de cómputo, los trabajos que se ejecutan en los recursos de Fargate pueden comenzar más rápidamente. Por lo general, se tardará unos minutos hasta que se lance la instancia de Amazon EC2. Sin embargo, los trabajos que se ejecutan en Fargate se pueden aprovisionar en unos 30 segundos. El tiempo exacto necesario depende de varios factores, como el tamaño de la imagen del contenedor y la cantidad de trabajos.
No obstante, recomendamos utilizar Amazon EC2 si sus trabajos requieren cualquiera de las siguientes opciones:
-
Más de 16 vCPU
-
Más de 120 gibibytes (GiB) de memoria
-
Una GPU
-
Imagen de máquina de Amazon (AMI) personalizada
-
Alguno de los parámetros de LinuxParameters
Si tiene un gran número de trabajos, le recomendamos utilizar la infraestructura de Amazon EC2. Por ejemplo, si el número de trabajos que se ejecutan simultáneamente supera la limitación de regulación de Fargate. Esto se debe a que, con EC2, los trabajos se pueden enviar a un ritmo mayor a los recursos de EC2 que a los recursos de Fargate. Además, se pueden ejecutar más trabajos de forma simultánea cuando se utiliza EC2. Para obtener más información, consulte Fargate Service Quotas AWS en la Guía para desarrolladores de Amazon Elastic Container Service.
Definiciones de trabajo en Fargate
Los trabajos de AWS Batch alojados en Fargate no admiten todos los parámetros de definición de tareas disponibles. Algunos parámetros no son compatibles, y otros se comportan de forma distinta para trabajos de Fargate.
La siguiente lista describe los parámetros de definición de trabajo que no son válidos o están restringidos de otro modo en los trabajos de Fargate.
platformCapabilities
-
Debe especificarse como
FARGATE
."platformCapabilities": [ "FARGATE" ]
type
-
Debe especificarse como
container
."type": "container"
- Parámetros de
containerProperties
-
executionRoleArn
-
Debe especificarse para trabajos que se ejecutan en recursos de Fargate. Para obtener más información, consulte Roles de IAM para tareas en la Guía para desarrolladores de Amazon Elastic Container Service.
"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
fargatePlatformConfiguration
-
(Opcional, solo para las definiciones de trabajo de Fargate). Especifica la versión de la plataforma Fargate o
LATEST
para una versión reciente de la plataforma. Los valores posibles deplatformVersion
son1.3.0
,1.4.0
yLATEST
(predeterminado)."fargatePlatformConfiguration": { "platformVersion": "1.4.0" }
instanceType
ulimits
-
No se aplica a trabajos que se ejecutan en recursos de Fargate.
memory
vcpus
-
Esta configuración debe especificarse en
resourceRequirements
privileged
-
No especifique este parámetro o especifique
false
."privileged": false
resourceRequirements
-
Los requisitos de memoria y vCPU deben especificarse mediante los valores admitidos. Los recursos de GPU no son compatibles con los recursos de Fargate.
Si usa GuardDuty Runtime Monitoring, hay una ligera sobrecarga de memoria para el agente GuardDuty de seguridad. Por lo tanto, el límite de memoria debe incluir el tamaño del agente de GuardDuty seguridad. Para obtener información sobre los límites de memoria del agente de GuardDuty seguridad, consulte los límites de CPU y memoria en la Guía del GuardDuty usuario. Para obtener información sobre las prácticas recomendadas, consulte Cómo corregir los errores de falta de memoria en mis tareas de Fargate después de activar Runtime Monitoring en la Guía para desarrolladores de Amazon ECS.
"resourceRequirements": [ {"type": "MEMORY", "value": "512"}, {"type": "VCPU", "value": "0.25"} ]
- Parámetros de
linuxParameters
-
devices
maxSwap
sharedMemorySize
swappiness
tmpfs
-
No se aplica a trabajos que se ejecutan en recursos de Fargate.
- Parámetros de
logConfiguration
-
logDriver
-
Solo se admiten
awslogs
ysplunk
. Para obtener más información, consulte Uso del controlador de registros awslogs.
- Miembros en
networkConfiguration
-
assignPublicIp
-
Si la subred privada no tiene una puerta de enlace NAT conectada para enviar tráfico a Internet,
assignPublicIp
debe ser «ENABLED
». Para obtener más información, consulte AWS Batch función de IAM de ejecución.
Colas de trabajo en Fargate
AWS Batch las colas de trabajo en Fargate prácticamente no han cambiado. La única restricción es que todos los entornos informáticos que aparecen en la lista en computeEnvironmentOrder
deben ser entornos informáticos de Fargate (FARGATE
o FARGATE_SPOT
). Los entornos informáticos de EC2 y Fargate no se pueden mezclar.
Entornos informáticos en Fargate
AWS Batch Lls entornos informáticos de Fargate no admiten todos los parámetros del entorno informático disponibles. Algunos parámetros no son compatibles. Otros tienen requisitos específicos para Fargate.
La siguiente lista describe los parámetros de entorno informático que no son válidos o están restringidos de otro modo en los trabajos de Fargate.
type
-
Este parámetro debe establecerse en
MANAGED
."type": "MANAGED"
- Parámetros del objeto
computeResources
-
allocationStrategy
bidPercentage
desiredvCpus
imageId
instanceTypes
ec2Configuration
ec2KeyPair
instanceRole
launchTemplate
minvCpus
placementGroup
spotIamFleetRole
-
No se aplican a los entornos informáticos de Fargate y no se pueden proporcionar.
subnets
-
Si las subredes enumeradas en este parámetro no tienen puertas de enlace NAT conectadas, el parámetro
assignPublicIp
de la definición del trabajo debe estar establecido enENABLED
. tags
-
Esto no se aplica a los entornos informáticos de Fargate y no se puede proporcionar. Para especificar etiquetas para los entornos informáticos de Fargate, use el parámetro
tags
que no está en el objetocomputeResources
. type
-
Debe ser
FARGATE
oFARGATE_SPOT
."type": "FARGATE_SPOT"