

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.

# Déploiement de services Amazon ECS en remplaçant des tâches
<a name="deployment-type-ecs"></a>

Lorsque vous créez un service qui utilise le type de déploiement *Mise à jour propagée* (`ECS`), le planificateur de service Amazon ECS remplace les tâches en cours d’exécution par de nouvelles tâches. Le nombre de tâches ajoutées au service ou supprimées du service par Amazon ECS lors d'une mise à jour propagée est contrôlé par la configuration de déploiement du service. 

Amazon ECS utilise les paramètres suivants pour déterminer le nombre de tâches :
+ Le `minimumHealthyPercent` représente la limite inférieure du nombre de tâches qui devraient être exécutées et saines pour un service lors d'un déploiement continu ou lorsqu'une instance de conteneur est épuisée, en pourcentage du nombre de tâches souhaité pour le service. Cette valeur est arrondie à la valeur supérieure. Par exemple, si le pourcentage minimum d'instances saines est `50` et que le nombre de tâches souhaité est de quatre, le planificateur peut arrêter deux tâches existantes avant de démarrer deux nouvelles tâches. De même, si le pourcentage de santé minimum est de 75 % et que le nombre de tâches souhaité est de deux, le planificateur ne peut pas arrêter de tâche car la valeur résultante est également de deux.
+ Le `maximumPercent` représente la limite supérieure du nombre de tâches qui doivent être exécutées pour un service lors d'un déploiement continu ou lorsqu'une instance de conteneur est épuisée, en pourcentage du nombre de tâches souhaité pour un service. Cette valeur est arrondie à la valeur inférieure. Par exemple, si le pourcentage maximum est de quatre `200` et que le nombre de tâches souhaité est de quatre, le planificateur peut démarrer quatre nouvelles tâches avant d'arrêter quatre tâches existantes. De même, si le pourcentage maximal est `125` et que le nombre de tâches souhaité est de trois, le planificateur ne peut pas démarrer de tâche, car la valeur résultante est également de trois.

Lors d'un déploiement continu, lorsque les tâches ne fonctionnent plus correctement, Amazon ECS les remplace afin de maintenir la disponibilité de votre service `minimumHealthyPercent` et d'en protéger la disponibilité. Les tâches défectueuses sont remplacées à l'aide de la même révision de service à laquelle elles appartiennent. Cela garantit que le remplacement de tâches défectueux dans la révision source est indépendant des échecs de tâches dans la révision cible. Lorsque le `maximumPercent` paramètre le permet, le planificateur lance des tâches de remplacement avant d'arrêter celles qui ne fonctionnent pas correctement. Si le `maximumPercent` paramètre empêche le planificateur de démarrer d'abord une tâche de remplacement, il arrête une tâche défectueuse à la fois pour libérer de la capacité avant de lancer une tâche de remplacement.

