

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.

# 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.

------