

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 tâche pour les instances gérées Amazon ECS
<a name="getting-started-managed-instances"></a>

Découvrez comment utiliser Amazon ECS avec les instances gérées Amazon ECS pour exécuter une application conteneurisée.

## Conditions préalables
<a name="getting-started-prerequisites"></a>

 Avant de commencer le didacticiel, vous devez avoir effectué les opérations suivantes : 
+ Vous avez suivi les étapes décrites dans la section [Configuration pour utiliser Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/get-set-up-for-amazon-ecs.html).
+ Vous devez avoir suivi les étapes de [Configurer l'utilisation d'Amazon ECS](get-set-up-for-amazon-ecs.md).
+ Vous disposez des rôles IAM requis pour les instances gérées Amazon ECS. Cela inclut notamment les éléments suivants :
  + Rôle d'infrastructure : permet à Amazon ECS de passer des appels vers AWS services en votre nom pour gérer l'infrastructure Amazon ECS Managed Instances.

    Pour plus d’informations, consultez [Rôle IAM d’infrastructure Amazon ECS](infrastructure_IAM_role.md).
  + Profil d’instance : fournit des autorisations pour l’agent de conteneur Amazon ECS et le démon Docker exécutés sur des instances gérées.

    Le nom du rôle d'instance doit inclure `ecsInstanceRole` comme préfixe pour correspondre à `iam:PassRole` action dans le rôle de l'infrastructure. 

    Pour plus d’informations, consultez [Profil d’instance des instances gérées Amazon ECS](managed-instances-instance-profile.md).
