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á.
Executando trabalhos de arquitetura mista (X86_64 e ARM64)
Um único ambiente computacional e fila de tarefas de Instâncias Gerenciadas do Amazon ECS podem executar tarefas X86_64 e ARM64 (baseadas no processador AWS Graviton). Cada trabalho é executado com uma capacidade que corresponde à arquitetura de CPU declarada em sua definição de trabalho. Defina a arquitetura runtimePlatform.cpuArchitecture na definição do trabalho. Você não configura a arquitetura no ambiente computacional.
Para executar trabalhos de arquitetura mista, forneça uma imagem de contêiner que ofereça suporte às duas arquiteturas (um manifesto de imagem de várias arquiteturas) e registre uma definição de tarefa por arquitetura definida como ou. runtimePlatform.cpuArchitecture X86_64 ARM64 Você pode enviar trabalhos para qualquer definição de trabalho para a mesma fila de trabalhos.
"runtimePlatform": { "operatingSystemFamily": "LINUX", "cpuArchitecture": "ARM64" }
Em seguida, configure o ambiente computacional de uma das seguintes formas:
-
Omita
instanceRequirementspara qualificar todos os tipos de instância. -
Especifique
allowedInstanceTypesque abranja todas as arquiteturas usadas por seus trabalhos.
- Não especifique tipos de instância
-
Omita o
instanceRequirementscampo demanagedInstancesProvider.instanceLaunchTemplate(a configuração que restringe os tipos de instância que o ambiente computacional pode usar). Todos os tipos de instância são elegíveis, e o Amazon ECS seleciona a capacidade que corresponde à de cada trabalho.runtimePlatform.cpuArchitectureUmaX86_64tarefa é iniciada em uma instância x86 e umaARM64tarefa é iniciada em uma instância AWS Graviton a partir do mesmo ambiente computacional. - Especifique os tipos de instância que cubram as arquiteturas necessárias
-
Se você definir
instanceRequirements.allowedInstanceTypes, inclua tipos de instância para cada arquitetura declarada por seus trabalhos. O Amazon ECS deduz a arquitetura a partir dos tipos de instância que você permite. Os tipos de instância permitidos devem atender aos de cada trabalhoruntimePlatform.cpuArchitecture. Por exemplo, para executar as duas arquiteturas, inclua:-
famílias x86, como e
m5c5 -
AWS Famílias Graviton, como e
m7gc7g
-
O trabalho falhará se nenhum tipo de instância correspondente estiver disponível
Se os tipos de instância permitidos não incluírem nenhum tipo que corresponda à arquitetura declarada de um trabalho, o trabalho falhará pelo seguinte motivo:
ResourceInitializationError: No available instance types were able to satisfy the
task and placement constraints.
Por exemplo, se allowedInstanceTypes listar somente famílias x86 e você enviar um ARM64 trabalho, o trabalho falhará com esse erro. Para resolver esse problema, adicione uma família de instâncias AWS
Graviton a. allowedInstanceTypes Ou remova instanceRequirements para permitir todos os tipos de instância.