

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 Windows Amazon ECS pour Fargate
<a name="Windows_fargate-getting_started"></a>

Commencez à utiliser Amazon ECS AWS Fargate en utilisant Fargate pour vos tâches dans les régions où Amazon ECS prend en charge Fargate. AWS 

Procédez comme suit pour démarrer avec Amazon ECS sur AWS Fargate.

## Conditions préalables
<a name="first-run-prereqs-windows"></a>

Avant de commencer, assurez-vous d’avoir effectué les étapes décrites dans [Configurer l'utilisation d'Amazon ECS](get-set-up-for-amazon-ecs.md) et que votre utilisateur IAM dispose des autorisations spécifiées dans l’exemple de politique IAM `AdministratorAccess`.

La console tente de créer automatiquement le rôle IAM d'exécution de tâche, qui est requis pour les tâches Fargate. Pour garantir que la console peut créer ce rôle IAM, l'une des conditions suivantes doit être remplie :
+ Votre utilisateur dispose d'un accès administrateur. Pour de plus amples informations, veuillez consulter [Configurer l'utilisation d'Amazon ECS](get-set-up-for-amazon-ecs.md).
+ Votre utilisateur dispose des autorisations IAM nécessaires pour créer une fonction de service. Pour plus d'informations, voir [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).
+ Un utilisateur disposant d'un accès administrateur a créé manuellement le rôle d'exécution de tâche afin qu'il soit disponible sur le compte à utiliser. Pour de plus amples informations, veuillez consulter [Rôle IAM d'exécution de tâche Amazon ECS](task_execution_IAM_role.md).

**Important**  
Le groupe de sécurité que vous sélectionnez lors de la création d'un service avec votre définition de tâche doit avoir le port 80 ouvert pour le trafic entrant. Ajoutez les règles entrantes suivantes à votre groupe de sécurité. Pour plus d’informations sur la création d’un groupe de sécurité, consultez la section [Création d’un groupe de sécurité pour votre instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html) dans le *Guide de l’utilisateur Amazon EC2*.  
Type : HTTP
Protocole : TCP
Plage de ports : 80
Source : n'importe où (`0.0.0.0/0`)

## Étape 1 : créer un cluster
<a name="create_fargate_windows_cluster-v2"></a>

Vous pouvez créer un cluster appelé **windows** qui utilise le VPC par défaut.

