

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécution de tâches à architecture mixte (X86\_64 et ARM64)
<a name="ecs-managed-instances-multi-architecture"></a>

Un seul environnement de calcul Amazon ECS Managed Instances et une seule file de tâches peuvent exécuter à la fois `X86_64` des tâches `ARM64` (basées sur le processeur AWS Graviton). Chaque tâche s'exécute sur une capacité qui correspond à l'architecture du processeur déclarée dans sa définition de tâche. Définissez l'architecture `runtimePlatform.cpuArchitecture` dans la définition du poste. Vous ne configurez pas l'architecture sur l'environnement informatique.

Pour exécuter des tâches à architecture mixte, fournissez une image de conteneur qui prend en charge les deux architectures (un manifeste d'image multi-architecture) et enregistrez une définition de tâche par architecture définie sur ou. `runtimePlatform.cpuArchitecture` `X86_64` `ARM64` Vous pouvez soumettre des tâches pour l'une ou l'autre des définitions de tâches à la même file d'attente de tâches.

```
"runtimePlatform": {
  "operatingSystemFamily": "LINUX",
  "cpuArchitecture": "ARM64"
}
```

Configurez ensuite l'environnement informatique de l'une des manières suivantes :
+ Omettez `instanceRequirements` de rendre tous les types d'instances éligibles.
+ Spécifiez `allowedInstanceTypes` qu'ils couvrent toutes les architectures utilisées par vos tâches.

Ne pas spécifier de type d'instance  
Omettez le `instanceRequirements` champ de `managedInstancesProvider.instanceLaunchTemplate` (le paramètre qui limite les types d'instances que l'environnement de calcul peut utiliser). Tous les types d'instances sont éligibles et Amazon ECS sélectionne la capacité qui correspond à celle de chaque tâche`runtimePlatform.cpuArchitecture`. Une `X86_64` tâche est lancée sur une instance x86 et une `ARM64` tâche est lancée sur une instance AWS Graviton à partir du même environnement de calcul.

Spécifiez les types d'instances qui couvrent les architectures requises  
Si vous définissez`instanceRequirements.allowedInstanceTypes`, incluez des types d'instance pour chaque architecture déclarée par vos jobs. Amazon ECS déduit l'architecture à partir des types d'instances que vous autorisez. Les types d'instances autorisés doivent satisfaire à ceux de chaque tâche`runtimePlatform.cpuArchitecture`. Par exemple, pour exécuter les deux architectures, incluez :  
+ les familles x86, telles que et `m5` `c5`
+ AWS Les familles de gravitons, telles que et `m7g` `c7g`

**La tâche échoue si aucun type d'instance correspondant n'est disponible**  
Si les types d'instance autorisés n'incluent aucun type correspondant à l'architecture déclarée d'une tâche, celle-ci échoue pour la raison suivante :  
`ResourceInitializationError: No available instance types were able to satisfy the task and placement constraints.`  
Par exemple, si vous ne `allowedInstanceTypes` répertoriez que les familles x86 et que vous soumettez une `ARM64` tâche, celle-ci échoue avec cette erreur. Pour résoudre ce problème, ajoutez une famille d'instances AWS Graviton à`allowedInstanceTypes`. Vous pouvez également supprimer `instanceRequirements` pour autoriser tous les types d'instances.