Configuration de AWS X-Ray avec des API Gateway REST API - Amazon API Gateway

Configuration de AWS X-Ray avec des API Gateway REST API

Dans cette section, vous trouverez des informations détaillées sur la configuration de AWS X-Ray avec des API Gateway REST API.

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 requêtes d'appels, 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é AWSServiceRoleForAPIGatewayla stratégie gérée APIGatewayServiceRolePolicy est attachée au rôle. Pour plus d'informations sur les rôles liés à un service, consultez la section 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 requêtes 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 de la console de gestion API Gateway, de l'interface de ligne de commande API Gateway, 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é AWSServiceRoleForAPIGatewayla stratégie gérée APIGatewayServiceRolePolicy est attachée au rôle. Pour plus d'informations sur les rôles liés à un service, consultez la section 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 de l'API.

Cette procédure suppose que vous ayez déjà déployé l'API à une étape.

  1. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  2. Dans le volet APIs (API), choisissez l'API, puis sélectionnez Stages (Étapes).

  3. Dans le volet Stages, choisissez le nom de l'étape.

  4. Dans le volet Stage Editor (Éditeur d'étape), sélectionnez l'onglet Logs/Tracing (Journaux/Suivi).

  5. Pour activer le suivi actif X-Ray, choisissez Enable X-Ray Tracing (Activer le suivi X-Ray) sous X-Ray Tracing (Suivi X-Ray).

  6. Si vous le souhaitez, choisissez Set X-Ray Sampling Rules (Définir des 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 traces et la cartographie des services.

Activation du suivi AWS X-Ray à l'aide de l'interface de ligne de commande API Gateway

Pour utiliser l'AWS CLI pour activer le suivi actif X-Ray pour une étape d'API au moment de la création de l'étape, 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 l'AWS CLI pour désactiver le suivi actif X-Ray pour une étape d'API au moment de la création de l'étape, 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 l'AWS CLI pour activer le suivi actif X-Ray 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} \ --patch-operations op=replace,path=/tracingEnabled,value=true

Pour utiliser l'AWS CLI pour désactiver le suivi actif X-Ray 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 plus d'informations, consultez la section Utilisation de l'API AWS X-Ray avec l'interface de ligne de commande AWS.