

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.

# Concepts d'App Mesh
<a name="concepts"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

**Topics**
+ [

# Maillages de service
](meshes.md)
+ [

# Services virtuels
](virtual_services.md)
+ [

# Passerelles virtuelles
](virtual_gateways.md)
+ [

# Nœuds virtuels
](virtual_nodes.md)
+ [

# Routeurs virtuels
](virtual_routers.md)

# Maillages de service
<a name="meshes"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Un maillage de service est une limite logique pour le trafic réseau entre les services qui résident dans celui-ci. Une fois que vous avez créé votre maillage de service, vous pouvez créer des services virtuels, des nœuds virtuels, des routeurs virtuels et des routes afin de répartir le trafic entre les applications de votre maillage.

## Création d'un maillage de services
<a name="create-mesh"></a>

**Note**  
Lorsque vous créez un maillage, vous devez ajouter un sélecteur d'espace de noms. Si le sélecteur d'espace de noms est vide, il sélectionne tous les espaces de noms. Pour restreindre les espaces de noms, utilisez une étiquette pour associer les ressources App Mesh au maillage créé.

------
#### [ AWS Management Console ]

**Pour créer un maillage de services à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Sélectionnez **Create mesh (Créer un maillage)**.

1. Pour **Mesh name (Nom de maillage)**, spécifiez un nom pour votre maillage de service.

1. (Facultatif) Choisissez **Autoriser le trafic externe**. Par défaut, les proxys du maillage transfèrent uniquement le trafic entre eux. Si vous autorisez le trafic externe, les proxys du maillage transmettent également le trafic TCP directement aux services qui ne sont pas déployés avec un proxy défini dans le maillage.
**Note**  
Si vous spécifiez des backends sur un nœud virtuel lorsque vous utilisez `ALLOW_ALL`, vous devez spécifier toutes les sorties de ce nœud virtuel comme des backends. Dans le cas contraire, `ALLOW_ALL` ne fonctionnera plus pour ce nœud virtuel.

1. 

**préférence de version IP**

   Contrôlez quelle version IP doit être utilisée pour le trafic au sein du maillage en activant l'option Annuler le comportement de la **version IP par défaut**. Par défaut, App Mesh utilise différentes versions IP.
**Note**  
Le maillage applique la préférence IP à tous les nœuds virtuels et passerelles virtuelles au sein d'un maillage. Ce comportement peut être modifié sur un nœud virtuel individuel en définissant la préférence IP lorsque vous créez ou modifiez le nœud. La préférence IP ne peut pas être remplacée sur une passerelle virtuelle car la configuration des passerelles virtuelles, qui leur permet d'écouter à la fois le IPv6 trafic IPv4 et le trafic, est la même, quelle que soit la préférence définie sur le maillage.
   + Par défaut
     + Le résolveur DNS d'Envoy préfère `IPv6` et revient à`IPv4`.
     + Nous utilisons l'`IPv4`adresse renvoyée AWS Cloud Map si elle est disponible et nous nous contentons de l'`IPv6`utiliser.
     + Le point de terminaison créé pour l'application locale utilise une `IPv4` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv4` adresses.
   + IPv6 préféré
     + Le résolveur DNS d'Envoy préfère `IPv6` et revient à`IPv4`.
     + L'`IPv6`adresse renvoyée par AWS Cloud Map est utilisée si elle est disponible et revient à l'utilisation de l'`IPv4`adresse
     + Le point de terminaison créé pour l'application locale utilise une `IPv6` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.
   + IPv4 préféré
     + Le résolveur DNS d'Envoy préfère `IPv4` et revient à`IPv6`.
     + Nous utilisons l'`IPv4`adresse renvoyée AWS Cloud Map si elle est disponible et nous nous contentons de l'`IPv6`utiliser.
     + Le point de terminaison créé pour l'application locale utilise une `IPv4` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.
   + IPv6 uniquement
     + Le résolveur DNS d'Envoy n'utilise `IPv6` que.
     + Seule l'`IPv6`adresse renvoyée par AWS Cloud Map est utilisée. Si elle AWS Cloud Map renvoie une `IPv4` adresse, aucune adresse IP n'est utilisée et les résultats vides sont renvoyés à l'Envoy.
     + Le point de terminaison créé pour l'application locale utilise une `IPv6` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.
   + IPv4 uniquement
     + Le résolveur DNS d'Envoy n'utilise `IPv4` que.
     + Seule l'`IPv4`adresse renvoyée par AWS Cloud Map est utilisée. Si elle AWS Cloud Map renvoie une `IPv6` adresse, aucune adresse IP n'est utilisée et les résultats vides sont renvoyés à l'Envoy.
     + Le point de terminaison créé pour l'application locale utilise une `IPv4` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.

1. Sélectionnez **Create mesh (Créer un maillage)** pour terminer.

1. (Facultatif) Partagez le maillage avec d'autres comptes. Un maillage partagé permet aux ressources créées par différents comptes de communiquer entre elles dans le même maillage. Pour de plus amples informations, veuillez consulter [Utilisation de maillages partagés](sharing.md).

------
#### [ AWS CLI ]

**Pour créer un maillage à l'aide du AWS CLI.**

Créez un maillage de services à l'aide de la commande suivante (remplacez les *red* valeurs par les vôtres) :

1. 

   ```
   aws appmesh create-mesh --mesh-name meshName
   ```

1. Exemple de sortie :

   ```
   {
       "mesh":{
           "meshName":"meshName",
           "metadata":{
               "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName",
               "createdAt":"2022-04-06T08:45:50.072000-05:00",
               "lastUpdatedAt":"2022-04-06T08:45:50.072000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version":1
           },
           "spec":{},
           "status":{
               "status":"ACTIVE"
           }
       }
   }
   ```

Pour plus d'informations sur la création d'un maillage avec le AWS CLI for App Mesh, consultez la commande [create-mesh](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-mesh.html) dans la AWS CLI référence.

------

## Supprimer un maillage
<a name="delete-mesh"></a>

------
#### [ AWS Management Console ]

**Pour supprimer une passerelle virtuelle à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage que vous souhaitez supprimer. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Dans le champ de confirmation, tapez **delete** puis cliquez sur **Supprimer**.

------
#### [ AWS CLI ]

**Pour supprimer un maillage à l'aide du AWS CLI**

1. Utilisez la commande suivante pour supprimer votre maillage (remplacez les *red* valeurs par les vôtres) :

   ```
   aws appmesh delete-mesh \
        --mesh-name meshName
   ```

1. Exemple de sortie :

   ```
   {
       "mesh": {
           "meshName": "meshName",
           "metadata": {
               "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName",
               "createdAt": "2022-04-06T08:45:50.072000-05:00",
               "lastUpdatedAt": "2022-04-07T11:06:32.795000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {},
           "status": {
               "status": "DELETED"
           }
       }
   }
   ```

Pour plus d'informations sur la suppression d'un maillage avec le AWS CLI for App Mesh, consultez la commande [delete-mesh](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-mesh.html) dans la AWS CLI référence.

------

# Services virtuels
<a name="virtual_services"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Un service virtuel est une abstraction d'un service réel qui est fournie directement ou indirectement par un nœud virtuel, via un routeur virtuel. Les services dépendants appellent votre service virtuel via son `virtualServiceName`. Ces demandes sont acheminées vers le nœud virtuel ou le routeur virtuel qui est spécifié en tant que fournisseur pour le service virtuel.

## Création d'un service virtuel
<a name="create-virtual-service"></a>

------
#### [ AWS Management Console ]

**Pour créer un service virtuel à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez créer le service virtuel. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual services (Services virtuels)** dans le panneau de navigation gauche.

1. Choisissez **Create virtual service (Créer un service virtuel)**.

1. Pour **Virtual service name (Nom de service virtuel)**, choisissez un nom pour votre service virtuel. Vous pouvez choisir n'importe quel nom, mais le nom de découverte du service réel que vous ciblez, par exemple`my-service.default.svc.cluster.local`, est recommandé pour faciliter la corrélation entre vos services virtuels et les services réels. De cette façon, vous n'avez pas besoin de modifier votre code pour qu'il fasse référence à un nom différent de celui auquel votre code fait actuellement référence. Le nom que vous spécifiez doit être converti en une adresse IP sans boucle, car le conteneur de l'application doit être capable de résoudre le nom avec succès avant que la demande ne soit envoyée au proxy Envoy. Vous pouvez utiliser n'importe quelle adresse IP sans boucle, car ni l'application ni les conteneurs proxy ne communiquent avec cette adresse IP. Le proxy communique avec les autres services virtuels via les noms que vous leur avez configurés dans App Mesh, et non via les adresses IP auxquelles les noms correspondent.

1. Pour **Provider (Fournisseur)**, choisissez le type de fournisseur pour votre service virtuel :
   + Si vous souhaitez que le service virtuel répartisse le trafic sur plusieurs nœuds virtuels, sélectionnez **Virtual routeur (Routeur virtuel)**, puis choisissez le routeur virtuel à utiliser dans le menu déroulant.
   + Si vous souhaitez que le service virtuel atteigne un nœud virtuel directement sans routeur virtuel, sélectionnez **Nœud virtuel**, puis choisissez le nœud virtuel à utiliser dans le menu déroulant.
**Note**  
App Mesh peut créer automatiquement une politique de nouvelle tentative d'itinéraire Envoy par défaut pour chaque fournisseur de nœuds virtuels que vous définissez le 29 juillet 2020 ou après cette date, même si vous ne pouvez pas définir une telle politique via l'API App Mesh. Pour de plus amples informations, veuillez consulter [Politique de nouvelle tentative d'itinéraire par défaut](envoy-defaults.md#default-retry-policy).
   + Si vous ne voulez pas que le service virtuel achemine le trafic pour l'instant (par exemple, si vos nœuds virtuels ou votre routeur virtuel n'existent pas encore), choisissez **None (Aucun)**. Vous pourrez mettre à jour le fournisseur pour ce service virtuel plus tard.

1. Choisissez **Create virtual service (Créer un service virtuel)** pour terminer.

------
#### [ AWS CLI ]

**Pour créer un service virtuel à l'aide du AWS CLI.**

Créez un service virtuel avec un fournisseur de nœuds virtuels à l'aide de la commande suivante et d'un fichier JSON d'entrée (remplacez les *red* valeurs par les vôtres) :

1. 

   ```
   aws appmesh create-virtual-service \ 
   --cli-input-json file://create-virtual-service-virtual-node.json
   ```

