Configuration de AWS X-Ray avec des 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
la stratégie géréeAPIGatewayServiceRolePolicy
est attachée au rôle. 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 SDK AWS.
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
la stratégie gérée APIGatewayServiceRolePolicy
est attachée au rôle. 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 à une étape.
Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway
. -
Dans le volet APIs (API), choisissez l'API, puis sélectionnez Stages (Étapes).
-
Dans le volet Stages, choisissez le nom de l'étape.
-
Dans le volet Stage Editor (Éditeur d'étape), sélectionnez l'onglet Logs/Tracing (Journaux/Suivi).
-
Pour activer le suivi X-Ray, choisissez Enable X-Ray Tracing (Activer le suivi X-Ray) sous X-Ray Tracing (Suivi X-Ray).
-
Si vous le souhaitez, choisissez Set Sampling Rules (Définir les règles d'échantillonnage X-Ray) et accédez à la console X-Ray pour configurer les règles d'échantillonnage.
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
Pour utiliser la AWS CLI afin d'activer le suivi X-Ray actif pour une étape d'API lorsque vous créez celle-ci, appelez la commande create-stage
comme dans l'exemple suivant :
aws apigateway create-stage \ --rest-api-id
{rest-api-id}
\ --stage-name{stage-name}
\ --deployment-id{deployment-id}
\ --region{region}
\ --tracing-enabled=true
Voici un exemple de sortie d'un appel réussi :
{ "tracingEnabled": true, "stageName":
{stage-name}
, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId":{deployment-id}
, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }
Pour utiliser la AWS CLI afin de désactiver le suivi X-Ray actif pour un étape d'API lorsque vous créez celle-ci, appelez la commande create-stage
comme dans l'exemple suivant :
aws apigateway create-stage \ --rest-api-id
{rest-api-id}
\ --stage-name{stage-name}
\ --deployment-id{deployment-id}
\ --region{region}
\ --tracing-enabled=false
Voici un exemple de sortie d'un appel réussi :
{ "tracingEnabled": false, "stageName":
{stage-name}
, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId":{deployment-id}
, "lastUpdatedDate": 1533849811, "createdDate": 1533849811, "methodSettings": {} }
Pour utiliser la AWS CLI afin d'activer le suivi X-Ray actif pour une API déjà déployée, appelez la commande update-stage
comme suit :
aws apigateway update-stage \ --rest-api-id
{rest-api-id}
\ --stage-name{stage-name}
\ --patch-operations op=replace,path=/tracingEnabled,value=true
Pour utiliser la AWS CLI afin de désactiver le suivi X-Ray actif pour une API déjà déployée, appelez la commande update-stage
comme dans l'exemple suivant :
aws apigateway update-stage \ --rest-api-id
{rest-api-id}
\ --stage-name{stage-name}
\ --region{region}
\ --patch-operations op=replace,path=/tracingEnabled,value=false
Voici un exemple de sortie d'un appel réussi :
{ "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 en savoir plus, veuillez consulter Utilisation de l'API AWS X-Ray avec la CLI AWS.