+ Vous avez un créé un VPC et un groupe de sécurité prêts à être utilisés. Ce didacticiel utilise une image de conteneur hébergée sur Amazon ECR Public. Vos instances doivent donc disposer d’un accès Internet. Pour attribuer à vos instances une route vers Internet, utilisez l’une des options suivantes :
  + Utilisez un sous-réseau privé avec une passerelle NAT dotée d'une adresse IP Elastic.
  + Utilisez un sous-réseau public et attribuez une adresse IP publique aux instances.

  Pour plus d’informations, consultez [Créer un Virtual Private Cloud](get-set-up-for-amazon-ecs.md#create-a-vpc).

  Pour de plus amples informations sur les règles et les groupes de sécurité, consultez les sections [Groupes de sécurité par défaut de vos VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) et [Exemples de règles](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#security-group-rule-examples) dans le *Guide de l’utilisateur Amazon Virtual Private Cloud*.
+ (Facultatif) AWS CloudShell est un outil qui fournit aux clients une ligne de commande sans avoir à créer leur propre instance EC2. Pour plus d'informations, voir [Qu'est-ce que AWS CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) dans le *AWS CloudShell Guide de l'utilisateur*.

## Étape 1 : créer un cluster
<a name="getting-started-step1"></a>

1. Ouvrez la console Amazon ECS à l’adresse [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Dans la barre de navigation, sélectionnez la région à utiliser.

1. Dans le panneau de navigation, choisissez **Clusters**.

1. Sur la page **Clusters**, choisissez **Create Cluster** (Créer un cluster).

1. Sous **Configuration de cluster**, pour **Nom du cluster**, saisissez un nom unique pour votre cluster.

1. Sous **Infrastructure**, choisissez **Fargate et EC2 géré**.

1. Configurez les paramètres des instances gérées :

   1. Pour **Rôle d’infrastructure**, choisissez le rôle IAM que vous avez créé pour la gestion de l’infrastructure des instances gérées.

   1. Pour **Profil d’instance**, sélectionnez l’`ecsInstanceRole` que vous avez créé.

   1. Pour **Attributs de l’instance**, choisissez **Utiliser les valeurs ECS par défaut**.

1. Sous **Mise en réseau**, configurez le VPC et les sous-réseaux pour vos instances gérées :

   1. Pour **VPC**, sélectionnez le VPC qui héberge les instances gérées.

   1. Pour **Sous-réseaux**, sélectionnez un ou plusieurs sous-réseaux dans lesquels vos instances gérées seront lancées.

   1. Pour **Security groups** (Groupes de sécurité), sélectionnez un ou plusieurs groupes de sécurité.

1. (Facultatif) Pour vous aider à identifier votre cluster, développez **Balises**, puis configurez vos balises.

1. Cliquez sur **Créer**.

## Étape 2 : Créer une définition de tâche
<a name="getting-started-step2"></a>

Une définition de tâche est le plan de votre application. Chaque fois que vous lancez une tâche dans Amazon ECS, vous spécifiez une définition de tâche. Le service connaît ensuite l'image Docker à utiliser pour les conteneurs, le nombre de conteneurs à utiliser dans la tâche et l'allocation des ressources pour chaque conteneur. Pour créer une définition de tâche, procédez comme suit :

1. Dans le panneau de navigation, sélectionnez **Task Definitions** (Définition des tâches).

1. Choisissez **Create new task definition** (Créer une nouvelle définition de tâche), puis **Create new task definition with JSON** (Créer une nouvelle définition de tâche avec JSON).

1. Copiez et collez le code JSON suivant dans l’éditeur en remplaçant le code JSON prérempli :

   Remplacer **account-id** avec votre AWS identifiant de compte et **region** avec la région que vous utilisez.

   ```
   {
     "family": "managed-instance-tutorial",
     "networkMode": "awsvpc",
     "executionRoleArn": "arn:aws:iam::account-id:role/ecsTaskExecutionRole",
     "containerDefinitions": [
       {
         "name": "sample-app",
         "image": "public.ecr.aws/docker/library/httpd:latest",
         "essential": true,
         "portMappings": [
           {
             "containerPort": 80,
             "hostPort": 80,
             "protocol": "tcp"
           }
         ],
         "logConfiguration": {
           "logDriver": "awslogs",
           "options": {
             "awslogs-group": "/ecs/managed-instance-tutorial",
             "awslogs-region": "region",
             "awslogs-stream-prefix": "ecs"
           }
         }
       }
     ],
     "requiresCompatibilities": [
       "MANAGED_INSTANCES"
     ],
     "cpu": "1024",
     "memory": "2048"
   }
   ```

1. Cliquez sur **Créer**.

## Étape 3 : Création d'un service
<a name="getting-started-step3"></a>

Un service Amazon ECS service permet d'exécuter et de gérer simultanément un nombre spécifié d'instances d'une définition de tâche dans un cluster Amazon ECS. Suivez ces étapes pour créer un service :

1. Dans le panneau de navigation, choisissez **Clusters**, puis choisissez le cluster **managed-instance-tutorial**.

1. Sous l'onglet **Services** choisissez **Create** (Créer).

1. Pour **Famille de définitions de tâches**, choisissez **tutoriel sur les instances gérées**.

1. Pour **Nom du service**, entrez **managed-instance-tutorial-service**.

1. En dessous **Environnement**, Choisissez **Stratégie pour les fournisseurs de capacités**.

1. Sous **Mise en réseau**, configurez les éléments suivants :

   1. Choisissez un VPC existant ou créez-en un nouveau.

   1. Pour **Sous-réseaux**, choisissez les sous-réseaux à utiliser.

   1. Pour **Groupes de sécurité**, choisissez un groupe de sécurité existant ou créez-en un nouveau qui autorise le trafic entrant sur le port 80.

1. Cliquez sur **Créer**.

## Étape 4 : Afficher votre service
<a name="getting-started-step4"></a>

Une fois votre service lancé, vous pouvez le consulter pour en savoir plus et le tester.

1. Sélectionnez le service **managed-instance-tutorial-service**.

1. À partir du **Tâches** onglet, choisissez l'ID de tâche de la tâche en cours.

1. Sous **Réseau**, dans **Public IP**, sélectionnez **Adresse ouverte**.

1. Vous devriez voir la page de test du serveur HTTP Apache, qui confirme que le serveur Web fonctionne correctement.

## Étape 5 : nettoyer
<a name="getting-started-step5"></a>

Une fois ce didacticiel terminé, vous devez nettoyer les ressources associées afin d’éviter tout frais liés à des ressources que vous n’utilisez pas.

1. Dans le panneau de navigation, choisissez **Clusters**.

1. Sur la page **Clusters**, sélectionnez le cluster **managed-instance-tutorial**.

1. Choisissez l'onglet **Services**.

1. Sélectionnez le service **managed-instance-tutorial-service**, puis choisissez **Supprimer**.

1. À l’invite de confirmation, saisissez **delete** puis choisissez **Supprimer**.

1. Une fois le service supprimé, choisissez **Clusters** dans le volet de navigation.

1. Sur la page **Clusters**, sélectionnez le cluster **managed-instance-tutorial**, puis choisissez **Supprimer le cluster**.

1. À l’invite de confirmation, saisissez **delete managed-instance-tutorial** puis choisissez **Supprimer**.