1. Contenu de l'**exemple** create-virtual-service-virtual -node.json :

   ```
   {
       "meshName": "meshName",
       "spec": {
           "provider": {
               "virtualNode": {
                   "virtualNodeName": "nodeName"
               }
           }
       },
       "virtualServiceName": "serviceA.svc.cluster.local"
   }
   ```

1. Exemple de sortie :

   ```
   {
       "virtualService": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local",
               "createdAt": "2022-04-06T09:45:35.890000-05:00",
               "lastUpdatedAt": "2022-04-06T09:45:35.890000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "provider": {
                   "virtualNode": {
                       "virtualNodeName": "nodeName"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualServiceName": "serviceA.svc.cluster.local"
       }
   }
   ```

Pour plus d'informations sur la création d'un service virtuel avec le AWS CLI for App Mesh, consultez la [create-virtual-service](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-service.html)commande dans la AWS CLI référence.

------

## Supprimer un service virtuel
<a name="delete-virtual-service"></a>

**Note**  
Vous ne pouvez pas supprimer un service virtuel référencé par une route de passerelle. Vous devez d'abord supprimer la route de passerelle. 

------
#### [ AWS Management Console ]

**Pour supprimer un service virtuel à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez supprimer un service virtuel. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual services (Services virtuels)** dans le panneau de navigation gauche.

1. Choisissez le service virtuel que vous souhaitez supprimer et cliquez sur **Supprimer** dans le coin supérieur droit. Vous ne pouvez supprimer une passerelle virtuelle que lorsque votre compte est répertorié comme **propriétaire de la ressource**.

1. Dans le champ de confirmation, tapez **delete** puis cliquez sur **Supprimer**.

------
#### [ AWS CLI ]

**Pour supprimer un service virtuel à l'aide du AWS CLI**

1. Utilisez la commande suivante pour supprimer votre service virtuel (remplacez les *red* valeurs par les vôtres) :

   ```
   aws appmesh delete-virtual-service \
        --mesh-name meshName \
        --virtual-service-name serviceA.svc.cluster.local
   ```

1. Exemple de sortie :

   ```
   {
       "virtualService": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local",
               "createdAt": "2022-04-06T09:45:35.890000-05:00",
               "lastUpdatedAt": "2022-04-07T10:39:42.772000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "provider": {
                   "virtualNode": {
                       "virtualNodeName": "nodeName"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualServiceName": "serviceA.svc.cluster.local"
       }
   }
   ```

Pour plus d'informations sur la suppression d'un service virtuel à l'aide du AWS CLI for App Mesh, consultez la [delete-virtual-service](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-service.html)commande dans la AWS CLI référence.

------

# Passerelles virtuelles
<a name="virtual_gateways"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Une passerelle virtuelle permet aux ressources situées en dehors de votre maillage de communiquer avec les ressources situées à l'intérieur de votre maillage. La passerelle virtuelle représente un proxy Envoy exécuté dans un service Amazon ECS, dans un service Kubernetes ou sur une instance Amazon. EC2 Contrairement à un nœud virtuel, qui représente Envoy exécuté avec une application, une passerelle virtuelle représente Envoy déployé seul. 

Les ressources externes doivent être en mesure de convertir un nom DNS en une adresse IP attribuée au service ou à l'instance qui exécute Envoy. Envoy peut ensuite accéder à toute la configuration de l'App Mesh pour les ressources qui se trouvent à l'intérieur du maillage. La configuration pour le traitement des demandes entrantes sur la passerelle virtuelle est spécifiée à l'aide de [Gateway Routes](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html).

