As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS Batch no AWS Fargate
O AWS Fargate é uma tecnologia que pode ser usada com o AWS Batch para executar contêineres
Ao executar seus trabalhos com recursos do Fargate, você empacota sua aplicação em contêineres, especifica os requisitos de CPU e de memória, define as políticas do IAM e de rede e inicia a aplicação. Cada trabalho do Fargate tem seu próprio limite de isolamento e não compartilha o kernel subjacente, os recursos de CPU, os recursos de memória nem a interface de rede elástica com outro trabalho.
Sumário
Quando usar o Fargate
Recomendamos usar o Fargate na maioria dos cenários. O Fargate inicia e escala a computação de acordo com os requisitos de recursos que você especifica para o contêiner. Com o Fargate, você não precisa provisionar em excesso nem pagar por servidores adicionais. Você também não precisa se preocupar com as especificidades dos parâmetros relacionados à infraestrutura, como o tipo de instância. Quando o ambiente de computação precisa ter a escala aumentada verticalmente, os trabalhos executados nos recursos do Fargate podem ser iniciados mais rapidamente. Normalmente, são necessários alguns minutos para ativar uma nova instância do Amazon EC2. No entanto, as tarefas executadas no Fargate podem ser provisionadas em cerca de 30 segundos. O tempo exato necessário depende de vários fatores, incluindo o tamanho da imagem do contêiner e o número de trabalhos.
No entanto, recomendamos que você use o Amazon EC2 se seus trabalhos exigirem qualquer um dos seguintes:
-
Mais de 16 vCPUs
-
Mais de 120 gibibytes (GiB) de memória
-
UMA GPU
-
Imagem de máquina da Amazon (AMI) personalizada
-
Qualquer um dos parâmetros do linuxParameters
Se você tem um grande número de trabalhos, recomendamos usar a infraestrutura do Amazon EC2. Por exemplo, se o número de trabalhos em execução simultânea exceder os limites de controle de utilização do Fargate. Isso ocorre porque, com o EC2, os trabalhos podem ser enviados em uma taxa maior para os recursos do EC2 do que para os recursos do Fargate. Além disso, mais trabalhos podem ser executados simultaneamente quando você usa o EC2. Para obter mais informações, consulte AWSCotas de serviço do Fargate no Guia do desenvolvedor do Amazon Elastic Container Service.
Definições de trabalho no Fargate
Os trabalhos do AWS Batch no Fargate não oferecem suporte a todos os parâmetros de definição de trabalho disponíveis. Alguns parâmetros são totalmente incompatíveis e outros se comportam de maneira diferente nos trabalhos do Fargate.
A lista a seguir descreve os parâmetros de definição de tarefa que não são válidos ou são restritos nos trabalhos do Fargate.
platformCapabilities
-
Deve ser especificado como
FARGATE
."platformCapabilities": [ "FARGATE" ]
type
-
Deve ser especificado como
container
."type": "container"
- Parâmetros em
containerProperties
-
executionRoleArn
-
Deve ser especificado para trabalhos em execução nos recursos do Fargate. Para mais informações, consulte Funções do IAM para Tarefas no Guia de Desenvolvedor Amazon Elastic Container Service.
"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
fargatePlatformConfiguration
-
(Opcional, somente para definições de trabalho do Fargate). Especifica a versão da plataforma do Fargate a
LATEST
ou de uma versão da plataforma recente. Valores possíveis paraplatformVersion
são1.3.0
,1.4.0
eLATEST
(padrão)."fargatePlatformConfiguration": { "platformVersion": "1.4.0" }
instanceType
ulimits
-
Não é aplicável a trabalhos executados nos recursos do Fargate.
memory
vcpus
-
Essas configurações devem ser especificadas em
resourceRequirements
privileged
-
Não especifique esse parâmetro ou especifique
false
."privileged": false
resourceRequirements
-
Os requisitos de memória e vCPU devem ser especificados usando valores compatíveis. Os recursos de GPU não são compatíveis com trabalhos executados nos recursos do Fargate.
Se você usa o GuardDuty Runtime Monitoring, há uma pequena sobrecarga de memória para o agente GuardDuty de segurança. Portanto, o limite de memória deve incluir o tamanho do agente GuardDuty de segurança. Para obter informações sobre os limites de memória do GuardDuty Security Agent, consulte Limites de CPU e memória no Guia GuardDuty do usuário. Para obter informações sobre as melhores práticas, consulte Como faço para corrigir erros de falta de memória em minhas tarefas do Fargate depois de ativar o Runtime Monitoring no Amazon ECS Developer Guide.
"resourceRequirements": [ {"type": "MEMORY", "value": "512"}, {"type": "VCPU", "value": "0.25"} ]
- Parâmetros em
linuxParameters
-
devices
maxSwap
sharedMemorySize
swappiness
tmpfs
-
Não é aplicável a trabalhos que sejam executados nos recursos do Fargate.
- Parâmetros em
logConfiguration
-
logDriver
-
Somente
awslogs
esplunk
são compatíveis. Para ter mais informações, consulte Usar o driver de log awslogs.
- Membros em
networkConfiguration
-
assignPublicIp
-
Se a sub-rede privada não tiver um gateway NAT conectado para enviar tráfego para a Internet,
assignPublicIp
deverá ser “ENABLED
”. Para ter mais informações, consulte AWS Batch função de execução do IAM.
Filas de trabalhos no Fargate
As filas de trabalhos do AWS Batch no Fargate permanecem essencialmente inalteradas. A única restrição é que os ambientes de computação listados em computeEnvironmentOrder
devem ser todos ambientes de computação Fargate (FARGATE
ou FARGATE_SPOT
). Os ambientes de computação EC2 e Fargate não podem ser misturados.
Ambientes de computação no Fargate
Ambientes de computação do AWS Batch no Fargate não são compatíveis com todos os parâmetros do ambiente de computação disponíveis. Alguns parâmetros são totalmente incompatíveis. Outros têm requisitos específicos para o Fargate.
A lista a seguir descreve os parâmetros do ambiente de computação que não são válidos ou são restritos nos trabalhos do Fargate.
type
-
Esse parâmetro precisa ser
MANAGED
."type": "MANAGED"
- Parâmetros no objeto
computeResources
-
allocationStrategy
bidPercentage
desiredvCpus
imageId
instanceTypes
ec2Configuration
ec2KeyPair
instanceRole
launchTemplate
minvCpus
placementGroup
spotIamFleetRole
-
Eles não são aplicáveis aos ambientes computacionais Fargate e não podem ser fornecidos.
subnets
-
Se as sub-redes listadas nesse parâmetro não tiverem gateways NAT conectados, o parâmetro
assignPublicIp
na definição do trabalho deverá ser definido comoENABLED
. tags
-
Isso não é aplicável aos ambientes computacionais Fargate e não pode ser fornecido. Para especificar tags para ambientes de computação Fargate, use o parâmetro
tags
que não está no objetocomputeResources
. type
-
Isso deve ser
FARGATE
ouFARGATE_SPOT
."type": "FARGATE_SPOT"