**Important**  
Lorsque vous définissez un pourcentage minimum ou maximal d'instances saines, vous devez vous assurer que le planificateur peut arrêter ou démarrer au moins une tâche lorsqu'un déploiement est déclenché. Si votre service a un déploiement bloqué en raison d'une configuration de déploiement non valide, un message d'événement de service est envoyé. Pour de plus amples informations, veuillez consulter [service (*service-name*) n'a pas pu arrêter ou démarrer des tâches pendant un déploiement en raison de la configuration du déploiement du service. Mettez à jour la valeur minimumHealthyPercent ou MaximumPercent et réessayez.](service-event-messages-list.md#service-event-messages-7).

Les déploiements progressifs s’appuient sur deux méthodes permettant d’identifier rapidement l’échec d’un déploiement de service :
+ [Détection des pannes par le disjoncteur de déploiement Amazon ECS](deployment-circuit-breaker.md)
+ [Comment les CloudWatch alarmes détectent les échecs de déploiement d'Amazon ECS](deployment-alarm-failure.md)

Les méthodes peuvent être utilisées séparément ou conjointement. Lorsque les deux méthodes sont utilisées, le déploiement est défini en échec dès que les critères d’échec de l’une ou l’autre méthode sont remplis.

Suivez les instructions suivantes pour déterminer quelle méthode utiliser :
+ Disjoncteur : utilisez cette méthode lorsque vous souhaitez arrêter un déploiement car les tâches ne peuvent pas démarrer.
+ CloudWatch alarmes - Utilisez cette méthode lorsque vous souhaitez arrêter un déploiement en fonction des métriques de l'application.

Les deux méthodes permettent de restaurer la version de service précédente.

## Résolution des images de conteneurs
<a name="deployment-container-image-stability"></a>

Amazon ECS résout les noms des images de conteneurs et toutes les balises d’image spécifiées dans la définition de la tâche en condensés d’images de conteneurs. Si vous créez un service qui exécute et gère une seule tâche, cette tâche est utilisée pour établir des condensés d’images pour les conteneurs de la tâche. Si vous créez un service qui exécute et gère plusieurs tâches, la première tâche démarrée par le planificateur de service lors du déploiement est utilisée pour établir les condensés d’images pour les conteneurs contenus dans les tâches.

Si au moins trois tentatives d’établissement des condensés d’images du conteneur échouent, le déploiement se poursuit sans résolution de condensé d’image. Si le disjoncteur de déploiement est activé, le déploiement échoue également et est annulé.

Une fois les condensés des images du conteneur établis, Amazon ECS les utilise pour démarrer toutes les autres tâches souhaitées et pour toute future mise à jour de service. Ainsi, toutes les tâches d’un service exécutent toujours des images de conteneur identiques, ce qui garantit la cohérence des versions de votre logiciel.

Vous pouvez configurer ce comportement pour chaque conteneur de votre tâche en utilisant le paramètre `versionConsistency` figurant dans la définition du conteneur. Pour de plus amples informations, veuillez consulter [versionConsistency](task_definition_parameters.md#ContainerDefinition-versionconsistency).

**Note**  
Les versions de l’agent Amazon ECS inférieures à `1.31.0` ne prennent pas en charge la résolution du condensé d’image. Les versions de l’agent `1.31.0` à `1.69.0` ne prenent en charge la résolution de condensé d’images que pour les images transférées vers les référentiels Amazon ECR. Les versions de l’agent `1.70.0` ou supérieures prennent en charge la résolution de condensé d’image pour toutes les images. 
La version de plateforme Linux Fargate minimale pour la résolution du résumé d’image est `1.3.0`. La version de plateforme Windows Fargate minimale pour la résolution du condensé d’image est `1.0.0`.
Amazon ECS ne capture pas les résumés des conteneurs annexes gérés par Amazon ECS, tels que l'agent de GuardDuty sécurité Amazon ou le proxy Service Connect.
Pour réduire la latence potentielle associée à la résolution des images de conteneur dans les services comportant plusieurs tâches, exécutez la version `1.83.0` ou supérieure de l’agent Amazon ECS sur les instances de conteneur EC2. Pour éviter toute latence potentielle, spécifiez des condensés d’images de conteneur dans votre définition de tâche.
Si vous créez un service avec un nombre de tâches souhaité égal à zéro, Amazon ECS ne peut pas établir de résumés de conteneurs tant que vous n’avez pas déclenché un autre déploiement du service avec un nombre de tâches souhaité supérieur à zéro.
Pour établir des condensés d’images mis à jour, vous pouvez forcer un nouveau déploiement. Les condensés mis à jour seront utilisés pour démarrer de nouvelles tâches et n’affecteront pas les tâches déjà en cours. Pour plus d'informations sur le forçage de nouveaux déploiements, consultez [forceNewDeployment](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html#ECS-UpdateService-request-forceNewDeployment)la *référence des API Amazon ECS*.
Lorsque vous utilisez des fournisseurs de capacité EC2, si la capacité est insuffisante pour démarrer une tâche lors du déploiement initial, la cohérence des versions logicielles peut échouer. Pour garantir la cohérence des versions même lorsque la capacité est limitée, définisse explicitement `versionConsistency: "enabled"` dans la configuration de votre conteneur de définition de tâches plutôt que de vous fier au comportement par défaut. Cela oblige Amazon ECS à attendre que la capacité soit disponible avant de procéder au déploiement.

# Pratiques exemplaires relatives aux paramètres d’un service Amazon ECS
<a name="service-options"></a>

Pour éviter toute durée d’indisponibilité de l’application, le processus de déploiement est le suivant :

1. Démarrez les nouveaux conteneurs d’applications tout en maintenant les conteneurs existants en activité.

1. Vérifiez que les nouveaux conteneurs sont sains.

1. Arrêtez les anciens conteneurs.

 En fonction de la configuration de votre déploiement et de la quantité d’espace libre non réservé dans votre cluster, plusieurs cycles peuvent être nécessaires pour remplacer toutes les anciennes tâches par de nouvelles tâches. 

Il existe deux options de configuration de service que vous pouvez utiliser pour modifier le nombre :
+ `minimumHealthyPercent` : 100 % (par défaut)

  La limite inférieure du nombre de tâches pour lesquelles votre service doit rester dans l’état `RUNNING` lors d’un déploiement. Cette valeur est exprimée en tant que pourcentage de `desiredCount` arrondi à la valeur supérieure la plus proche. Ce paramètre vous permet de procéder au déploiement sans avoir recours à une capacité de cluster supplémentaire.
+ `maximumPercent` : 200 % (par défaut)

   La limite supérieure du nombre de tâches pour votre service autorisées dans l’état `RUNNING` ou `PENDING` pendant un déploiement. Cette valeur est exprimée en tant que pourcentage de `desiredCount` arrondi à la valeur inférieure la plus proche.

**Exemple : options de configuration par défaut**

Considérons le service suivant qui comporte six tâches, déployées dans un cluster pouvant accueillir huit tâches au total. Les options de configuration de service par défaut ne permettent pas au déploiement d’aller en dessous de 100 % des six tâches souhaitées.

Le processus de déploiement est le suivant :

1. L’objectif est de remplacer les six tâches.

1. Le planificateur lance deux nouvelles tâches, car les paramètres par défaut exigent que six tâches soient en cours d’exécution.

   Il existe désormais six tâches existantes et deux nouvelles tâches.

1. Le planificateur arrête deux des tâches existantes.

   Il existe désormais quatre tâches existantes et deux nouvelles tâches.

1. Le planificateur lance deux nouvelles tâches supplémentaires.

   Il existe désormais quatre tâches existantes et quatre nouvelles tâches.

1. Le planificateur arrête deux des tâches existantes.

   Il existe désormais deux tâches existantes et quatre nouvelles.

1. Le planificateur lance deux nouvelles tâches supplémentaires.

   Il y a maintenant deux tâches existantes et six nouvelles tâches

1. Le planificateur arrête les deux dernières tâches existantes.

   Il y a désormais six nouvelles tâches.

Dans l’exemple ci-dessus, si vous utilisez les valeurs par défaut pour les options, il y a une attente de 2,5 minutes pour chaque nouvelle tâche qui démarre. En outre, l’équilibreur de charge devra peut-être attendre 5 minutes pour que l’ancienne tâche s’arrête. 

**Exemple : modifier `minimumHealthyPercent`**

Vous pouvez accélérer le déploiement en définissant la valeur `minimumHealthyPercent` sur 50 %.

Considérons le service suivant qui comporte six tâches, déployées dans un cluster pouvant accueillir huit tâches au total. Le processus de déploiement est le suivant :

1. L’objectif est de remplacer six tâches.

1. Le planificateur arrête trois des tâches existantes. 

   Il subsiste trois tâches en cours d’exécution qui correspondent à la valeur de `minimumHealthyPercent`.

1. Le planificateur lance cinq nouvelles tâches.

   Il existe trois tâches existantes et cinq nouvelles tâches.

1. Le planificateur arrête les trois tâches existantes restantes.

   Il y a cinq nouvelles tâches

1. Le planificateur lance la dernière nouvelle tâche.

   Il y a six nouvelles tâches.

**Exemple : modifier l’espace libre du cluster**

Vous pouvez également ajouter de l’espace libre afin de pouvoir exécuter des tâches supplémentaires. 

Considérons le service suivant qui comporte six tâches, déployées dans un cluster pouvant accueillir dix tâches au total. Le processus de déploiement est le suivant :

1. L’objectif est de remplacer les tâches existantes.

1. Le planificateur arrête trois des tâches existantes.

   Il y a trois tâches existantes.

1. Le planificateur lance six nouvelles tâches.

   Il y a maintenant trois tâches existantes et six nouvelles tâches

1. Le planificateur arrête les trois tâches existantes.

   Il y a six nouvelles tâches.

**Recommandations**

Utilisez les valeurs suivantes pour les options de configuration du service lorsque vos tâches sont inactives pendant un certain temps et que leur taux d’utilisation n’est pas élevé.
+ `minimumHealthyPercent` : 50 %
+ `maximumPercent` : 200 % 

# Création d’un déploiement de mise à jour propagée Amazon ECS
<a name="create-service-console-v2"></a>

Créez un service pour exécuter et maintenir simultanément un nombre spécifié d’instances d’une définition de tâche dans un cluster. Si l'une de vos tâches échoue ou s'arrête, le planificateur de service d'Amazon ECS service lance une autre instance de votre définition de tâche pour la remplacer. Cela permet de maintenir le nombre de tâches souhaité dans le service.

Définissez les paramètres de configuration suivants avant de créer un service :
+ Deux options de calcul permettent de distribuer vos tâches.
  + Une **capacity provider strategy** (stratégie de fournisseurs de capacités) permet à Amazon ECS de distribuer vos tâches avec un ou plusieurs fournisseurs de capacité. 

    Si vous souhaitez exécuter vos charges de travail sur des instances gérées Amazon ECS, vous devez utiliser l’option de stratégie de fournisseur de capacité.
  + Un **type de lancement** permet à Amazon ECS de lancer vos tâches directement sur Fargate ou sur les instances Amazon EC2 enregistrées dans vos clusters.

    Si vous souhaitez exécuter vos charges de travail sur des instances gérées Amazon ECS, vous devez utiliser l’option de stratégie de fournisseur de capacité.
+ Les définitions de tâches qui utilisent le mode réseau `awsvpc` ou les services configurés pour utiliser un équilibreur de charge doivent avoir une configuration réseau. Par défaut, la console sélectionne l'Amazon VPC par défaut ainsi que tous ses sous-réseaux et son groupe de sécurité par défaut. 
+ La stratégie de placement des tâches par défaut répartit les tâches de manière uniforme entre les zones de disponibilité. 

  Nous vous recommandons d’utiliser le rééquilibrage des zones de disponibilité pour garantir la haute disponibilité de votre service. Pour de plus amples informations, veuillez consulter [Équilibrage d’un service Amazon ECS entre les zones de disponibilité](service-rebalancing.md).
+ Lorsque vous utilisez **Launch Type** (Type de lancement) pour le déploiement de votre service, le service démarre par défaut dans les sous-réseaux de votre VPC de cluster.
+ Pour la **stratégie des fournisseurs de capacités**, la console sélectionne une option de calcul par défaut. Voici l'ordre utilisé par la console pour sélectionner une valeur par défaut :
  + Si votre cluster a une stratégie de fournisseur de capacité définie par défaut, elle est sélectionnée.
  + Si votre cluster n’a pas de stratégie de fournisseur de capacité par défaut définie, mais que les fournisseurs de capacité Fargate ont été ajoutés au cluster, une stratégie de fournisseur de capacité personnalisée qui utilise le fournisseur de capacité `FARGATE` est sélectionnée.
  + Si votre cluster ne dispose pas d’une stratégie de fournisseur de capacité par défaut définie, mais qu’un ou plusieurs fournisseurs de capacité de groupe Auto Scaling ont été ajoutés au cluster, l’option **Utiliser une stratégie personnalisée (avancée)** est sélectionnée et vous devez définir manuellement la stratégie.
  + Si votre cluster n'a pas de stratégie de fournisseur de capacité par défaut définie et qu'aucun fournisseur de capacité n'est ajouté au cluster, le type de lancement Fargate est sélectionné.
+ Les options par défaut de détection des échecs de déploiement consistent à utiliser l’option **Disjoncteur de déploiement Amazon ECS** avec l’option **Restauration en cas d’échec**.

  Pour de plus amples informations, veuillez consulter [Détection des pannes par le disjoncteur de déploiement Amazon ECS](deployment-circuit-breaker.md).
+ Décidez si vous souhaitez qu’Amazon ECS augmente ou diminue automatiquement le nombre souhaité de tâches dans votre service. Pour plus d'informations, consultez [Mise à l’échelle automatique de votre service Amazon ECS](service-auto-scaling.md).
+ Si vous avez besoin d'une application pour vous connecter à d'autres applications qui s'exécutent dans Amazon ECS, déterminez l'option adaptée à votre architecture. Pour de plus amples informations, veuillez consulter [Interconnexion des services Amazon ECS](interconnecting-services.md). 
+ Lorsque vous créez un service qui utilise le disjoncteur Amazon ECS, Amazon ECS crée un déploiement et une révision de service. Ces ressources vous permettent de consulter des informations détaillées sur l’historique des services. Pour de plus amples informations, veuillez consulter [Affichage de l’historique d’un service à l’aide des déploiements de service Amazon ECS](service-deployment.md).

  Pour plus d'informations sur la création d'un service à l'aide du AWS CLI, reportez-vous [https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html](https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html)à la section *AWS Command Line Interface Référence*.

  Pour plus d'informations sur la création d'un service à l'aide de AWS CloudFormation, consultez [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)le *guide de AWS CloudFormation l'utilisateur*.

## Création d’un service avec les options par défaut
<a name="create-default-service"></a>

Vous pouvez utiliser la console pour créer et déployer rapidement un service. Le service a la configuration suivante :
+ Déploie dans le VPC et les sous-réseaux associés à votre cluster
+ Déploie une tâche
+ Utilise le déploiement continu
+ Utilise la stratégie de fournisseur de capacité avec votre fournisseur de capacité par défaut
+ Utilise le disjoncteur de déploiement pour détecter les défaillances et définit l'option permettant d'annuler automatiquement le déploiement en cas de problème

Pour déployer un service à l'aide des paramètres par défaut, procédez comme suit.

**Pour créer un service (console Amazon ECS)**

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

1. Dans la page de navigation, choisissez **Clusters**.

1. Sur la page **Clusters**, choisissez le cluster dans lequel créer le service.

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

   La page **Créer un service** s’affiche.

1. Sous **Détails du service**, procédez comme suit :

   1. Pour **Définition de tâche**, saisissez la famille et la révision de définition de tâche à utiliser.

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

1. Pour utiliser ECS Exec afin de déboguer le service, sous **Configuration de la résolution des problèmes**, sélectionnez **Activer ECS Exec**.

1. Sous **Configuration du déploiement**, procédez comme suit :

   1. Pour **Desired tasks** (Tâches souhaitées), saisissez le nombre de tâches à lancer et à conserver dans le service.

1. (Facultatif) Pour vous aider à identifier votre service et vos tâches, développez **Tags** (balises), puis configurez vos balises.

   Pour qu'Amazon ECS étiquette automatiquement toutes les tâches nouvellement lancées avec le nom du cluster et les balises de définition des tâches, sélectionnez **Turn on Amazon ECS managed tags** (Activer les balises gérées par Amazon ECS), puis sélectionnez **Task definitions** (Définitions de tâches).

   Pour qu'Amazon ECS étiquette automatiquement toutes les tâches nouvellement lancées avec le nom du cluster et les balises d'un service, sélectionnez **Turn on Amazon ECS managed tags** (Activer les balises gérées par Amazon ECS), puis sélectionnez **Service**.

   Ajoutez ou supprimez une balise.
   + [Ajouter une balise] Choisissez **Add tag** (Ajouter une balise), puis procédez comme suit :
     + Pour **Clé**, saisissez le nom de la clé.
     + Pour **Valeur**, saisissez la valeur de clé.
   + [Supprimer une balise] En regard de la balise, choisissez **Supprimer la balise**.

## Créer un service à l'aide de paramètres définis
<a name="create-custom-service"></a>

Pour créer un service à l’aide de paramètres définis, procédez comme suit.

**Pour créer un service (console Amazon ECS)**

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

1. Déterminez la ressource à partir de laquelle vous lancez le service.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/create-service-console-v2.html)

   La page **Créer un service** s’affiche.

1. Sous Détails du service, procédez comme suit :

   1. Pour **Définition de tâche**, saisissez la définition de tâche à utiliser. Ensuite, pour **Révision**, choisissez la révision à utiliser.

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

1. Pour **Cluster existant**, choisissez le cluster.

   Choisissez **Créer un cluster** pour exécuter la tâche sur un nouveau cluster

1. Choisissez comment vos tâches sont distribuées dans votre infrastructure de cluster. Sous **Configuration de calcul**, choisissez votre option.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. Pour utiliser ECS Exec afin de déboguer le service, sous **Configuration de la résolution des problèmes**, sélectionnez **Activer ECS Exec**.

1. Sous **Configuration du déploiement**, procédez comme suit :

   1. Pour **Service type** (Type de service), choisissez la stratégie de planification du service.
      + Pour que le planificateur déploie exactement une tâche sur chaque instance de conteneur active qui répond à toutes les contraintes de placement des tâches spécifiées dans votre cluster, choisissez **Daemon** (Démon).
      + Pour que. le planificateur place et gère le nombre de tâches souhaité dans votre cluster, choisissez **Replica**.

   1. Si vous choisissez **Replica** pour **Desired tasks** (Tâches souhaitées), saisissez le nombre de tâches à lancer et à conserver dans le service.

   1. Si vous avez choisi **Replica**, pour qu’Amazon ECS surveille la répartition des tâches entre les zones de disponibilité et les redistribue en cas de déséquilibre, sous **Rééquilibrage des services entre zones de disponibilité**, sélectionnez **Rééquilibrage des services entre zones de disponibilité**.

   1. Pour **Période de grâce pour la surveillance de l’état**, saisissez la durée (en secondes) pendant laquelle le planificateur de service ignore les surveillances de l’état de Elastic Load Balancing, VPC Lattice et des conteneurs qui ne sont pas saines après le démarrage initial d’une tâche. Si vous ne spécifiez aucune valeur pour la période de grâce de surveillance de l’état, la valeur par défaut 0 est utilisée.

   1. Déterminez le type de déploiement de votre service. Développez **Options de déploiement**, puis spécifiez les paramètres suivants.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/create-service-console-v2.html)

   1. Pour configurer la manière dont Amazon ECS détecte et gère les échecs de déploiement, développez **Deployment failure detection** (Détection des échecs de déploiement), puis choisissez vos options. 

      1. Pour arrêter un déploiement lorsque les tâches ne peuvent pas démarrer, sélectionnez **Use the Amazon ECS deployment circuit breaker** (Utiliser le disjoncteur de déploiement Amazon ECS).

         Pour que le logiciel restaure automatiquement le dernier état de déploiement terminé lorsque le disjoncteur de déploiement définit le déploiement comme ayant échoué, sélectionnez **Restauration en cas d’échec**.

      1. Pour arrêter un déploiement en fonction des métriques de l'application, sélectionnez **Utiliser une ou plusieurs CloudWatch alarmes**. Ensuite, à partir du **nom de l'CloudWatch alarme**, choisissez les alarmes. Pour créer une nouvelle alarme, rendez-vous sur la CloudWatch console.

         Pour que le logiciel annule automatiquement le déploiement au dernier état de déploiement terminé lorsqu'une CloudWatch alarme indique que le déploiement a échoué, sélectionnez Annulation en **cas d'échec**.

1. Si votre définition de tâche utilise le mode réseau `awsvpc`, vous pouvez spécifier une configuration réseau personnalisée ; développez **Mise en réseau**, puis procédez comme suit :

   1. Pour **VPC**, sélectionnez le VPC à utiliser.

   1. Pour **Subnets** (Sous-réseaux), sélectionnez un ou plusieurs sous-réseaux du VPC que le planificateur de tâches prend en compte lors du placement de vos tâches.

   1. Pour **Security group (Groupe de sécurité)**, vous pouvez sélectionner un groupe de sécurité existant ou en créer un nouveau. Pour utiliser un groupe de sécurité existant, sélectionnez-le et passez à l'étape suivante. Pour créer un nouveau groupe de sécurité, sélectionnez **Create a new security group** (Créer un nouveau groupe de sécurité). Vous devez spécifier un nom de groupe de sécurité et une description, puis ajouter une ou plusieurs règles entrantes pour le groupe de sécurité.

   1. Pour **Public IP (Adresse IP publique)**, indiquez si vous voulez attribuer automatiquement une adresse IP publique à l'interface réseau Elastic (ENI) de la tâche.

      AWS Fargate les tâches peuvent se voir attribuer une adresse IP publique lorsqu'elles sont exécutées dans un sous-réseau public afin qu'elles disposent d'une route vers Internet. Il n’est pas possible d’attribuer une adresse IP publique aux tâches EC2 à l’aide de ce champ. Pour plus d’informations, consultez les sections [Options de mise en réseau des tâches Amazon ECS pour Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-task-networking.html) et [Allocation d’une interface réseau pour une tâche Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking-awsvpc.html).

1. (Facultatif) Pour interconnecter votre service à l’aide de Service Connect, développez **Service Connect**, puis spécifiez les éléments suivants :

   1.  Sélectionnez **Activer Service Connect**.

   1. Sous **Service Connect configuration** (Configuration de Service Connect), spécifiez le mode client.
      + Si votre service exécute une application client réseau qui doit uniquement se connecter à d’autres services de l’espace de noms, sélectionnez **Côté client uniquement**.
      + Si votre service exécute une application réseau ou un service Web et doit fournir des points de terminaison pour ce service, et se connecte à d'autres services dans l'espace de noms, choisissez **Client and server** (Client et serveur).

   1. Pour utiliser un espace de noms qui n'est pas l'espace de noms de cluster par défaut, dans **Namespace** (Espace de noms), choisissez l'espace de noms du service. Il peut s'agir d'un espace de noms créé séparément dans le même espace Région AWS dans votre région Compte AWS ou d'un espace de noms dans la même région qui est partagé avec votre compte en utilisant AWS Resource Access Manager ()AWS RAM. *Pour plus d'informations sur les AWS Cloud Map espaces de noms partagés, consultez la section [Partage d'espaces de AWS Cloud Map noms entre comptes](https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html) dans le Guide du AWS Cloud Map développeur.*

   1. (Facultatif) Spécifiez une configuration de journal. Sélectionnez **Utiliser la collecte de journaux**. L'option par défaut envoie les journaux du conteneur à CloudWatch Logs. Les autres options du pilote de journal sont configurées à l'aide de AWS FireLens. Pour de plus amples informations, veuillez consulter [Envoyer les journaux Amazon ECS à un AWS service ou AWS Partner](using_firelens.md).

      Voici une description plus détaillée de chaque destination de journal de conteneur.
      + **Amazon CloudWatch** — Configurez la tâche pour envoyer les journaux des conteneurs à CloudWatch Logs. Les options du pilote de journal par défaut sont fournies, ce qui permet de créer un groupe de CloudWatch journaux en votre nom. Pour spécifier un autre nom de groupe de journaux, modifiez les valeurs des options de pilote.
      + **Amazon Data Firehose** : configurez la tâche pour envoyer des journaux de conteneur à Firehose. Les options par défaut du pilote de journalisation sont fournies. Elles envoient les journaux vers un flux de livraison Firehose. Pour spécifier un autre nom de flux de diffusion, modifiez les valeurs des options de pilote.
      + **Amazon Kinesis Data Streams** : configurez la tâche pour envoyer des journaux de conteneur à Kinesis Data Streams. Les options par défaut du pilote de journalisation sont fournies. Elles permettent d’envoyer les journaux vers un flux Kinesis Data Streams. Pour spécifier un autre nom de flux, modifiez les valeurs des options de pilote.
      + **Amazon OpenSearch Service** — Configurez la tâche pour envoyer les journaux des conteneurs vers un domaine OpenSearch de service. Les options de pilote de journal doivent être fournies. 
      + **Simple Storage Service (Amazon S3)** : configurez la tâche pour envoyer des journaux de conteneur à un compartiment Simple Storage Service (Amazon S3). Les options de pilote de journal par défaut sont fournies, mais vous devez spécifier un nom de compartiment Simple Storage Service (Amazon S3) valide.

   1. (Facultatif) Pour activer les journaux d'accès, procédez comme suit :

      1. Développez la **configuration du journal d'accès**. Pour **Format**, choisissez **JSON** ou`TEXT`.

      1. Pour inclure les paramètres de requête dans les journaux d'accès, sélectionnez **Inclure les paramètres de requête**.

