Configuration d’AWS X-Ray avec une API REST API Gateway
Dans cette section, vous trouverez des informations détaillées sur la façon de configurer AWS X-Ray avec les API REST API Gateway.
Rubriques
Modes de suivi X-Ray pour API Gateway
Le chemin d’une demande via votre application est suivie avec un ID de suivi. Une trace collecte tous les segments générés par une seule requête, généralement une requête HTTP GET
ou POST
.
Il existe deux modes de suivi pour une API API Gateway :
-
Suivi passif : il s’agit du paramètre par défaut si vous n’avez pas activé le suivi X-Ray sur une étape de l’API. Avec cette approche, l’API API Gateway est suivie uniquement si X-Ray a été activé sur un service en amont.
-
Suivi actif : lorsque ce paramètre est appliqué à une étape d’API API Gateway, API Gateway crée automatiquement des exemples de demandes d’appels d’API, en fonction de l’algorithme d’échantillonnage spécifié par X-Ray.
Lorsque le suivi actif est activé sur une étape, API Gateway crée un rôle lié à un service dans votre compte, si ce rôle n’existe pas déjà. Le rôle est nommé
AWSServiceRoleForAPIGateway
et la politique géréeAPIGatewayServiceRolePolicy
lui est attachée. Pour de plus amples informations sur les rôles liés à un service, veuillez consulter Utilisation des rôles liés à un service.Note
X-Ray applique un algorithme d’échantillonnage pour s’assurer que le suivi est efficace, tout en fournissant un échantillon représentatif des demandes reçues par votre API. L’algorithme d’échantillonnage par défaut est de 1 demande par seconde, avec 5 % des demandes échantillonnées au-delà de cette limite.
Vous pouvez modifier le mode de suivi de votre API à l’aide d’API Gateway management console de l’API Gateway CLI ou d’un kit AWS SDK.
Autorisations pour le suivi X-Ray
Lorsque vous activez le suivi X-Ray sur une étape, API Gateway crée un rôle lié à un service dans votre compte, si ce rôle n’existe pas déjà. Le rôle est nommé AWSServiceRoleForAPIGateway
et la politique gérée APIGatewayServiceRolePolicy
lui est attachée. Pour de plus amples informations sur les rôles liés à un service, veuillez consulter Utilisation des rôles liés à un service.
Activation du suivi X-Ray dans la console API Gateway
Vous pouvez utiliser la console Amazon API Gateway pour activer le suivi actif sur une étape d’API.
Cette procédure suppose que vous ayez déjà déployé l’API dans une étape.
Connectez-vous à la console API Gateway à l’adresse : https://console.aws.amazon.com/apigateway
. -
Choisissez votre API, puis dans le volet de navigation principal, choisissez Étapes.
-
Dans le volet Étapes, choisissez une étape.
-
Dans la section Journaux et suivi, choisissez Modifier.
-
Pour activer le suivi X-Ray, sélectionnez Suivi X-Ray pour activer le suivi X-Ray.
Sélectionnez Enregistrer les modifications.
Une fois que vous avez activé X-Ray pour l’étape d’API, vous pouvez utiliser la console de gestion X-Ray pour afficher les suivis et les cartes de service.
Activation du suivi de AWS X-Ray à l’aide de l’API Gateway CLI
La commande create-stage suivante crée une étape avec un suivi X-Ray actif :
aws apigateway create-stage \ --rest-api-id
rest-api-id
\ --stage-namestage-name
\ --deployment-iddeployment-id
\ --regionregion
\ --tracing-enabled=true
Le résultat se présente comme suit :
{ "tracingEnabled": true, "stageName":
stage-name
, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId":deployment-id
, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }
La commande create-stage suivante crée une étape sans suivi X-Ray actif :
aws apigateway create-stage \ --rest-api-id
rest-api-id
\ --stage-namestage-name
\ --deployment-iddeployment-id
\ --regionregion
\ --tracing-enabled=false
Le résultat se présente comme suit :
{ "tracingEnabled": false, "stageName":
stage-name
, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId":deployment-id
, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }
La commande update-stage suivante active le suivi X-Ray pour une API déployée :
aws apigateway update-stage \ --rest-api-id
rest-api-id
\ --stage-namestage-name
\ --patch-operations op=replace,path=/tracingEnabled,value=true
La commande update-stage suivante désactive le suivi X-Ray pour une API déployée :
aws apigateway update-stage \ --rest-api-id
rest-api-id
\ --stage-namestage-name
\ --regionregion
\ --patch-operations op=replace,path=/tracingEnabled,value=false
Le résultat se présente comme suit :
{ "tracingEnabled": false, "stageName":
stage-name
, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId":deployment-id
, "lastUpdatedDate": 1533850033, "createdDate": 1533849811, "methodSettings": {} }
Une fois que vous avez activé X-Ray pour l’étape d’API, utilisez l’interface de ligne de commande X-Ray pour récupérer les informations de suivi. Pour plus d’informations, consultez Utilisation de l’API AWS X-Ray avec l’interface de ligne de commande AWS.