**Pour créer un cluster avec AWS Management Console**

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](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 **Cluster configuration** (Configuration de cluster), pour **Cluster name** (Nom du cluster), saisissez **windows**.

1. (Facultatif) Pour activer Container Insights, développez **Monitoring** (Surveillance), puis activez **Use Container Insights** (Utiliser Container Insights).

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

   [Add a tag] Choisissez **Add tag** (Ajouter une balise) et procédez comme suit :
   + Pour **Key** (Clé), saisissez le nom de la clé.
   + Pour **Value** (Valeur), saisissez la valeur de clé.

   [Remove a tag] Choisissez **Remove** (Supprimer) à la droite de la clé et de la valeur de l'étiquette.

1. Choisissez **Créer**.

## Étape 2 : Enregistrer une définition de tâche Windows
<a name="register_fargate_windows_task_def_console"></a>

Avant de pouvoir exécuter des conteneurs Windows dans votre cluster Amazon ECS, vous devez enregistrer une définition de tâche. L'exemple de définition de tâche suivant affiche une page web simple sur le port 8080 d'une instance de conteneur avec l'image de conteneur `mcr.microsoft.com/windows/servercore/iis`.

**Pour enregistrer l'exemple de définition de tâche auprès du AWS Management Console**

1. Dans le panneau de navigation, choisissez **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 l'exemple de définition de tâche suivant dans la zone, puis choisissez **Save** (Enregistrer).

   ```
   {
       "containerDefinitions": [
           {
               "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"],
               "entryPoint": [
                   "powershell",
                   "-Command"
               ],
               "essential": true,
               "cpu": 2048,
               "memory": 4096,
               "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
               "name": "sample_windows_app",
               "portMappings": [
                   {
                       "hostPort": 80,
                       "containerPort": 80,
                       "protocol": "tcp"
                   }
               ]
           }
       ],
       "memory": "4096",
       "cpu": "2048",
       "networkMode": "awsvpc",
       "family": "windows-simple-iis-2019-core",
       "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole",
       "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"},
       "requiresCompatibilities": ["FARGATE"]
   }
   ```

1. Vérifiez vos informations et choisissez **Create** (Créer).

## Étape 3 : Créer un service avec votre définition de tâche
<a name="create_fargate_windows_service_console"></a>

Après avoir enregistré votre définition de tâche, vous pouvez placer des tâches dans votre cluster avec elle. La procédure suivante crée un service avec votre définition de tâche et place une tâche dans votre cluster.

**Pour créer un service à partir de votre définition de tâche avec la console**

1. Dans le volet de navigation, choisissez **Clusters**, puis sélectionnez le cluster que vous avez créé dans [Étape 1 : créer un cluster](#create_fargate_windows_cluster-v2).

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

1. Sous **Deployment configuration** (Configuration du déploiement), spécifiez la manière dont votre application est déployée.

   1. Pour **Task Definition** (Définition de tâche), choisissez la définition de tâche que vous avez créé dans [Étape 2 : Enregistrer une définition de tâche Windows](#register_fargate_windows_task_def_console).

   1. Pour **Service name** (Nom du service), saisissez un nom pour votre service.

   1. Pour **Desired tasks** (Tâches souhaitées), saisissez **1**.

1.  Sous **Mise en réseau**, vous pouvez créer un groupe de sécurité ou sélectionner un groupe de sécurité existant. Assurez-vous que le groupe de sécurité que vous utilisez possède la règle entrante répertoriée sous [Conditions préalables](#first-run-prereqs-windows).

1. Choisissez **Créer**.

## Étape 4 : Afficher votre service
<a name="view_windows_fargate_service"></a>

Lorsque votre service a lancé une tâche dans votre cluster, vous pouvez afficher le service et ouvrir la page de test IIS dans un navigateur pour vérifier que le conteneur est en cours d'exécution.

**Note**  
Cette opération peut prendre jusqu'à 15 minutes pour que votre instance de conteneur télécharge et extrait les couches de base du conteneur Windows.

**Pour afficher votre service**

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

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

1. Choisissez le cluster sur lequel vous avez exécuté le service.

1. Dans l'onglet **Services**, sous **Nom du service**, choisissez le service que vous avez créé dans [Étape 3 : Créer un service avec votre définition de tâche](#create_fargate_windows_service_console).

1. Cliquez sur l'onglet **Tâches**, puis sélectionnez la tâche dans votre service.

1. Sur la page des tâches, dans la section **Configuration**, sous **IP publique**, choisissez **Adresse ouverte**.

## Étape 5 : Nettoyer
<a name="first-fargate-run-cleanup"></a>

Lorsque vous avez fini d'utiliser un cluster Amazon ECS, vous devez nettoyer les ressources qui lui sont associées afin d'éviter la facturation de frais pour des ressources que vous n'utilisez pas.

Certaines ressources Amazon ECS, comme les tâches, les services, les clusters et les instances de conteneur, sont nettoyées à l'aide de la console Amazon ECS. Les autres ressources, telles que les instances Amazon EC2, les équilibreurs de charge Elastic Load Balancing et les groupes Auto Scaling, doivent être nettoyées manuellement dans la console Amazon EC2 ou en supprimant la pile qui les CloudFormation a créées.

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

1. Sur la page **Clusters**, sélectionnez le cluster que vous avez créé pour ce didacticiel.

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

1. Sélectionnez le service, puis choisissez **Supprimer**.

1. À l'invite de confirmation, saisissez **delete** (supprimer) puis choisissez **Delete** (Supprimer). 

   Attendez que le service soit supprimé.

1. Choisissez **Delete Cluster** (Supprimer le cluster). À l'invite de confirmation, saisissez **Supprimer *cluster-name***, puis sélectionnez **Supprimer**. La suppression du cluster nettoie les ressources associées créées avec le cluster, notamment les groupes Auto Scaling ou les VPCs équilibreurs de charge.