1. (Facultatif) Pour interconnecter votre service à l’aide de la découverte de service, développez **Découverte de service**, puis spécifiez les éléments suivants :

   1. Sélectionnez **Utiliser la découverte de service**.

   1. Pour utiliser un nouvel espace de noms, sous **Configurer l’espace de noms**, choisissez **Créer un espace de noms**, puis fournissez un nom et une description de l’espace de noms. Pour utiliser un espace de noms existant, choisissez **Sélectionner un espace de noms existant**, puis choisissez l’espace de noms que vous souhaitez utiliser.

   1. Fournissez des informations sur le service de découverte de service, telles que le nom et la description du service.

   1. Pour qu’Amazon ECS effectue des surveillances de l’état périodiques au niveau du conteneur, sélectionnez **Activer la propagation de l’état des tâches Amazon ECS**.

   1. Pour **DNS record type (Type de registre DNS)**, sélectionnez le type de registre DNS à créer pour votre service. La découverte de service Amazon ECS prend uniquement en charge les registres **A** et **SRV**, en fonction du mode réseau spécifié par votre définition de tâche. Pour de plus amples informations sur ces types de registres, veuillez consulter [Supported DNS Record Types (Types de registres DNS pris en charge)](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) dans le *Guide du développeur Amazon Route 53*.
      + Si la définition de tâche spécifiée par votre tâche de service utilise le mode réseau `bridge` ou `host`, seuls les enregistrements de type **SRV** sont pris en charge. Choisissez une combinaison de nom et de port de conteneur à associer au registre.
      + Si la définition de tâche spécifiée par votre tâche de service utilise le mode réseau `awsvpc`, sélectionnez le type d'enregistrement **A** ou **SRV**. Si vous avez choisi **A**, passez à l’étape suivante. Si vous choisissez **SRV**, spécifiez le port sur lequel le service est accessible ou une combinaison de nom et de port de conteneur à associer à l'enregistrement.

      Pour **Durée de vie**, saisissez la durée en secondes pendant laquelle un jeu d'enregistrements est conservé en cache par les résolveurs DNS et les navigateurs Web.

