

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.

# Configuration AWS X-Ray avec API Gateway REST APIs
<a name="apigateway-enabling-xray"></a>

Dans cette section, vous trouverez des informations détaillées sur la configuration [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-apigateway.html)avec API Gateway REST APIs.

**Topics**
+ [Modes de suivi X-Ray pour API Gateway](#apigateway-tracing-modes)
+ [Autorisations pour le suivi X-Ray](#set-up-xray-tracing-permissions)
+ [Activation du suivi X-Ray dans la console API Gateway](#apigateway-xray-console-setup)
+ [Activation du AWS X-Ray suivi à l'aide de l'API Gateway CLI](#apigateway-xray-cli-setup)

## Modes de suivi X-Ray pour API Gateway
<a name="apigateway-tracing-modes"></a>

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é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](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html).
**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 de la console de gestion API Gateway, de la CLI API Gateway ou d'un AWS SDK.

## Autorisations pour le suivi X-Ray
<a name="set-up-xray-tracing-permissions"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html).

## Activation du suivi X-Ray dans la console API Gateway
<a name="apigateway-xray-console-setup"></a>

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.

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

1. Choisissez votre API, puis dans le volet de navigation principal, choisissez **Étapes**.

1. Dans le volet **Étapes**, choisissez une étape.

1. Dans la section **Journaux et suivi**, choisissez **Modifier**.

1. Pour activer le suivi X-Ray, sélectionnez **Suivi X-Ray** pour activer le suivi X-Ray.

1. 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 AWS X-Ray suivi à l'aide de l'API Gateway CLI
<a name="apigateway-xray-cli-setup"></a>

La commande [create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) suivante crée une étape avec un suivi X-Ray actif :

```
aws apigateway create-stage \
    --rest-api-id {{rest-api-id}} \
    --stage-name {{stage-name}} \
    --deployment-id {{deployment-id}} \
    --region {{region}} \
    --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](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) suivante crée une étape sans suivi X-Ray actif :

```
aws apigateway create-stage \
    --rest-api-id {{rest-api-id}} \
    --stage-name {{stage-name}} \
    --deployment-id {{deployment-id}} \
    --region {{region}} \
    --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](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) suivante active le suivi X-Ray pour une API déployée : 

```
aws apigateway update-stage \
    --rest-api-id {{rest-api-id}} \
    --stage-name {{stage-name}} \
    --patch-operations op=replace,path=/tracingEnabled,value=true
```

La commande [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) suivante désactive le suivi X-Ray pour une API déployée : 

```
aws apigateway update-stage \
    --rest-api-id {{rest-api-id}} \
    --stage-name {{stage-name}} \
    --region {{region}} \
    --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 la section [Utilisation de l'API X-Ray avec la AWS CLI](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-api.html#xray-api-tutorial).