

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.

# Création d'une définition de tâche sur les instances gérées Amazon ECS
<a name="create-job-definition-ecs-managed-instances"></a>

Les définitions de tâches d'Amazon ECS Managed Instances sont utilisées `ecsProperties` conjointement avec les fonctionnalités de la `MANAGED_INSTANCES` plateforme. Contrairement à Fargate, il n'existe aucune restriction sur les combinaisons de vCPU et de taille de mémoire, et les ressources GPU sont prises en charge. Pour plus d'informations sur les paramètres pris en charge, consultez[Définitions des tâches sur les instances gérées Amazon ECS](ecs-managed-instances-job-definitions.md).

## Création d'une définition de tâche sur Amazon ECS Managed Instances (console)
<a name="create-jd-ecs-managed-instances-console"></a>

**Pour créer une nouvelle définition de tâche sur les instances gérées Amazon ECS, procédez comme suit :**

1. Ouvrez la AWS Batch console à l'adresse [ https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans la barre de navigation supérieure, choisissez l'option Région AWS à utiliser.

1. Dans le volet de navigation de gauche, choisissez Définitions de ** tâches**.

1. Choisissez **Créer**.

1. Pour le type ** d'orchestration**, choisissez ** ECS Managed Instances. **

1. Dans le ** champ Nom**, entrez un nom unique pour votre définition de poste. Le nom peut comporter jusqu'à 128 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (\_).

1. (Facultatif) Pour ** Execution timeout**, entrez la valeur du timeout (en secondes). Le délai d'exécution est la durée qui s'écoule avant qu'une tâche inachevée ne soit terminée. Si une tentative dépasse le délai imparti, elle est arrêtée et passe à un `FAILED` statut. Pour de plus amples informations, veuillez consulter [Délais d'exécution des tâches](job_timeouts.md). La valeur minimale est 60 secondes.

1. Pour le rôle ** d'exécution**, choisissez un rôle IAM qui autorise l'agent de conteneur Amazon ECS à effectuer des appels AWS d'API en votre nom. Ce rôle est obligatoire pour les tâches Amazon ECS Managed Instances. Par exemple, le rôle est utilisé pour extraire des images de conteneurs depuis Amazon ECR.

1. Dans la ** section Configuration du ** conteneur :

   1. Dans ** Image**, entrez l'image du conteneur à utiliser pour la tâche. Les images des registres Amazon ECR peuvent être spécifiées selon la convention de `{{repository-url}}/{{image}}:{{tag}}` dénomination. Les images des registres publics utilisent l'URI complet (par exemple,`public.ecr.aws/amazonlinux/amazonlinux:2023`).

   1. Dans le ** champ ** Commande, entrez la commande à transmettre au conteneur.

   1. Dans **vCPUs**, précisez le nombre de vCPU à réserver pour le conteneur.

   1. Pour ** Mémoire**, spécifiez la limite de mémoire (en MiB) disponible pour le conteneur.

   1. (Facultatif) Pour les ** GPU**, spécifiez le nombre de périphériques GPU à mettre à la disposition du conteneur. L'environnement de calcul doit disposer d'instances GPU.

1. (Facultatif) Développez les ** balises**, puis choisissez ** Ajouter une balise ** pour ajouter des balises à la ressource. Activez ** Propager les balises ** pour propager les balises à partir de la tâche et de la définition de la tâche.

1. Choisissez **Créer une définition de tâche**.

## Création d'une définition de tâche sur les instances gérées Amazon ECS (AWS CLI)
<a name="create-jd-ecs-managed-instances-cli"></a>

Utilisez la `register-job-definition` commande pour créer une définition de tâche pour les instances gérées Amazon ECS.

### Exemple de base
<a name="create-jd-ecs-managed-instances-cli-basic"></a>

L'exemple suivant crée une définition de tâche minimale qui exécute une commande simple.

```
$ aws batch register-job-definition \
    --job-definition-name {{my-managed-instances-job-def}} \
    --type container \
    --platform-capabilities MANAGED_INSTANCES \
    --ecs-properties '{
      "taskProperties": [{
        "containers": [{
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2023",
          "name": "main",
          "command": ["echo", "hello managed instances"],
          "resourceRequirements": [
            {"type": "VCPU", "value": "1"},
            {"type": "MEMORY", "value": "1024"}
          ]
        }],
        "executionRoleArn": "arn:aws:iam::{{123456789012}}:role/{{ecsTaskExecutionRole}}"
      }]
    }'
```

### Définition des tâches du GPU
<a name="create-jd-ecs-managed-instances-cli-gpu"></a>

L'exemple suivant crée une définition de tâche qui demande des ressources GPU.

```
$ aws batch register-job-definition \
    --job-definition-name {{my-gpu-managed-instances-job-def}} \
    --type container \
    --platform-capabilities MANAGED_INSTANCES \
    --ecs-properties '{
      "taskProperties": [{
        "containers": [{
          "image": "{{123456789012}}.dkr.ecr.{{us-east-1}}.amazonaws.com/{{my-gpu-image}}:latest",
          "name": "main",
          "command": ["nvidia-smi"],
          "resourceRequirements": [
            {"type": "VCPU", "value": "4"},
            {"type": "MEMORY", "value": "16384"},
            {"type": "GPU", "value": "1"}
          ]
        }],
        "executionRoleArn": "arn:aws:iam::{{123456789012}}:role/{{ecsTaskExecutionRole}}"
      }]
    }'
```

### Multi-container définition du poste (sidecar)
<a name="create-jd-ecs-managed-instances-cli-sidecar"></a>

L'exemple suivant crée une définition de tâche avec un conteneur principal et un conteneur de journalisation sidecar.

```
$ aws batch register-job-definition \
    --job-definition-name {{my-sidecar-managed-instances-job-def}} \
    --type container \
    --platform-capabilities MANAGED_INSTANCES \
    --ecs-properties '{
      "taskProperties": [{
        "containers": [{
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2023",
          "name": "main",
          "command": ["echo", "processing data"],
          "essential": true,
          "resourceRequirements": [
            {"type": "VCPU", "value": "2"},
            {"type": "MEMORY", "value": "4096"}
          ]
        },
        {
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2023",
          "name": "sidecar",
          "command": ["echo", "logging sidecar"],
          "essential": false,
          "resourceRequirements": [
            {"type": "VCPU", "value": "1"},
            {"type": "MEMORY", "value": "512"}
          ]
        }],
        "executionRoleArn": "arn:aws:iam::{{123456789012}}:role/{{ecsTaskExecutionRole}}"
      }]
    }'
```