1. (Facultatif) Pour interconnecter votre service à l’aide de VPC Lattice, développez **VPC Lattice**, puis procédez comme suit :

   1. Sélectionnez **Activer le VPC Lattice**

   1. Pour **Rôle d’infrastructure**, choisissez le rôle d’infrastructure.

      Si vous n’avez pas créé de rôle, choisissez **Créer un rôle d’infrastructure**.

   1. Sous **Groupes cibles**, sélectionnez le ou les groupes cibles. Vous devez choisir au moins un groupe cible et pouvez en avoir jusqu’à cinq. Sélectionnez **Ajouter un groupe cible** pour ajouter d’autres groupes cibles. Choisissez le **Nom du port**, le **Protocole** et le **Port** pour chaque groupe cible que vous avez choisi. 

      Pour supprimer un groupe cible, sélectionnez **Supprimer**.
**Note**  
Si vous souhaitez ajouter un groupe cible existant, vous devez utiliser l’ AWS CLI. *Pour obtenir des instructions sur la façon d'ajouter des groupes cibles à l'aide de AWS CLI, voir [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) dans la AWS Command Line Interface référence.*
Bien qu’un service VPC Lattice puisse avoir plusieurs groupes cibles, chaque groupe cible ne peut être ajouté qu’à un seul service.

   1. Pour terminer la configuration de VPC Lattice, incluez vos nouveaux groupes cibles dans l’action par défaut de l’écouteur ou dans les règles d’un service VPC Lattice existant dans la console VPC Lattice. Pour plus d’informations, consultez la section [Règles d’écoute pour votre service VPC Lattice](https://docs.aws.amazon.com/vpc-lattice/latest/ug/listener-rules.html).

1. (Facultatif) Pour configurer un équilibreur de charge pour votre service, développez **Load balancing** (Répartition de charge).

   Choisissez l'équilibreur de charge.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. (Facultatif) Pour configurer l’autoscaling du service, développez **Autoscaling du service**, puis spécifiez les paramètres suivants. Pour utiliser l’autoscaling prédictif, qui examine les données de charge passées à partir des flux de trafic, configurez-le après avoir créé le service. Pour de plus amples informations, veuillez consulter [Utilisez des modèles historiques pour faire évoluer les services Amazon ECS grâce à une mise à l'échelle prédictive](predictive-auto-scaling.md).

   1. Pour utiliser la mise à l'échelle automatique du service, sélectionnez **Service Auto Scaling** (mise à l'échelle automatique du service).

   1. Pour **Nombre minimum de tâches**, saisissez la limite inférieure du nombre de tâches à utiliser pour l’autoscaling du service. Le nombre souhaité ne sera pas inférieur à ce nombre.

   1. Pour **Nombre maximal de tâches**, saisissez la limite supérieure du nombre de tâches à utiliser par l’autoscaling du service. Le nombre souhaité ne sera pas supérieur à ce nombre.

   1. Choisissez le type de stratégie. Sous **Type de stratégie de mise à l’échelle**, choisissez l’une des options suivantes.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. (Facultatif) Pour utiliser une stratégie de placement des tâches autre que la stratégie par défaut, développez **Task Placement** (Placement des tâches), puis choisissez parmi les options suivantes.

    Pour de plus amples informations, veuillez consulter [Comment Amazon ECS place les tâches sur des instances de conteneur](task-placement.md).
   + **Répartition équilibrée par AZ** : permet de répartir les tâches entre les zones de disponibilité et les instances de conteneur de la zone de disponibilité.
   + **AZ Balanced BinPack** — Répartissez les tâches entre les zones de disponibilité et entre les instances de conteneur disposant du moins de mémoire disponible.
   + **BinPack**— Répartissez les tâches en fonction de la quantité minimale de processeur ou de mémoire disponible.
   + **Une tâche par hôte** : permet de placer au maximum une tâche du service sur chaque instance de conteneur.
   + **Personnalisé** : permet de définir votre propre stratégie de placement des tâches. 

   Si vous avez choisi **Custom** (Personnaliser), définissez l'algorithme de placement des tâches et les règles à prendre en compte lors du placement des tâches.
   + Sous **Strategy** (Stratégie), pour **Type** et **Field** (Champ), choisissez l'algorithme et l'entité à utiliser pour l'algorithme.

     Vous pouvez saisir jusqu'à 5 stratégies maximum.
   + Sous **Contrainte**, pour **Type** et **Expression**, choisissez la règle et l'attribut pour la contrainte.

     Par exemple, pour définir la contrainte permettant de placer des tâches sur des instances T2, pour **Expression**, saisissez **attribute:ecs.instance-type =\$1 t2.\$1**.

     Vous pouvez saisir jusqu'à 10 contraintes maximum.

