Comment puis-je activer CloudWatch Logs pour résoudre les problèmes liés à mon API REST API Gateway ou à mon API WebSocket ?

Lecture de 5 minute(s)
0

Je dois corriger les erreurs liées à une API REST Amazon API Gateway ou une API WebSocket que je suis en train de développer.

Brève description

Pour résoudre les problèmes liés à une API REST API Gateway ou une API WebSocket, utilisez Amazon CloudWatch Logs. Pour plus d'informations sur les types de formats de journal, consultez la section Formats de journal CloudWatch pour API Gateway.

Remarque : Les API HTTP prennent uniquement en charge la journalisation des accès. Pour plus d'informations, consultez la section Configurer la journalisation des API HTTP dans API Gateway.

Vous trouverez les informations suivantes dans les journaux :

Résolution

Créer un rôle IAM pour envoyer les journaux à CloudWatch

Procédez comme suit :

  1. Ouvrez la console AWS Identity and Access Management (IAM).
  2. Dans le volet de navigation, sélectionnez Rôles.
  3. Dans le volet Rôles, sélectionnez Créer un rôle.
  4. Sur la page Créer un rôle, saisissez les informations suivantes :
    Pour Entité de confiance, choisissez Service AWS.
    Pour Cas d'utilisation, sélectionnez API Gateway, puis cliquez sur le bouton radio API Gateway.
    Sélectionnez Suivant.
  5. Dans Stratégies d'autorisations, utilisez la stratégie gérée par AWS par défaut AmazonAPIGatewayPushToCloudWatchLogs qui dispose de toutes les autorisations requises.
  6. Sélectionnez Suivant.
  7. Dans Nom, révision et création, entrez les informations suivantes :
    Dans Nom du rôle, entrez un nom du rôle.
    (Facultatif) Pour la description du rôle, modifiez la description selon vos préférences.
    (Facultatif) Ajoutez des identifications.
    Sélectionnez Créer un rôle.
  8. Dans le volet Rôles, choisissez le rôle que vous avez créé.
  9. Dans le volet Résumé, notez l'ARN du rôle à utiliser dans la section suivante.

Pour plus d'informations sur les autorisations, consultez la section Autorisations pour la journalisation CloudWatch.

Ajouter le rôle IAM dans la console API Gateway

Procédez comme suit :

  1. Ouvrez la console API Gateway.
  2. Dans le volet API, choisissez le nom de l'API REST ou de l'API WebSocket, et non celui de l'API HTTP.
  3. Dans le volet de navigation, sélectionnez Paramètres.
  4. Dans Paramètres, pour ARN du rôle de journal CloudWatch, saisissez l’ARN du rôle IAM.
    Remarque : Le rôle CloudWatch Logs est une configuration au niveau de la région AWS que vous utilisez avec toutes les API de la région.
  5. Sélectionnez Enregistrer.

Remarque : Si vous créez plusieurs API dans différentes régions, effectuez les étapes précédentes dans chaque région.

Activer la journalisation de l'API et organiser l'API

Procédez comme suit :

  1. Ouvrez la console API Gateway.
  2. Dans le volet de navigation, sélectionnez API, puis votre API.
  3. Dans le volet de navigation, sélectionnez Étapes, puis sélectionnez votre étape.
  4. Sous Journaux et suivi, sélectionnez Modifier.
  5. Dans CloudWatch Logs, sélectionnez un niveau dans le menu déroulant.
    Remarque : Pour accéder à l'intégralité des journaux de requêtes et de réponses, sélectionnez l'option Suivi de données avec le niveau de journalisation défini sur Journaux d'erreurs et d'informations. Il est recommandé de ne pas activer Suivi de données pour les API de production, car le suivi de données peut journaliser des données sensibles.
  6. Sélectionnez Métriques détaillées.
  7. Dans la section Journalisation des accès personnalisée, effectuez les étapes suivantes :
    Sélectionnez Activer la journalisation des accès.
    Pour ARN de destination du journal d'accès, saisissez l’ARN d'un Amazon Data Firehose ou d'un groupe de journaux CloudWatch.
    Remarque : Seules les API REST prennent en charge l'ARN Firehose.
  8. Saisissez un format de journal.
  9. Sélectionnez Enregistrer les modifications.

Tester votre configuration de journalisation

Remarque : Pour envoyer une nouvelle requête à votre API, utilisez votre application cliente ou des outils, tel que l’application Postman ou wscat pour les API WebSocket.

Procédez comme suit :

  1. Ouvrez la console CloudWatch.
  2. Dans le volet de navigation, sous Journaux, sélectionnez Groupes de journaux.
  3. Pour Groupes de journaux, sélectionnez le groupe de journaux de l'API que vous souhaitez déboguer :
    Pour les API REST, le nom du groupe de journaux est au format API-Gateway-Execution-Logs_apiId/stageName.
    Pour les API WebSocket, le nom du groupe de journaux est au format /aws/apigateway/apiId/stageName.
    Remarque : Les journaux d’accès se trouvent dans le groupe de journaux que vous avez spécifié lorsque vous avez activé la journalisation des accès.
  4. Dans la liste Flux de journaux, sélectionnez le flux de journaux dont l’heure de dernier événement est la plus récente pour afficher les messages contenant les détails de votre requête.

Informations connexes

Modèle de mappage API Gateway et référence de variable de journalisation des accès

Surveiller l’exécution de l’API REST à l’aide des métriques Amazon CloudWatch

Surveiller l’exécution de l’API WebSocket à l’aide des métriques CloudWatch