**Important**  
Une passerelle virtuelle dotée d'un protocole HTTP ou d'un HTTP2 écouteur réécrit le nom d'hôte de la demande entrante en nom du service virtuel cible de la route de passerelle, et le préfixe correspondant de l'itinéraire de passerelle est réécrit par défaut. `/` Par exemple, si vous avez configuré le préfixe de correspondance de la passerelle sur`/chapter`, et si la demande entrante l'est`/chapter/1`, la demande sera réécrite en. `/1` Pour configurer les réécritures, reportez-vous à la section [Création d'un itinéraire de passerelle](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html#create-gateway-route) à partir de Gateway Routes.  
Lors de la création d'une passerelle virtuelle, `proxyConfiguration` elle ne `user` doit pas être configurée.

Pour effectuer une end-to-end procédure pas à pas, consultez [Configuration de la passerelle entrante](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-ingress-gateway).

## Création d'une passerelle virtuelle
<a name="create-virtual-gateway"></a>

**Note**  
Lorsque vous créez une passerelle virtuelle, vous devez ajouter un sélecteur d'espace de noms avec une étiquette pour identifier la liste des espaces de noms auxquels associer les routes de passerelle à la passerelle virtuelle créée.

------
#### [ AWS Management Console ]

**Pour créer une passerelle virtuelle à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez créer la passerelle virtuelle. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Passerelles virtuelles dans** le menu de navigation de gauche.

1. Choisissez **Créer une passerelle virtuelle**.

1. Dans **Nom de la passerelle virtuelle**, entrez le nom de votre passerelle virtuelle.

1. (Facultatif, mais recommandé) Configurez les paramètres **par défaut de la politique du client**.

   1. (Facultatif) Sélectionnez **Appliquer le protocole TLS** si vous souhaitez que la passerelle communique uniquement avec les services virtuels à l'aide du protocole TLS (Transport Layer Security).

   1. (Facultatif) Pour **Ports**, spécifiez un ou plusieurs ports sur lesquels vous souhaitez appliquer la communication TLS avec les services virtuels.

   1. Pour **Méthode de validation**, sélectionnez l'une des options suivantes. Le certificat que vous spécifiez doit déjà exister et répondre à des exigences spécifiques. Pour de plus amples informations, veuillez consulter [Exigences du certificat](tls.md#virtual-node-tls-prerequisites).
      + **AWS Autorité de certification privée**hébergement : sélectionnez un ou plusieurs **certificats** existants.
      + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupère à l'aide du Secret Discovery Service.
      + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats** sur le système de fichiers sur lequel Envoy est déployé.

   1. (Facultatif) Entrez un **autre nom de sujet**. Pour en ajouter d'autres SANs, sélectionnez **Ajouter un SAN**. SANs doit être au format FQDN ou URI.

   1. (Facultatif) Sélectionnez **Fournir un certificat client** et l'une des options ci-dessous pour fournir un certificat client lorsqu'un serveur le demande et activer l'authentification TLS mutuelle. Pour en savoir plus sur le protocole TLS mutuel, consultez la documentation relative à l'[authentification TLS mutuelle](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
      + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupère à l'aide du Secret Discovery Service.
      + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats**, ainsi que la **clé privée**, sur le système de fichiers sur lequel Envoy est déployé. Pour une description complète du déploiement d'un maillage avec un exemple d'application utilisant le chiffrement avec des fichiers locaux, voir [Configuration du protocole TLS avec des certificats TLS fournis par fichier activé](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided). end-to-end GitHub

1. (Facultatif) Pour configurer la journalisation, sélectionnez **Journalisation**. Entrez le **chemin des journaux d'accès HTTP** que vous souhaitez qu'Envoy utilise. Nous vous recommandons ce `/dev/stdout` chemin afin que vous puissiez utiliser les pilotes de journal Docker pour exporter vos journaux Envoy vers un service tel qu'Amazon CloudWatch Logs.
**Note**  
Les journaux doivent toujours être ingérés par un agent dans votre application et envoyés à une destination. Ce chemin d'accès au fichier indique à Envoy où envoyer les journaux. 

1. Configurez le **récepteur.**

   1. Sélectionnez un **protocole** et spécifiez le **port** sur lequel Envoy écoute le trafic. L'écouteur **HTTP** permet la transition de connexion vers les websockets. Vous pouvez cliquer sur **Ajouter un écouteur** pour ajouter plusieurs écouteurs. Le bouton **Supprimer** supprimera cet écouteur.

   1. (Facultatif) **Activer le pool de connexions** 

      Le regroupement de connexions limite le nombre de connexions que Virtual Gateway Envoy peut établir simultanément. Il est conçu pour empêcher votre instance Envoy d'être submergée par les connexions et vous permet d'ajuster la configuration du trafic en fonction des besoins de vos applications.

      Vous pouvez configurer les paramètres du pool de connexions côté destination pour un écouteur de passerelle virtuelle. App Mesh définit les paramètres du pool de connexions côté client sur infini par défaut, ce qui simplifie la configuration du maillage.
**Note**  
Les protocoles `connectionPool` et `connectionPool` PortMapping doivent être identiques. Si votre protocole d'écoute est `grpc` ou`http2`, spécifiez `maxRequests` uniquement. Si votre protocole d'écoute l'est`http`, vous pouvez spécifier à la fois `maxConnections` et`maxPendingRequests`. 
      + Pour **Nombre maximal de connexions**, spécifiez le nombre maximal de connexions sortantes.
      + Pour **Maximum requests**, spécifiez le nombre maximum de requêtes parallèles pouvant être établies avec Virtual Gateway Envoy.
      + (Facultatif) Pour le nombre **maximal de demandes en attente**, spécifiez le nombre de demandes débordantes après le nombre **maximal de connexions** qu'un Envoy met en file d'attente. La valeur par défaut est `2147483647`.

   1. (Facultatif) Si vous souhaitez configurer un contrôle de santé pour votre écouteur, sélectionnez **Activer le contrôle de santé**.

      Une politique de bilan de santé est facultative, mais si vous spécifiez des valeurs pour une politique de santé, vous devez spécifier des valeurs pour le **seuil** de **santé, l'intervalle entre les contrôles de santé**, le **protocole de contrôle de santé**, le **délai** d'expiration et le **seuil d'anomalie**.
      + Pour le **protocole Health check**, choisissez un protocole. Si vous sélectionnez **grpc**, votre service doit être conforme au protocole [GRPC Health Checking](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) Protocol.
      + Pour **Health check port (Port de vérification de l'état)**, spécifiez le port sur lequel la vérification de l'état doit s'exécuter.
      + Pour **Healthy threshold (Seuil de santé)**, spécifiez le nombre de réussites consécutives de vérification de l'état qui doivent se produire avant de déclarer l'écouteur sain.
      + Pour **Health check interval (Intervalle de vérification de l'état)**, spécifiez la période en millisecondes entre chaque exécution de vérification de l'état.
      + Pour **Path (Chemin)** : spécifiez le chemin de destination pour la demande de vérification de l'état. Cette valeur n'est utilisée que si le **protocole Health check** est `http` ou`http2`. La valeur est ignorée pour les autres protocoles.
      + Pour le **délai d'attente**, spécifiez le délai d'attente en millisecondes lors de la réception d'une réponse au bilan de santé.
      + Pour **Unhealthy threshold (Seuil non sain)**, spécifiez le nombre d'échecs consécutifs de vérification de l'état qui doivent se produire avant de déclarer l'écouteur non sain.

   1. (Facultatif) Si vous souhaitez spécifier si les clients communiquent avec cette passerelle virtuelle via TLS, sélectionnez **Activer la terminaison TLS**.
      + Pour **Mode**, sélectionnez le mode pour lequel vous souhaitez que TLS soit configuré sur l'écouteur.
      + Pour **Méthode de certificat**, sélectionnez l'une des options suivantes. Le certificat doit répondre à des exigences spécifiques. Pour de plus amples informations, veuillez consulter [Exigences du certificat](tls.md#virtual-node-tls-prerequisites).
        + **AWS Certificate Manager hébergement** — Sélectionnez un **certificat** existant.
        + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupère à l'aide du Secret Discovery Service.
        + **Hébergement de fichiers local** — Spécifiez le chemin d'accès à la **chaîne de certificats** et aux fichiers de **clé privée** sur le système de fichiers sur lequel Envoy est déployé.
      + (Facultatif) Sélectionnez **Exiger un certificat client** et l'une des options ci-dessous pour activer l'authentification TLS mutuelle si le client fournit un certificat. Pour en savoir plus sur le protocole TLS mutuel, consultez la documentation relative à l'[authentification TLS mutuelle](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
        + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupère à l'aide du Secret Discovery Service.
        + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats** sur le système de fichiers sur lequel Envoy est déployé.
      + (Facultatif) Entrez un **autre nom de sujet**. Pour en ajouter d'autres SANs, sélectionnez **Ajouter un SAN**. SANs doit être au format FQDN ou URI.

1. Choisissez **Créer une passerelle virtuelle** pour terminer.

------
#### [ AWS CLI ]

**Pour créer une passerelle virtuelle à l'aide du AWS CLI.**

Créez une passerelle virtuelle à l'aide de la commande suivante et saisissez le code JSON (remplacez les *red* valeurs par les vôtres) :

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \ 
   --cli-input-json file://create-virtual-gateway.json
   ```

1. Contenu de l'**exemple** create-virtual-gateway .json :

   ```
   {
       "spec": {
         "listeners": [
           {
             "portMapping": {
               "port": 9080,
               "protocol": "http"
             }
           }
         ]
       }
   }
   ```

1. Exemple de sortie :

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-06T10:42:42.015000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Pour plus d'informations sur la création d'une passerelle virtuelle avec le AWS CLI for App Mesh, consultez la [create-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-gateway.html)commande dans la AWS CLI référence.

------

## Déployer une passerelle virtuelle
<a name="deploy-virtual-gateway"></a>

[Déployez un service Amazon ECS ou Kubernetes contenant uniquement le conteneur Envoy.](envoy.md) Vous pouvez également déployer le conteneur Envoy sur une EC2 instance Amazon. Pour plus d'informations, consultez [Getting started with App Mesh and Amazon EC2](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ec2.html). Pour plus d'informations sur le déploiement sur Amazon ECS, consultez [Getting started with App Mesh et Amazon ECS](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ecs.html) ou [Getting started with AWS App Mesh and Kubernetes to deploy to Kubernetes](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-kubernetes.html). Vous devez définir la variable d'`APPMESH_RESOURCE_ARN`environnement sur `mesh/mesh-name/virtualGateway/virtual-gateway-name` et vous ne devez pas spécifier la configuration du proxy afin que le trafic du proxy ne soit pas redirigé vers lui-même. Par défaut, App Mesh utilise le nom de la ressource que vous avez spécifiée dans `APPMESH_RESOURCE_ARN` lorsque Envoy fait référence à lui-même dans les métriques et les traces. Vous pouvez remplacer ce comportement en définissant la variable d'environnement `APPMESH_RESOURCE_CLUSTER ` avec votre propre nom.

Nous vous recommandons de déployer plusieurs instances du conteneur et de configurer un Network Load Balancer pour équilibrer la charge du trafic vers les instances. Le nom de découverte des services de l'équilibreur de charge est le nom que vous souhaitez que les services externes utilisent pour accéder aux ressources présentes dans le maillage, par exemple*myapp.example.com*. Pour plus d'informations, consultez [Creating a Network Load Balancer](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-network-load-balancer.html) (Amazon ECS), [Creating an External Load Balancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) (Kubernetes) [ou Tutoriel : Augmentez la disponibilité](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-increase-availability.html) de votre application sur Amazon. EC2 Vous pouvez également trouver d'autres exemples et des procédures pas à pas dans nos exemples d'[App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/examples.html).

Activez l'autorisation du proxy pour Envoy. Pour de plus amples informations, veuillez consulter [Autorisation Envoy Proxy](proxy-authorization.md).

## Supprimer une passerelle virtuelle
<a name="delete-virtual-gateway"></a>

------
#### [ AWS Management Console ]

**Pour supprimer une passerelle virtuelle à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez supprimer une passerelle virtuelle. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Passerelles virtuelles dans** le menu de navigation de gauche.

1. Choisissez la passerelle virtuelle que vous souhaitez supprimer, puis sélectionnez **Supprimer**. Vous ne pouvez pas supprimer une passerelle virtuelle si elle est associée à des routes de passerelle. Vous devez d'abord supprimer toutes les routes de passerelle associées. Vous ne pouvez supprimer une passerelle virtuelle que lorsque votre compte est répertorié comme **propriétaire de la ressource**.

1. Dans la zone de confirmation, tapez **delete** puis sélectionnez **Supprimer**.

------
#### [ AWS CLI ]

**Pour supprimer une passerelle virtuelle à l'aide du AWS CLI**

1. Utilisez la commande suivante pour supprimer votre passerelle virtuelle (remplacez les *red* valeurs par les vôtres) :

   ```
   aws appmesh delete-virtual-gateway \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName
   ```

1. Exemple de sortie :

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-07T10:57:22.638000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Pour plus d'informations sur la suppression d'une passerelle virtuelle à l'aide du AWS CLI for App Mesh, consultez la [delete-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-gateway.html)commande dans la AWS CLI référence.

------

# Routes de passerelle
<a name="gateway-routes"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Une route de passerelle est attachée à une passerelle virtuelle et achemine le trafic vers un service virtuel existant. Si un itinéraire correspond à une demande, il peut distribuer le trafic vers un service virtuel cible. Cette rubrique vous aide à utiliser les itinéraires de passerelle dans un maillage de services.

## Création d'un itinéraire de passerelle
<a name="create-gateway-route"></a>

------
#### [ AWS Management Console ]

**Pour créer un itinéraire de passerelle à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez créer l'itinéraire de passerelle. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Passerelles virtuelles dans** le menu de navigation de gauche.

1. Choisissez la passerelle virtuelle à laquelle vous souhaitez associer un nouvel itinéraire de passerelle. Si aucune n'est répertoriée, vous devez d'abord [créer une passerelle virtuelle](virtual_gateways.md#create-virtual-gateway). Vous ne pouvez créer une route de passerelle que pour une passerelle virtuelle dont votre compte est répertorié comme **propriétaire de la ressource**.

1. Dans le tableau des **itinéraires de passerelle**, choisissez **Create gateway route**.

1. Pour le **nom de l'itinéraire de passerelle**, spécifiez le nom à utiliser pour votre itinéraire de passerelle.

1. Pour le **type de route Gateway**, choisissez **http**, **http2** ou **grpc**.

1. Sélectionnez un **nom de service virtuel** existant. Si aucun n'est répertorié, vous devez d'abord créer un [service virtuel](virtual_services.md#create-virtual-service).

1. Choisissez le port qui correspond à la cible pour le **port du fournisseur de services virtuels**. Le port du fournisseur de services virtuels est **requis** lorsque le fournisseur (routeur ou nœud) du service virtuel sélectionné possède plusieurs écouteurs.

1. (Facultatif) Dans **Priorité**, spécifiez la priorité de cette route de passerelle.

1. Pour la configuration **Match**, spécifiez :
   + 

     Si **http/http2** est le type sélectionné :
     + (Facultatif) **Méthode** ‐ Spécifie l'en-tête de méthode à mettre en correspondance dans les requêtes **http**/**http2** entrantes.
     + (Facultatif) **Correspondance des ports** ‐ Faites correspondre le port pour le trafic entrant. La correspondance des ports est **requise** si cette passerelle virtuelle possède plusieurs écouteurs.
     + (Facultatif) **Nom d'hôte exact/suffixe** ‐ Spécifie le nom d'hôte qui doit correspondre à la demande entrante pour être acheminée vers le service virtuel cible.
     + (Facultatif) **Prefix/Exact/Regexpath** ‐ Méthode permettant de faire correspondre le chemin de l'URL.
       + **Correspondance de préfixe** ‐ Une demande correspondante par une route de passerelle est réécrite au nom du service virtuel cible et le préfixe correspondant est réécrit, par défaut. `/` Selon la façon dont vous configurez votre service virtuel, celui-ci peut utiliser un routeur virtuel pour acheminer la demande vers différents nœuds virtuels, en fonction de préfixes ou d'en-têtes spécifiques. 
**Important**  
Vous ne pouvez pas spécifier l'un `/aws-appmesh*` ou l'autre ou `/aws-app-mesh*` pour **Prefix match**. Ces préfixes sont réservés à une future utilisation interne d'App Mesh.
Si plusieurs routes de passerelle sont définies, une demande est associée à la route ayant le plus long préfixe. Par exemple, s'il existait deux routes de passerelle, l'une ayant un préfixe de `/chapter` et l'autre un préfixe de`/`, alors une demande `www.example.com/chapter/` serait mise en correspondance avec la route de passerelle portant le préfixe. `/chapter`
**Note**  
Si vous activez la correspondance basée sur **le chemin** et le **préfixe**, App Mesh permet la normalisation des chemins ([normalize\$1path](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path) et [merge\$1slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes)) afin de minimiser la probabilité de vulnérabilités liées à la confusion des chemins.  
Des vulnérabilités liées à la confusion des chemins apparaissent lorsque les parties participant à la demande utilisent des représentations de chemin différentes.
       + **Correspondance** exacte ‐ Le paramètre exact désactive la correspondance partielle pour un itinéraire et garantit qu'il ne renvoie l'itinéraire que si le chemin correspond **EXACTEMENT** à l'URL actuelle.
       + **Regex match** ‐ Utilisé pour décrire des modèles dans lesquels plusieurs URLs peuvent en fait identifier une seule page sur le site Web.
     + (Facultatif) **Paramètres de requête** ‐ Ce champ vous permet de faire correspondre les paramètres de la requête.
     + **(Facultatif) **En-têtes** ‐ Spécifie les en-têtes pour **http et http2**.** Il doit correspondre à la demande entrante à acheminer vers le service virtuel cible.
   + 

     Si **grpc** est le type sélectionné :
     + **Type de correspondance du nom d'hôte** et (facultatif) **correspondance exact/suffixe** ‐ Spécifie le nom d'hôte qui doit être mis en correspondance sur la demande entrante pour être acheminée vers le service virtuel cible. 
     + **nom du service grpc** ‐ Le service **grpc** agit comme une API pour votre application et est défini avec. ProtoBuf
**Important**  
Vous ne pouvez pas spécifier `/aws.app-mesh*` ou `aws.appmesh` pour le **nom du service**. Ces noms de service sont réservés à une future utilisation interne d'App Mesh.
     + (Facultatif) **Métadonnées** ‐ Spécifie les métadonnées pour **grpc.** Il doit correspondre à la demande entrante à acheminer vers le service virtuel cible.

1. (Facultatif) Pour la configuration **de réécriture** :
   + 

     Si **http/http2** est le type sélectionné :
     + 

       Si **Prefix** est le type de correspondance sélectionné :
       + **Annuler la réécriture automatique du nom d'hôte** ‐ Par défaut, le nom d'hôte est réécrit au nom du service virtuel cible.
       + **Annuler la réécriture automatique du préfixe** ‐ Lorsque cette option est activée, la réécriture du préfixe indique la valeur du **préfixe réécrit**.
     + 

       Si **Exact Path** est le type de correspondance sélectionné :
       + **Remplacez la réécriture automatique du nom d'hôte** ‐ par défaut, le nom d'hôte est réécrit au nom du service virtuel cible.
       + **Réécriture du chemin** ‐ Spécifie la valeur du chemin réécrit. Aucun chemin par défaut.
     + 

       Si **Regex Path** est le type de correspondance sélectionné :
       + **Remplacez la réécriture automatique du nom d'hôte** ‐ par défaut, le nom d'hôte est réécrit au nom du service virtuel cible.
       + **Réécriture du chemin** ‐ Spécifie la valeur du chemin réécrit. Aucun chemin par défaut.
   + 

     Si **grpc** est le type sélectionné :
     + **Annuler la réécriture automatique du nom d'hôte** ‐ Par défaut, le nom d'hôte est réécrit au nom du service virtuel cible.

1. Choisissez **Create gateway route** pour terminer.

------
#### [ AWS CLI ]

**Pour créer un itinéraire de passerelle à l'aide du AWS CLI.**

Créez une route de passerelle à l'aide de la commande suivante et saisissez le code JSON (remplacez les *red* valeurs par les vôtres) :

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \
   --gateway-route-name gatewayRouteName \ 
   --cli-input-json file://create-gateway-route.json
   ```

1. Contenu de l'**exemple** create-gateway-route .json :

   ```
   {
       "spec": {
           "httpRoute" : {
               "match" : {
                   "prefix" : "/"
               },
               "action" : {
                   "target" : {
                       "virtualService": {
                           "virtualServiceName": "serviceA.svc.cluster.local"
                       }
                   }
               }
           }
       }
   }
   ```

1. Exemple de sortie :

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-06T11:05:32.100000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "gatewayName"
       }
   }
   ```

Pour plus d'informations sur la création d'un itinéraire de passerelle avec le AWS CLI for App Mesh, consultez la [create-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-gateway-route.html)commande dans la AWS CLI référence.

------

## Supprimer un itinéraire de passerelle
<a name="delete-gateway-route"></a>

------
#### [ AWS Management Console ]

**Pour supprimer un itinéraire de passerelle à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage à partir duquel vous souhaitez supprimer un itinéraire de passerelle. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Passerelles virtuelles dans** le menu de navigation de gauche.

1. Choisissez la passerelle virtuelle à partir de laquelle vous souhaitez supprimer un itinéraire de passerelle.

1. Dans le tableau des **itinéraires** de passerelle, choisissez l'itinéraire de passerelle que vous souhaitez supprimer et sélectionnez **Supprimer**. Vous ne pouvez supprimer une route de passerelle que si votre compte est répertorié comme **propriétaire de la ressource**.

1. Dans le champ de confirmation, tapez **delete** puis cliquez sur **Supprimer**.

------
#### [ AWS CLI ]

**Pour supprimer un itinéraire de passerelle à l'aide du AWS CLI**

1. Utilisez la commande suivante pour supprimer votre itinéraire de passerelle (remplacez les *red* valeurs par les vôtres) :

   ```
   aws appmesh delete-gateway-route \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName \
        --gateway-route-name gatewayRouteName
   ```

1. Exemple de sortie :

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-07T10:36:33.191000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Pour plus d'informations sur la suppression d'une route de passerelle avec le AWS CLI for App Mesh, consultez la [delete-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-gateway-route.html)commande dans la AWS CLI référence.

------

# Nœuds virtuels
<a name="virtual_nodes"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Un nœud virtuel agit comme pointeur logique vers un groupe de tâches particulier, comme Amazon ECS service ou un déploiement Kubernetes. Lorsque vous créez un nœud virtuel, vous devez spécifier une méthode de découverte de services pour votre groupe de tâches. Tout trafic entrant attendu par votre nœud virtuel est spécifié en tant qu'*écouteur*. Tout service virtuel auquel un nœud virtuel envoie du trafic sortant est spécifié en tant que *backend*.

Les métadonnées de réponse pour votre nouveau nœud virtuel contiennent le nom de ressource Amazon (ARN) associé au nœud virtuel. Définissez cette valeur comme variable d'`APPMESH_RESOURCE_ARN`environnement pour le conteneur proxy Envoy de votre groupe de tâches dans votre définition de tâche Amazon ECS ou dans la spécification de votre pod Kubernetes. Par exemple, la valeur peut être`arn:aws:appmesh:us-west-2:111122223333:mesh/myMesh/virtualNode/myVirtualNode`. Cette valeur est ensuite mappée aux paramètres `node.id` et `node.cluster` Envoy. Vous devez utiliser l'image Envoy `1.15.0` ou une version ultérieure lorsque vous définissez cette variable. Pour plus d'informations sur les variables App Mesh Envoy, consultez[Image de l'envoyé](envoy.md).

**Note**  
Par défaut, App Mesh utilise le nom de la ressource que vous avez spécifiée dans `APPMESH_RESOURCE_ARN` lorsque Envoy fait référence à lui-même dans les métriques et les traces. Vous pouvez remplacer ce comportement en définissant la variable d'environnement `APPMESH_RESOURCE_CLUSTER` avec votre propre nom.

## Création d'un nœud virtuel
<a name="vn-create-virtual-node"></a>

------
#### [ AWS Management Console ]

**Pour créer un nœud virtuel à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez créer le nœud virtuel. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual nodes (Nœuds virtuels)** dans le panneau de navigation gauche.

1. Choisissez **Créer un nœud virtuel**, puis spécifiez les paramètres de votre nœud virtuel.

1. Dans **Nom du nœud virtuel**, entrez le nom de votre nœud virtuel.

1. Pour la **méthode de découverte des services**, choisissez l'une des options suivantes :
   + **DNS** — Spécifiez le **nom d'hôte DNS** du service réel représenté par le nœud virtuel. Le proxy Envoy est déployé dans un Amazon VPC. Le proxy envoie des demandes de résolution de noms au serveur DNS configuré pour le VPC. Si le nom d'hôte est résolu, le serveur DNS renvoie une ou plusieurs adresses IP. Pour plus d'informations sur les paramètres DNS du VPC, consultez la section [Utilisation du DNS avec votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). Pour le **type de réponse DNS** (facultatif), spécifiez les types de points de terminaison renvoyés par le résolveur DNS. **Load Balancer** signifie que le résolveur DNS renvoie un ensemble de points de terminaison équilibrés en charge. **Les points de terminaison** signifient que le résolveur DNS renvoie tous les points de terminaison. Par défaut, le type de réponse est supposé être **Load Balancer**.
**Note**  
Si vous utilisez **Route53**, vous devez utiliser **Load Balancer**.
   + **AWS Cloud Map**— Spécifiez un **nom de service** et un espace de **noms** HTTP existants. Facultativement, vous pouvez également spécifier les attributs qu'App Mesh peut AWS Cloud Map rechercher en sélectionnant **Ajouter une ligne** et en spécifiant une **clé** et une **valeur**. Seules les instances correspondant à toutes les key/value paires spécifiées seront renvoyées. Pour pouvoir être utilisé AWS Cloud Map, votre compte doit avoir le rôle `AWSServiceRoleForAppMesh` [lié au service](using-service-linked-roles.md). Pour plus d'informations AWS Cloud Map, consultez le [guide du AWS Cloud Map développeur](https://docs.aws.amazon.com/cloud-map/latest/dg/).
   + **Aucun** : sélectionnez cette option si votre nœud virtuel n'attend aucun trafic entrant.

1. 

**préférence de version IP**

   Contrôlez quelle version IP doit être utilisée pour le trafic au sein du maillage en activant l'option Annuler le comportement de la **version IP par défaut**. Par défaut, App Mesh utilise différentes versions IP.
**Note**  
La définition de la préférence IP sur le nœud virtuel ne remplace que la préférence IP définie pour le maillage sur ce nœud spécifique.
   + Par défaut
     + Le résolveur DNS d'Envoy préfère `IPv6` et revient à`IPv4`.
     + Nous utilisons l'`IPv4`adresse renvoyée AWS Cloud Map si elle est disponible et nous nous contentons de l'`IPv6`utiliser.
     + Le point de terminaison créé pour l'application locale utilise une `IPv4` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv4` adresses.
   + IPv6 préféré
     + Le résolveur DNS d'Envoy préfère `IPv6` et revient à`IPv4`.
     + L'`IPv6`adresse renvoyée par AWS Cloud Map est utilisée si elle est disponible et revient à l'utilisation de l'`IPv4`adresse
     + Le point de terminaison créé pour l'application locale utilise une `IPv6` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.
   + IPv4 préféré
     + Le résolveur DNS d'Envoy préfère `IPv4` et revient à`IPv6`.
     + Nous utilisons l'`IPv4`adresse renvoyée AWS Cloud Map si elle est disponible et nous nous contentons de l'`IPv6`utiliser.
     + Le point de terminaison créé pour l'application locale utilise une `IPv4` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.
   + IPv6 uniquement
     + Le résolveur DNS d'Envoy n'utilise `IPv6` que.
     + Seule l'`IPv6`adresse renvoyée par AWS Cloud Map est utilisée. Si elle AWS Cloud Map renvoie une `IPv4` adresse, aucune adresse IP n'est utilisée et les résultats vides sont renvoyés à l'Envoy.
     + Le point de terminaison créé pour l'application locale utilise une `IPv6` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.
   + IPv4 uniquement
     + Le résolveur DNS d'Envoy n'utilise `IPv4` que.
     + Seule l'`IPv4`adresse renvoyée par AWS Cloud Map est utilisée. Si elle AWS Cloud Map renvoie une `IPv6` adresse, aucune adresse IP n'est utilisée et les résultats vides sont renvoyés à l'Envoy.
     + Le point de terminaison créé pour l'application locale utilise une `IPv4` adresse.
     + Les écouteurs Envoy se lient à toutes les `IPv6` adresses `IPv4` et adresses.

1. 

**(Facultatif) **Paramètres de politique client par défaut** : configurez les exigences par défaut lors de la communication avec les services virtuels principaux.**
**Note**  
Si vous souhaitez activer le protocole TLS (Transport Layer Security) pour un nœud virtuel existant, nous vous recommandons de créer un nouveau nœud virtuel, qui représente le même service que le nœud virtuel existant, sur lequel vous souhaitez activer le protocole TLS. Transférez ensuite progressivement le trafic vers le nouveau nœud virtuel à l'aide d'un routeur et d'un itinéraire virtuels. Pour plus d'informations sur la création d'un itinéraire et l'ajustement des pondérations pour la transition, consultez[Routes](routes.md). Si vous mettez à jour un nœud virtuel existant desservant le trafic avec le protocole TLS, il est possible que les proxys Envoy du client en aval reçoivent le contexte de validation TLS avant que le proxy Envoy du nœud virtuel que vous avez mis à jour ne reçoive le certificat. Cela peut provoquer des erreurs de négociation TLS sur les proxys Envoy en aval.
[L'autorisation du proxy](proxy-authorization.md) doit être activée pour le proxy Envoy déployé avec l'application représentée par les nœuds virtuels du service principal. Lorsque vous activez l'autorisation du proxy, nous vous recommandons de limiter l'accès aux seuls nœuds virtuels avec lesquels ce nœud virtuel communique.
   + (Facultatif) Sélectionnez **Appliquer le protocole TLS** si vous souhaitez que le nœud virtuel communique avec tous les backends à l'aide du protocole TLS (Transport Layer Security).
   + (Facultatif) Si vous souhaitez uniquement exiger l'utilisation du protocole TLS pour un ou plusieurs ports spécifiques, entrez un numéro dans **Ports**. Pour ajouter des ports supplémentaires, sélectionnez **Ajouter un port**. Si vous ne spécifiez aucun port, le protocole TLS est appliqué à tous les ports.
   + Pour **Méthode de validation**, sélectionnez l'une des options suivantes. Le certificat que vous spécifiez doit déjà exister et répondre à des exigences spécifiques. Pour de plus amples informations, veuillez consulter [Exigences du certificat](tls.md#virtual-node-tls-prerequisites).
     + **AWS Autorité de certification privée**hébergement : sélectionnez un ou plusieurs **certificats** existants. Pour une description complète du déploiement d'un maillage avec un exemple d'application utilisant le chiffrement à l'aide d'un certificat ACM, voir [Configuration du protocole TLS avec AWS Certificate Manager activé](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/tls-with-acm). end-to-end GitHub
     + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupérera à l'aide du Secret Discovery Service.
     + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats** sur le système de fichiers sur lequel Envoy est déployé. Pour une description complète du déploiement d'un maillage avec un exemple d'application utilisant le chiffrement avec des fichiers locaux, voir [Configuration du protocole TLS avec des certificats TLS fournis par fichier activé](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided). end-to-end GitHub
   + (Facultatif) Entrez un **autre nom de sujet**. Pour en ajouter d'autres SANs, sélectionnez **Ajouter un SAN**. SANs doit être au format FQDN ou URI.
   + (Facultatif) Sélectionnez **Fournir un certificat client** et l'une des options ci-dessous pour fournir un certificat client lorsqu'un serveur le demande et activer l'authentification TLS mutuelle. Pour en savoir plus sur le protocole TLS mutuel, consultez la documentation relative à l'[authentification TLS mutuelle](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
     + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupérera à l'aide du Secret Discovery Service.
     + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats**, ainsi que la **clé privée**, sur le système de fichiers sur lequel Envoy est déployé.

1. 

**(Facultatif) **Backends de service** : spécifiez le service virtuel App Mesh avec lequel le nœud virtuel communiquera.**
   + Entrez un nom de service virtuel App Mesh ou un nom de ressource Amazon (ARN) complet pour le service virtuel avec lequel votre nœud virtuel communique.
   + **(Facultatif) Si vous souhaitez définir des paramètres TLS uniques pour un backend, sélectionnez les paramètres **TLS, puis sélectionnez Remplacer les paramètres** par défaut.**
     + (Facultatif) Sélectionnez **Appliquer le protocole TLS** si vous souhaitez que le nœud virtuel communique avec tous les backends à l'aide du protocole TLS.
     + (Facultatif) Si vous souhaitez uniquement exiger l'utilisation du protocole TLS pour un ou plusieurs ports spécifiques, entrez un numéro dans **Ports**. Pour ajouter des ports supplémentaires, sélectionnez **Ajouter un port**. Si vous ne spécifiez aucun port, le protocole TLS est appliqué à tous les ports.
     + Pour **Méthode de validation**, sélectionnez l'une des options suivantes. Le certificat que vous spécifiez doit déjà exister et répondre à des exigences spécifiques. Pour de plus amples informations, veuillez consulter [Exigences du certificat](tls.md#virtual-node-tls-prerequisites).
       + **AWS Autorité de certification privée**hébergement : sélectionnez un ou plusieurs **certificats** existants.
       + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupérera à l'aide du Secret Discovery Service.
       + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats** sur le système de fichiers sur lequel Envoy est déployé.
     + (Facultatif) Entrez un **autre nom de sujet**. Pour en ajouter d'autres SANs, sélectionnez **Ajouter un SAN**. SANsdoit être au format FQDN ou URI.
     + (Facultatif) Sélectionnez **Fournir un certificat client** et l'une des options ci-dessous pour fournir un certificat client lorsqu'un serveur le demande et activer l'authentification TLS mutuelle. Pour en savoir plus sur le protocole TLS mutuel, consultez la documentation relative à l'[authentification TLS mutuelle](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
       + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupérera à l'aide du Secret Discovery Service.
       + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats**, ainsi que la **clé privée**, sur le système de fichiers sur lequel Envoy est déployé.
   + Pour ajouter des backends supplémentaires, sélectionnez **Ajouter un backend**.

1. (Facultatif) **Journalisation**

   Pour configurer la journalisation, saisissez le chemin d'accès HTTP que vous souhaitez qu'Envoy utilise. Nous vous recommandons ce `/dev/stdout` chemin afin que vous puissiez utiliser les pilotes de journal Docker pour exporter vos journaux Envoy vers un service tel qu'Amazon CloudWatch Logs.
**Note**  
Les journaux doivent toujours être ingérés par un agent dans votre application et envoyés à une destination. Ce chemin d'accès au fichier indique à Envoy où envoyer les journaux. 

1. **Configuration de l'écouteur**

   Support des auditeurs`HTTP`, `HTTP/2``GRPC`, et `TCP` protocoles. `HTTPS`n'est pas pris en charge.

   1. Si votre nœud virtuel attend du trafic entrant, spécifiez un **port** et un **protocole** pour le **récepteur**. L'écouteur **HTTP** permet la transition de connexion vers les websockets. Vous pouvez cliquer sur **Ajouter un écouteur** pour ajouter plusieurs écouteurs. Le bouton **Supprimer** supprimera cet écouteur.

   1. 

**(Facultatif) **Activer le pool de connexions****

      Le regroupement de connexions limite le nombre de connexions qu'un Envoy peut établir simultanément avec le cluster d'applications local. Il est conçu pour empêcher votre application locale d'être submergée par les connexions et vous permet d'ajuster la configuration du trafic en fonction des besoins de vos applications.

      Vous pouvez configurer les paramètres du pool de connexions côté destination pour un écouteur de nœud virtuel. App Mesh définit les paramètres du pool de connexions côté client sur infini par défaut, ce qui simplifie la configuration du maillage.
**Note**  
Les protocoles ConnectionPool et PortMapping doivent être identiques. Si le protocole de votre écouteur est TCP, spécifiez uniquement MaxConnections. Si le protocole de votre écouteur est grpc ou http2, spécifiez uniquement MaxRequests. Si le protocole de votre écouteur est http, vous pouvez spécifier à la fois MaxConnections et. maxPendingRequests 
      + Pour **Nombre maximal de connexions**, spécifiez le nombre maximal de connexions sortantes.
      + (Facultatif) Pour le nombre **maximal de demandes en attente**, spécifiez le nombre de demandes débordantes après le nombre **maximal de connexions** qu'un Envoy mettra en file d'attente. La valeur par défaut est `2147483647`.

   1. 

**(Facultatif) **Activer la détection des valeurs aberrantes****

      La détection des valeurs aberrantes appliquée au niveau du client Envoy permet aux clients de prendre des mesures quasi immédiates sur les connexions présentant des défaillances connues. Il s'agit d'une forme de mise en œuvre d'un disjoncteur qui permet de suivre l'état de santé de chaque hôte dans le service en amont.

      La détection des valeurs aberrantes détermine dynamiquement si les points de terminaison d'un cluster en amont fonctionnent différemment des autres et les supprime de l'ensemble d'équilibrage de charge sain.
**Note**  
Pour configurer efficacement la détection des valeurs aberrantes pour un nœud virtuel de serveur, la méthode de découverte de service de ce nœud virtuel peut être AWS Cloud Map soit DNS avec le champ de type de réponse défini sur. `ENDPOINTS` Si vous utilisez la méthode de découverte du service DNS avec le type de réponse as`LOADBALANCER`, le proxy Envoy ne choisira qu'une seule adresse IP pour le routage vers le service en amont. Cela annule le comportement de détection exceptionnel qui consiste à éjecter un hôte défectueux d'un ensemble d'hôtes. Reportez-vous à la section Méthode de découverte de service pour plus de détails sur le comportement du proxy Envoy par rapport au type de découverte de service.
      + Pour les **erreurs du serveur**, spécifiez le nombre d'erreurs 5xx consécutives requises pour l'éjection.
      + Pour **Intervalle de détection des valeurs aberrantes**, spécifiez l'intervalle de temps et l'unité entre les analyses par balayage par éjection.
      + Pour **la durée d'éjection** de base, spécifiez la durée de base et l'unité pendant lesquelles un hôte est éjecté.
      + Pour le **pourcentage d'éjection**, spécifiez le pourcentage maximal d'hôtes pouvant être éjectés dans le pool d'équilibrage de charge.

   1. 

**(Facultatif) **Activer le contrôle de santé** : configurez les paramètres d'une politique de contrôle de santé.**

      Une politique de bilan de santé est facultative, mais si vous spécifiez des valeurs pour une politique de santé, vous devez spécifier des valeurs pour le **seuil** de **santé, l'intervalle entre les contrôles de santé**, le **protocole de contrôle de santé**, le **délai** d'expiration et le **seuil d'anomalie**.
      + Pour le **protocole Health check**, choisissez un protocole. Si vous sélectionnez **grpc**, votre service doit être conforme au protocole [GRPC Health Checking](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) Protocol.
      + Pour **Health check port (Port de vérification de l'état)**, spécifiez le port sur lequel la vérification de l'état doit s'exécuter.
      + Pour **Healthy threshold (Seuil de santé)**, spécifiez le nombre de réussites consécutives de vérification de l'état qui doivent se produire avant de déclarer l'écouteur sain.
      + Pour **Health check interval (Intervalle de vérification de l'état)**, spécifiez la période en millisecondes entre chaque exécution de vérification de l'état.
      + Pour **Path (Chemin)** : spécifiez le chemin de destination pour la demande de vérification de l'état. Cette valeur n'est utilisée que si le **protocole Health check** est `http` ou`http2`. La valeur est ignorée pour les autres protocoles.
      + Pour **Timeout period (Délai)**, spécifiez le délai d'attente pour recevoir une réponse de la vérification de l'état, en millisecondes.
      + Pour **Unhealthy threshold (Seuil non sain)**, spécifiez le nombre d'échecs consécutifs de vérification de l'état qui doivent se produire avant de déclarer l'écouteur non sain.

   1. 

**(Facultatif) **Activez la terminaison TLS** : configurez la manière dont les autres nœuds virtuels communiquent avec ce nœud virtuel à l'aide du protocole TLS.**
      + Pour **Mode**, sélectionnez le mode pour lequel vous souhaitez que TLS soit configuré sur l'écouteur.
      + Pour **Méthode de certificat**, sélectionnez l'une des options suivantes. Le certificat doit répondre à des exigences spécifiques. Pour de plus amples informations, veuillez consulter [Exigences du certificat](tls.md#virtual-node-tls-prerequisites).
        + **AWS Certificate Manager hébergement** — Sélectionnez un **certificat** existant.
        + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupérera à l'aide du Secret Discovery Service.
        + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats**, ainsi que la **clé privée**, sur le système de fichiers sur lequel le proxy Envoy est déployé.
      + (Facultatif) Sélectionnez **Exiger des certificats client** et l'une des options ci-dessous pour activer l'authentification TLS mutuelle lorsqu'un client fournit un certificat. Pour en savoir plus sur le protocole TLS mutuel, consultez la documentation relative à l'[authentification TLS mutuelle](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
        + Hébergement **Envoy Secret Discovery Service (SDS)** — Entrez le nom du secret qu'Envoy récupérera à l'aide du Secret Discovery Service.
        + **Hébergement de fichiers local** — Spécifiez le chemin d'accès au fichier de **chaîne de certificats** sur le système de fichiers sur lequel Envoy est déployé.
      + (Facultatif) Entrez un **autre nom de sujet**. Pour en ajouter d'autres SANs, sélectionnez **Ajouter un SAN**. SANsdoit être au format FQDN ou URI.

   1. 

****Temporisations (facultatives)****
**Note**  
 Si vous spécifiez un délai d'attente supérieur à la valeur par défaut, assurez-vous de configurer un routeur virtuel et un itinéraire avec un délai d'expiration supérieur à la valeur par défaut. Toutefois, si vous réduisez le délai d'expiration à une valeur inférieure à la valeur par défaut, il est facultatif de mettre à jour les délais dans Route. Pour plus d'informations, consultez la section [Routes](https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html).
      + **Délai d'expiration de la demande** **: vous pouvez spécifier un délai d'attente si vous avez sélectionné **grpc**, **http** ou **http2** pour le protocole de l'écouteur.** La valeur par défaut est de 15 secondes. La valeur `0` désactive le délai d’attente.
      + **Durée** d'inactivité : vous pouvez spécifier une durée d'inactivité pour n'importe quel protocole d'écoute. La durée par défaut est 300 secondes.

1. Choisissez **Create virtual node (Créer un nœud virtuel)** pour terminer.

------
#### [ AWS CLI ]

**Pour créer un nœud virtuel à l'aide du AWS CLI.**

Créez un nœud virtuel qui utilise le DNS pour la découverte de services à l'aide de la commande suivante et d'un fichier JSON d'entrée (remplacez les *red* valeurs par les vôtres) :

1. 

   ```
   aws appmesh create-virtual-node \
   --cli-input-json file://create-virtual-node-dns.json
   ```

1. Contenu de l'**exemple** create-virtual-node-dns .json :

   ```
   {
       "meshName": "meshName",
       "spec": {
           "listeners": [
               {
                   "portMapping": {
                       "port": 80,
                       "protocol": "http"
                   }
               }
           ],
           "serviceDiscovery": {
               "dns": {
                   "hostname": "serviceBv1.svc.cluster.local"
               }
           }
       },
       "virtualNodeName": "nodeName"
   }
   ```

1. Exemple de sortie :

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-06T09:12:24.348000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ],
               "serviceDiscovery": {
                   "dns": {
                       "hostname": "serviceBv1.svc.cluster.local"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualNodeName": "nodeName"
       }
   }
   ```

Pour plus d'informations sur la création d'un nœud virtuel avec le AWS CLI for App Mesh, consultez la [create-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-node.html)commande dans la AWS CLI référence.

------

## Supprimer un nœud virtuel
<a name="delete-virtual-node"></a>

**Note**  
Vous ne pouvez pas supprimer un nœud virtuel s'il est spécifié en tant que cible sur un [itinéraire](routes.md) ou en tant que fournisseur dans un [service virtuel](virtual_services.md).

------
#### [ AWS Management Console ]

**Pour supprimer un nœud virtuel à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dont vous souhaitez supprimer un nœud virtuel. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual nodes (Nœuds virtuels)** dans le panneau de navigation gauche.

1. Dans le tableau **Nœuds virtuels**, choisissez le nœud virtuel que vous souhaitez supprimer, puis sélectionnez **Supprimer**. Pour supprimer un nœud virtuel, votre identifiant de compte doit être répertorié dans les colonnes du **propriétaire du maillage** ou du **propriétaire de la ressource** du nœud virtuel.

1. Dans la zone de confirmation, tapez **delete** puis sélectionnez **Supprimer**.

------
#### [ AWS CLI ]

**Pour supprimer un nœud virtuel à l'aide du AWS CLI**

1. Utilisez la commande suivante pour supprimer votre nœud virtuel (remplacez les *red* valeurs par les vôtres) :

   ```
   aws appmesh delete-virtual-node \
        --mesh-name meshName \
        --virtual-node-name nodeName
   ```

1. Exemple de sortie :

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-07T11:03:48.120000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "backends": [],
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ],
               "serviceDiscovery": {
                   "dns": {
                       "hostname": "serviceBv1.svc.cluster.local"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualNodeName": "nodeName"
       }
   }
   ```

Pour plus d'informations sur la suppression d'un nœud virtuel avec le AWS CLI for App Mesh, consultez la [delete-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-node.html)commande dans la AWS CLI référence.

------

# Routeurs virtuels
<a name="virtual_routers"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Les routeurs virtuels gèrent le trafic d'un ou de plusieurs services virtuels au sein de votre mesh. Une fois que vous avez créé un routeur virtuel, vous pouvez créer et associer des routes pour votre routeur virtuel qui acheminent les demandes entrantes vers différents nœuds virtuels.

![\[Virtual router diagram showing HTTP route with prefix and targets B and B' for different service versions.\]](http://docs.aws.amazon.com/fr_fr/app-mesh/latest/userguide/images/virtual_router.png)


Tout trafic entrant attendu par votre routeur virtuel doit être spécifié en tant qu'*écouteur*.

## Création d'un routeur virtuel
<a name="create-virtual-router"></a>

------
#### [ AWS Management Console ]

**Pour créer un routeur virtuel à l'aide du AWS Management Console**
**Note**  
Lorsque vous créez un routeur virtuel, vous devez ajouter un sélecteur d'espace de noms avec une étiquette pour identifier la liste des espaces de noms permettant d'associer des routes au routeur virtuel créé.

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez créer le routeur virtuel. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual routeurs (Routeurs virtuels)** dans le panneau de navigation gauche.

1. Choisissez **Create virtual router (Créer un routeur virtuel)**.

1. Pour **Virtual router name (Nom de routeur virtuel)**, spécifiez un nom pour votre routeur virtuel. Il peut comporter jusqu'à 255 lettres, chiffres, points, tirets ou traits de soulignement.

1. (Facultatif) Pour la configuration du **récepteur**, spécifiez un **port** et un **protocole** pour votre routeur virtuel. L'`http`écouteur permet la transition de connexion vers les websockets. Vous pouvez cliquer sur **Ajouter un écouteur** pour ajouter plusieurs écouteurs. Le bouton **Supprimer** supprimera cet écouteur.

1. Choisissez **Create virtual router (Créer un routeur virtuel)** pour terminer.

------
#### [ AWS CLI ]

**Pour créer un routeur virtuel à l'aide du AWS CLI.**

Créez un routeur virtuel à l'aide de la commande suivante et saisissez le code JSON (remplacez les *red* valeurs par les vôtres) :

1. 

   ```
   aws appmesh create-virtual-router \
        --cli-input-json file://create-virtual-router.json
   ```

1. Contenu de l'**exemple** create-virtual-router .json

1. 

   ```
   {
       "meshName": "meshName",
       "spec": {
           "listeners": [
               {
                   "portMapping": {
                       "port": 80,
                       "protocol": "http"
                   }
               }
           ]
       },
       "virtualRouterName": "routerName"
   }
   ```

1. Exemple de sortie :

   ```
   {
       "virtualRouter": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName",
               "createdAt": "2022-04-06T11:49:47.216000-05:00",
               "lastUpdatedAt": "2022-04-06T11:49:47.216000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Pour plus d'informations sur la création d'un routeur virtuel avec le AWS CLI for App Mesh, consultez la [create-virtual-router](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-router.html)commande dans la AWS CLI référence.

------

## Supprimer un routeur virtuel
<a name="delete-virtual-router"></a>

**Note**  
Vous ne pouvez pas supprimer un routeur virtuel s'il possède des [itinéraires](routes.md) ou s'il est spécifié comme fournisseur pour un [service virtuel](virtual_services.md).

------
#### [ AWS Management Console ]

**Pour supprimer un routeur virtuel à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dont vous souhaitez supprimer un routeur virtuel. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual routeurs (Routeurs virtuels)** dans le panneau de navigation gauche.

1. Dans le tableau **des routeurs virtuels**, choisissez le routeur virtuel que vous souhaitez supprimer et sélectionnez **Supprimer** dans le coin supérieur droit. Pour supprimer un routeur virtuel, votre identifiant de compte doit être répertorié dans les colonnes du **propriétaire du maillage** ou du **propriétaire de la ressource** du routeur virtuel.

1. Dans le champ de confirmation, tapez **delete** puis cliquez sur **Supprimer**.

------
#### [ AWS CLI ]

**Pour supprimer un routeur virtuel à l'aide du AWS CLI**

1. Utilisez la commande suivante pour supprimer votre routeur virtuel (remplacez les *red* valeurs par les vôtres) :

   ```
   aws appmesh delete-virtual-router \
        --mesh-name meshName \
        --virtual-router-name routerName
   ```

1. Exemple de sortie :

   ```
   {
       "virtualRouter": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName",
               "createdAt": "2022-04-06T11:49:47.216000-05:00",
               "lastUpdatedAt": "2022-04-07T10:49:53.402000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Pour plus d'informations sur la suppression d'un routeur virtuel avec le AWS CLI for App Mesh, consultez la [delete-virtual-router](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-router.html)commande dans la AWS CLI référence.

------

# Routes
<a name="routes"></a>

**Important**  
Avis de fin de support : le 30 septembre 2026, AWS le support de. AWS App Mesh Après le 30 septembre 2026, vous ne pourrez plus accéder à la AWS App Mesh console ni aux AWS App Mesh ressources. Pour plus d'informations, consultez ce billet de blog [intitulé Migration from AWS App Mesh to Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Un itinéraire est associé à un routeur virtuel. La route est utilisée pour répondre aux demandes du routeur virtuel et pour distribuer le trafic à ses nœuds virtuels associés. Si un itinéraire correspond à une demande, il peut distribuer le trafic vers un ou plusieurs nœuds virtuels cibles. Vous pouvez définir une pondération relative pour chaque nœud virtuel. Cette rubrique vous aide à utiliser des itinéraires dans un maillage de services.

## Création d'un itinéraire
<a name="create-route"></a>

------
#### [ AWS Management Console ]

**Pour créer un itinéraire à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage dans lequel vous souhaitez créer l'itinéraire. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual routeurs (Routeurs virtuels)** dans le panneau de navigation gauche.

1. Choisissez le routeur virtuel auquel vous souhaitez associer un nouvel itinéraire. Si aucun n'est répertorié, vous devez d'abord [créer un routeur virtuel](virtual_routers.md#create-virtual-router).

1. Dans le tableau **Routes**, choisissez **Create route (Créer une route)**. Pour créer un itinéraire, votre identifiant de compte doit être indiqué en tant que **propriétaire de la ressource** de l'itinéraire.

1. Pour **Route name (Nom de route)**, indiquez le nom à utiliser pour votre route.

1. Dans **Type de route**, choisissez le protocole que vous souhaitez router. Le protocole que vous sélectionnez doit correspondre au protocole d'écoute que vous avez sélectionné pour votre routeur virtuel et le nœud virtuel vers lequel vous acheminez le trafic.

1. (Facultatif) Pour la **priorité de l'itinéraire**, spécifiez une priorité comprise entre 0 et 1 000 à utiliser pour votre itinéraire. La correspondance pour les routes se fait en fonction de la valeur spécifiée, où 0 est la priorité la plus haute.

1. (Facultatif) Choisissez **Configuration supplémentaire**. Dans les protocoles ci-dessous, choisissez le protocole que vous avez sélectionné pour le **type de route** et spécifiez les paramètres souhaités dans la console.

1. Pour la **configuration de Target**, sélectionnez le nœud virtuel App Mesh existant vers lequel acheminer le trafic et spécifiez un **poids**. Vous pouvez choisir **Ajouter une cible** pour ajouter des cibles supplémentaires. Le pourcentage pour toutes les cibles doit être égal à 100. Si aucun nœud virtuel n'est répertorié, vous devez d'abord en [créer](virtual_nodes.md#vn-create-virtual-node) un. Si le nœud virtuel sélectionné possède plusieurs écouteurs, le **port cible** est **requis.**

1. Pour la configuration **Match**, spécifiez :

   *La configuration **Match** n'est pas disponible pour `tcp`*
   + 

     Si **http/http2** est le type sélectionné :
     + (Facultatif) **Méthode** ‐ spécifie l'en-tête de méthode à mettre en correspondance dans les requêtes **http**/**http2** entrantes.
     + (Facultatif) **Correspondance des ports** ‐ Faites correspondre le port pour le trafic entrant. La correspondance des ports est **requise** si ce routeur virtuel possède plusieurs écouteurs.
     + (Facultatif) **Prefix/Exact/Regexpath** ‐ méthode permettant de faire correspondre le chemin de l'URL.
       + **Correspondance de préfixe** ‐ une demande correspondante par une route de passerelle est réécrite au nom du service virtuel cible et le préfixe correspondant est réécrit, par défaut. `/` Selon la façon dont vous configurez votre service virtuel, celui-ci peut utiliser un routeur virtuel pour acheminer la demande vers différents nœuds virtuels, en fonction de préfixes ou d'en-têtes spécifiques. 
**Note**  
Si vous activez la correspondance basée sur **le chemin** et le **préfixe**, App Mesh permet la normalisation des chemins ([normalize\$1path](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path) et [merge\$1slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes)) afin de minimiser la probabilité de vulnérabilités liées à la confusion des chemins.  
Des vulnérabilités liées à la confusion des chemins se produisent lorsque les parties participant à la demande utilisent des représentations de chemin différentes.
       + **Correspondance** exacte ‐ le paramètre exact désactive la correspondance partielle pour un itinéraire et garantit qu'il ne renvoie l'itinéraire que si le chemin correspond EXACTEMENT à l'URL actuelle.
       + **Regex match** ‐ utilisé pour décrire des modèles dans lesquels plusieurs URLs peuvent en fait identifier une seule page sur le site Web.
     + (Facultatif) **Paramètres de requête** ‐ Ce champ vous permet de faire correspondre les paramètres de la requête.
     + **(Facultatif) **En-têtes** ‐ spécifie les en-têtes pour **http et http2**.** Il doit correspondre à la demande entrante à acheminer vers le service virtuel cible.
   + 

     Si **grpc** est le type sélectionné :
     + **Nom du service** ‐ le service de destination pour lequel la demande doit correspondre.
     + **Nom de la méthode** ‐ la méthode de destination pour laquelle correspondre à la demande.
     + (Facultatif) **Métadonnées** ‐ Spécifie la `Match` base de la présence de métadonnées. Tous doivent correspondre pour que la demande soit traitée.

1. Sélectionnez **Créer un itinéraire**.

------
#### [ AWS CLI ]

**Pour créer un itinéraire à l'aide du AWS CLI.**

Créez une route gRPC à l'aide de la commande suivante et saisissez le code JSON (remplacez les *red* valeurs par les vôtres) :

1. 

   ```
   aws appmesh create-route \
        --cli-input-json file://create-route-grpc.json
   ```

1. Contenu de l'**exemple** create-route-grpc .json

   ```
   {
       "meshName" : "meshName",
       "routeName" : "routeName",
       "spec" : {
          "grpcRoute" : {
             "action" : {
                "weightedTargets" : [
                   {
                      "virtualNode" : "nodeName",
                      "weight" : 100
                   }
                ]
             },
             "match" : {
                "metadata" : [
                   {
                      "invert" : false,
                      "match" : {
                         "prefix" : "123"
                      },
                      "name" : "myMetadata"
                   }
                ],
                "methodName" : "nameOfmethod",
                "serviceName" : "serviceA.svc.cluster.local"
             },
             "retryPolicy" : {
                "grpcRetryEvents" : [ "deadline-exceeded" ],
                "httpRetryEvents" : [ "server-error", "gateway-error" ],
                "maxRetries" : 3,
                "perRetryTimeout" : {
                   "unit" : "s",
                   "value" : 15
                },
                "tcpRetryEvents" : [ "connection-error" ]
             }
          },
          "priority" : 100
       },
       "virtualRouterName" : "routerName"
   }
   ```

1. Exemple de sortie :

   ```
   {
       "route": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName",
               "createdAt": "2022-04-06T13:48:20.749000-05:00",
               "lastUpdatedAt": "2022-04-06T13:48:20.749000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "routeName": "routeName",
           "spec": {
               "grpcRoute": {
                   "action": {
                       "weightedTargets": [
                           {
                               "virtualNode": "nodeName",
                               "weight": 100
                           }
                       ]
                   },
                   "match": {
                       "metadata": [
                           {
                               "invert": false,
                               "match": {
                                   "prefix": "123"
                               },
                               "name": "myMetadata"
                           }
                       ],
                       "methodName": "nameOfMehod",
                       "serviceName": "serviceA.svc.cluster.local"
                   },
                   "retryPolicy": {
   "grpcRetryEvents": [
                           "deadline-exceeded"
                       ],
                       "httpRetryEvents": [
                           "server-error",
                           "gateway-error"
                       ],
                       "maxRetries": 3,
                       "perRetryTimeout": {
                           "unit": "s",
                           "value": 15
                       },
                       "tcpRetryEvents": [
                           "connection-error"
                       ]
                   }
               },
               "priority": 100
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Pour plus d'informations sur la création d'un itinéraire avec le AWS CLI for App Mesh, consultez la commande [create-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-route.html) dans la AWS CLI référence.

------

### gRPC
<a name="grpc"></a>

### (Facultatif) **Correspondance**

+ (Facultatif) Entrez le **nom** du service de destination correspondant à la demande. Si vous ne spécifiez aucun nom, les demandes adressées à n'importe quel service sont mises en correspondance.
+ (Facultatif) Entrez le **nom** de la méthode de destination correspondant à la demande. Si vous ne spécifiez aucun nom, les demandes adressées à n'importe quelle méthode sont mises en correspondance. Si vous spécifiez un nom de méthode, vous devez indiquer un nom de service.

### (Facultatif) **Métadonnées**


Sélectionnez **Ajouter des métadonnées**.
+ (Facultatif) Entrez le **nom des métadonnées** sur lequel vous souhaitez effectuer le routage, sélectionnez un **type de correspondance** et entrez une **valeur de correspondance**. Si vous sélectionnez **Inverser**, vous obtiendrez le résultat inverse. Par exemple, si vous spécifiez un **nom de métadonnées** de`myMetadata`, un **type de correspondance** **exact**, une **valeur de correspondance** de `123` et que vous sélectionnez **Inverser**, l'itinéraire est mis en correspondance pour toute demande dont le nom de métadonnées commence par autre chose que`123`.
+ (Facultatif) Sélectionnez **Ajouter des métadonnées** pour ajouter jusqu'à dix éléments de métadonnées. 

### (Facultatif) Politique **de nouvelle tentative**


Une stratégie de nouvelle tentative permet aux clients de se protéger contre les défaillances intermittentes du réseau et les défaillances intermittentes côté serveur. Une politique de nouvelle tentative est facultative, mais recommandée. Les valeurs du délai d'expiration définissent le délai d'expiration par nouvelle tentative (y compris la tentative initiale). Si vous ne définissez pas de politique de réessai, App Mesh peut créer automatiquement une politique par défaut pour chacun de vos itinéraires. Pour de plus amples informations, veuillez consulter [Politique de nouvelle tentative d'itinéraire par défaut](envoy-defaults.md#default-retry-policy).
+ Pour **Réessayer**, entrez le nombre d'unités correspondant à la durée du délai d'expiration. Une valeur est requise si vous sélectionnez un événement de nouvelle tentative de protocole.
+ Pour l'unité **de temporisation de la nouvelle tentative, sélectionnez une unité**. Une valeur est requise si vous sélectionnez un événement de nouvelle tentative de protocole.
+ Pour **Nombre maximal de tentatives**, entrez le nombre maximal de tentatives en cas d'échec de la demande. Une valeur est requise si vous sélectionnez un événement de nouvelle tentative de protocole. Nous recommandons une valeur d'au moins deux.
+ Sélectionnez un ou plusieurs **événements de nouvelle tentative HTTP**. **Nous vous recommandons de sélectionner au moins **stream-error et gateway-error**.**
+ Sélectionnez un événement **de nouvelle tentative TCP**.
+ Sélectionnez un ou plusieurs événements de nouvelle **tentative de gRPC**. Nous vous recommandons de sélectionner au moins **annulé** et **indisponible**.

### **Temporisations (facultatives)**

+ La valeur par défaut est de 15 secondes. Si vous avez défini une **politique de nouvelles tentatives**, la durée que vous spécifiez ici doit toujours être supérieure ou égale à la durée de nouvelles tentatives multipliée par le nombre **maximal de tentatives que vous avez défini dans la politique de nouvelles tentatives** afin que votre **politique de nouvelles tentatives** puisse être appliquée. Si vous spécifiez une durée supérieure à 15 secondes, assurez-vous que le délai d'attente spécifié pour l'écouteur de n'importe quel nœud virtuel **Target** est également supérieur à 15 secondes. Pour plus d'informations, consultez la section [Nœuds virtuels](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html).
+ La valeur `0` désactive le délai d’attente. 
+ Durée maximale pendant laquelle l'itinéraire peut être inactif.

### HTTP et HTTP/2
<a name="http-http2"></a>

### (Facultatif) Correspondance

+ Spécifiez le **préfixe** auquel l'itinéraire doit correspondre. Par exemple, si votre nom de service virtuel est `service-b.local` et que vous souhaitez que la route fasse correspondre des demandes à `service-b.local/metrics`, votre préfixe doit être `/metrics`. Spécifier `/` les itinéraires pour tout le trafic.
+ (Facultatif) Sélectionnez une **méthode**. 
+ (Facultatif) Sélectionnez un **schéma**. Applicable uniquement pour HTTP2 les itinéraires. 

### En-têtes (facultatifs)

+ (Facultatif) Sélectionnez **Ajouter un en-tête**. Entrez le **nom de l'en-tête** sur lequel vous souhaitez effectuer le routage, sélectionnez un **type de correspondance** et entrez une **valeur de correspondance**. Si vous sélectionnez **Inverser**, vous obtiendrez le résultat inverse. Par exemple, si vous spécifiez un en-tête nommé `clientRequestId` avec un **préfixe** de `123` et que vous sélectionnez **Inverser**, l'itinéraire correspond à toute demande dont l'en-tête commence par autre chose que. `123`
+ (Facultatif) Sélectionnez **Ajouter un en-tête**. Vous pouvez ajouter jusqu'à dix en-têtes. 

### **(Facultatif) Politique de nouvelle tentative**


Une stratégie de nouvelle tentative permet aux clients de se protéger contre les défaillances intermittentes du réseau et les défaillances intermittentes côté serveur. Une politique de nouvelle tentative est facultative, mais recommandée. Les valeurs du délai d'expiration définissent le délai d'expiration par nouvelle tentative (y compris la tentative initiale). Si vous ne définissez pas de politique de réessai, App Mesh peut créer automatiquement une politique par défaut pour chacun de vos itinéraires. Pour de plus amples informations, veuillez consulter [Politique de nouvelle tentative d'itinéraire par défaut](envoy-defaults.md#default-retry-policy).
+ Pour **Réessayer**, entrez le nombre d'unités correspondant à la durée du délai d'expiration. Une valeur est requise si vous sélectionnez un événement de nouvelle tentative de protocole.
+ Pour l'unité **de temporisation de la nouvelle tentative, sélectionnez une unité**. Une valeur est requise si vous sélectionnez un événement de nouvelle tentative de protocole.
+ Pour **Nombre maximal de tentatives**, entrez le nombre maximal de tentatives en cas d'échec de la demande. Une valeur est requise si vous sélectionnez un événement de nouvelle tentative de protocole. Nous recommandons une valeur d'au moins deux.
+ Sélectionnez un ou plusieurs **événements de nouvelle tentative HTTP**. **Nous vous recommandons de sélectionner au moins **stream-error et gateway-error**.**
+ Sélectionnez un événement **de nouvelle tentative TCP**.

### **Temporisations (facultatives)**

+ **Délai d'expiration de la demande** : la valeur par défaut est de 15 secondes. Si vous avez défini une **politique de nouvelles tentatives**, la durée que vous spécifiez ici doit toujours être supérieure ou égale à la durée de nouvelles tentatives multipliée par le nombre **maximal de tentatives que vous avez défini dans la politique de nouvelles tentatives** afin que votre **politique de nouvelles tentatives** puisse être appliquée.
+ **Durée d'inactivité** : la valeur par défaut est de 300 secondes.
+ La valeur `0` désactive le délai d’attente.

**Note**  
 Si vous spécifiez un délai d'attente supérieur à la valeur par défaut, assurez-vous que le délai spécifié pour l'écouteur pour tous les participants du nœud virtuel est également supérieur à la valeur par défaut. Toutefois, si vous réduisez le délai d'expiration à une valeur inférieure à la valeur par défaut, il est facultatif de mettre à jour le délai d'expiration au niveau des nœuds virtuels. Pour plus d'informations, consultez la section [Nœuds virtuels](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html).

### TCP
<a name="tcp"></a>

### **Temporisations (facultatives)**

+ **Durée d'inactivité** : la valeur par défaut est de 300 secondes.
+ La valeur `0` désactive le délai d’attente.

## Supprimer un itinéraire
<a name="delete-route"></a>

------
#### [ AWS Management Console ]

**Pour supprimer un itinéraire à l'aide du AWS Management Console**

1. Ouvrez la console App Mesh à l'adresse [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Choisissez le maillage à partir duquel vous souhaitez supprimer un itinéraire. Tous les maillages que vous possédez et qui ont été [partagés](sharing.md) avec vous sont répertoriés.

1. Choisissez **Virtual routeurs (Routeurs virtuels)** dans le panneau de navigation gauche.

1. Choisissez le routeur à partir duquel vous souhaitez supprimer un itinéraire.

1. Dans le tableau **Routes**, choisissez l'itinéraire que vous souhaitez supprimer et sélectionnez **Supprimer** dans le coin supérieur droit.

1. Dans le champ de confirmation, tapez **delete** puis cliquez sur **Supprimer**.

------
#### [ AWS CLI ]

**Pour supprimer un itinéraire à l'aide du AWS CLI**

1. Utilisez la commande suivante pour supprimer votre itinéraire (remplacez les *red* valeurs par les vôtres) :

   ```
   aws appmesh delete-route \
        --mesh-name meshName \
        --virtual-router-name routerName \
        --route-name routeName
   ```

1. Exemple de sortie :

   ```
   {
       "route": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName",
               "createdAt": "2022-04-06T13:46:54.750000-05:00",
               "lastUpdatedAt": "2022-04-07T10:43:57.152000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "routeName": "routeName",
           "spec": {
               "grpcRoute": {
                   "action": {
                       "weightedTargets": [
                           {
                               "virtualNode": "nodeName",
                               "weight": 100
                           }
                       ]
                   },
                   "match": {
                       "metadata": [
                           {
                               "invert": false,
                               "match": {
                                   "prefix": "123"
                               },
                               "name": "myMetadata"
                           }
                       ],
                       "methodName": "methodName",
                       "serviceName": "serviceA.svc.cluster.local"
                   },
                   "retryPolicy": {
                       "grpcRetryEvents": [
                           "deadline-exceeded"
                       ],
                       "httpRetryEvents": [
                           "server-error",
                           "gateway-error"
                       ],
                       "maxRetries": 3,
                       "perRetryTimeout": {
                           "unit": "s",
                           "value": 15
                       },
                       "tcpRetryEvents": [
                           "connection-error"
                       ]
                   }
               },
               "priority": 100
           },
           "status": {
               "status": "DELETED"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Pour plus d'informations sur la suppression d'un itinéraire avec le AWS CLI for App Mesh, consultez la commande [delete-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-route.html) dans la AWS CLI référence.

------