1. Si votre tâche utilise un volume de données compatible avec la configuration lors du déploiement, vous pouvez configurer le volume en développant **Volume**.

   Le nom et le type de volume sont configurés lorsque vous créez une révision de définition de tâche et ne peuvent pas être modifiés lors de la création d’un service. Pour mettre à jour le nom et le type du volume, vous devez créer une révision de définition de tâche et créer un service à l’aide de la nouvelle révision.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/create-service-console-v2.html)

1. Pour utiliser ECS Exec afin de déboguer le service, sous **Configuration de la résolution des problèmes**, sélectionnez **Activer ECS Exec**.

1. (Facultatif) Pour vous aider à identifier votre service et vos tâches, développez **Tags** (balises), puis configurez vos balises.

   Pour qu'Amazon ECS balise automatiquement toutes les tâches nouvellement lancées avec le nom du cluster et les balises de définition des tâches, sélectionnez **Activer les balises gérées Amazon ECS**, puis pour **Propager des balises à partir de**, choisissez **Définitions de tâches**.

   Pour qu'Amazon ECS balise automatiquement toutes les tâches nouvellement lancées avec le nom du cluster et les balises d'un service, sélectionnez **Activer les balises gérées Amazon ECS**, puis pour **Propager des balises à partir de**, choisissez **Service**.

   Ajoutez ou supprimez une balise.
   + [Ajouter une balise] Choisissez **Add tag** (Ajouter une balise), puis procédez comme suit :
     + Pour **Clé**, saisissez le nom de la clé.
     + Pour **Valeur**, saisissez la valeur de clé.
   + [Supprimer une balise] En regard de la balise, choisissez **Supprimer la balise**.

1. Choisissez **Créer**.

## Étapes suivantes
<a name="create-service-next-steps"></a>

Voici les actions supplémentaires à effectuer après avoir créé un service.
+ Configurez l’autoscaling prédictif, qui examine les données de charge passées issues des flux de trafic. Pour de plus amples informations, veuillez consulter [Utilisez des modèles historiques pour faire évoluer les services Amazon ECS grâce à une mise à l'échelle prédictive](predictive-auto-scaling.md).
+ Suivez votre déploiement et consultez l’historique des services pour les services qui utilisent le disjoncteur Amazon ECS. Pour de plus amples informations, veuillez consulter [Affichage de l’historique d’un service à l’aide des déploiements de service Amazon ECS](service-deployment.md).