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.
Routes de passerelle
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 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
- AWS Management Console
-
Pour créer un itinéraire de passerelle à l'aide du AWS Management Console
-
Ouvrez la console App Mesh à l'adresse https://console.aws.amazon.com/appmesh/
. -
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 avec vous sont répertoriés.
-
Choisissez Passerelles virtuelles dans le menu de navigation de gauche.
-
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. 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.
-
Dans le tableau des itinéraires de passerelle, choisissez Create gateway route.
-
Pour le nom de l'itinéraire de passerelle, spécifiez le nom à utiliser pour votre itinéraire de passerelle.
-
Pour le type de route Gateway, choisissez http, http2 ou grpc.
-
Sélectionnez un nom de service virtuel existant. Si aucun n'est répertorié, vous devez d'abord créer un service virtuel.
-
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.
-
(Facultatif) Dans Priorité, spécifiez la priorité de cette route de passerelle.
-
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 demandewww.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_path
et 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*
ouaws.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.
-
-
-
(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.
-
-
-
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) :-
aws appmesh create-virtual-gateway \ --mesh-name
meshName
\ --virtual-gateway-namevirtualGatewayName
\ --gateway-route-namegatewayRouteName
\ --cli-input-json file://create-gateway-route.json
-
Contenu de l'exemple create-gateway-route .json :
{ "spec": { "httpRoute" : { "match" : { "prefix" : "/" }, "action" : { "target" : { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } } } } }
-
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-routecommande dans la AWS CLI référence.
-
Supprimer un itinéraire de passerelle
- AWS Management Console
-
Pour supprimer un itinéraire de passerelle à l'aide du AWS Management Console
-
Ouvrez la console App Mesh à l'adresse https://console.aws.amazon.com/appmesh/
. -
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 avec vous sont répertoriés.
-
Choisissez Passerelles virtuelles dans le menu de navigation de gauche.
-
Choisissez la passerelle virtuelle à partir de laquelle vous souhaitez supprimer un itinéraire de passerelle.
-
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.
-
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
-
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-namevirtualGatewayName
\ --gateway-route-namegatewayRouteName
-
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-routecommande dans la AWS CLI référence.
-