Passerelles virtuelles - AWS App Mesh

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.

Passerelles virtuelles

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.

Une passerelle virtuelle permet aux ressources situées à l'extérieur 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 ECS service Amazon, 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 DNS nom en adresse IP attribuée au service ou à l'instance qui exécute Envoy. Envoy peut ensuite accéder à l'ensemble de 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.

Important

Une passerelle virtuelle dotée d'un HTTP2 écouteur HTTP ou 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 la route de passerelle est réécrit en, 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 à 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 la section Configuration de la passerelle entrante.

Création d'une passerelle virtuelle

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

  2. 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 avec vous sont répertoriés.

  3. Choisissez Passerelles virtuelles dans le menu de navigation de gauche.

  4. Choisissez Créer une passerelle virtuelle.

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

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

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

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

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

      • AWS Private Certificate Authorityhé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é.

    4. (Facultatif) Entrez un autre nom de sujet. Pour en ajouter d'autresSANs, sélectionnez Ajouter SAN. SANsdoit être FQDN ou URI formaté.

    5. (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 TLS l'authentification mutuelle. Pour en savoir plus sur MutualTLS, consultez la documentation App Mesh Mutual TLS Authentication.

      • 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 TLS avec des TLS certificats fournis par des fichiers activés GitHub. end-to-end

  7. (Facultatif) Pour configurer la journalisation, sélectionnez Journalisation. Entrez le chemin des journaux HTTP d'accès 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.

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

    2. (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 connectionPool portMapping protocoles connectionPool et doivent être identiques. Si votre protocole d'écoute est grpc ouhttp2, spécifiez maxRequests uniquement. Si votre protocole d'écoute l'esthttp, vous pouvez spécifier à la fois maxConnections etmaxPendingRequests.

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

    3. (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 GRPCHealth Checking 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 ouhttp2. 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.

    4. (Facultatif) Si vous souhaitez spécifier si les clients communiquent avec cette passerelle virtuelle en utilisantTLS, sélectionnez Activer la TLS terminaison.

      • Pour Mode, sélectionnez le mode pour lequel vous TLS souhaitez être 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.

        • 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 TLS l'authentification mutuelle si le client fournit un certificat. Pour en savoir plus sur MutualTLS, consultez la documentation App Mesh Mutual TLS Authentication.

        • 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'autresSANs, sélectionnez Ajouter SAN. SANsdoit être FQDN ou URI formaté.

  9. 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 et de l'entrée suivantes JSON (remplacez le red valeurs (avec les vôtres) :

  1. aws appmesh create-virtual-gateway \ --mesh-name meshName \ --virtual-gateway-name virtualGatewayName \ --cli-input-json file://create-virtual-gateway.json
  2. Contenu de l'exemple create-virtual-gateway .json :

    { "spec": { "listeners": [ { "portMapping": { "port": 9080, "protocol": "http" } } ] } }
  3. 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-gatewaycommande dans la AWS CLI référence.

Déployer une passerelle virtuelle

Déployez un service Amazon ECS ou Kubernetes contenant uniquement le conteneur Envoy. 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. Pour plus d'informations sur le déploiement sur Amazon, ECS consultez Getting started with App Mesh and Amazon ECS ou Getting started with AWS App Mesh and Kubernetes to deploy to Kubernetes. Vous devez définir la variable d'APPMESH_RESOURCE_ARNenvironnement 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 qui se trouvent dans le maillage, telles que myapp.example.com. Pour plus d'informations, consultez Creating a Network Load Balancer (AmazonECS), Creating an External Load Balancer (Kubernetes) ou Tutorial : Augmentez la disponibilité 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.

Activez l'autorisation du proxy pour Envoy. Pour de plus amples informations, veuillez consulter Autorisation Envoy Proxy.

Supprimer une passerelle virtuelle

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

  2. Choisissez le maillage dans lequel vous souhaitez supprimer une passerelle virtuelle. Tous les maillages que vous possédez et qui ont été partagés avec vous sont répertoriés.

  3. Choisissez Passerelles virtuelles dans le menu de navigation de gauche.

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

  5. 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 le red valeurs (avec les vôtres) :

    aws appmesh delete-virtual-gateway \ --mesh-name meshName \ --virtual-gateway-name virtualGatewayName
  2. 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-gatewaycommande dans la AWS CLI référence.