View a markdown version of this page

AWSSupport-TroubleshootAPIGatewayHttpErrors - AWS Systems Manager Référence du dossier d’exploitation Automation

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.

AWSSupport-TroubleshootAPIGatewayHttpErrors

Description

Le AWSSupport-TroubleshootAPIGatewayHttpErrors runbook permet de résoudre les 5XX/4XX erreurs lors de l'appel d'une API REST Amazon API Gateway déployée en analysant les journaux d' and/or exécution des accès et en analysant les erreurs afin de proposer des étapes de correction via les articles et la documentation de re:POST. AWS

Important

Ce runbook présente les limites suivantes :

Important

L'utilisation de ce runbook peut entraîner des frais supplémentaires sur votre AWS compte pour les Amazon CloudWatch Logs capturés par votre API REST et les CloudWatch Logs Insights utilisés dans l'analyse. Consultez la page CloudWatch Tarification Amazon pour en savoir plus sur les frais qui peuvent être facturés. Si l'aws:deletestackétape échoue, accédez à la CloudFormation console pour supprimer manuellement la pile. Le nom de pile créé par ce runbook commence AWSSupport-TroubleshootAPIGatewayHttpErrors par. Pour plus d'informations sur la suppression de CloudFormation piles, voir Supprimer une pile dans le Guide de l' AWS CloudFormation utilisateur.

Fonctionnement

Le runbook exécute les étapes de validation et d'analyse suivantes :

  • Vérifie que l'API REST spécifiée existe et que vous disposez des autorisations nécessaires.

  • Valide que l'étape spécifiée existe dans l'API.

  • Valide que le chemin de ressource spécifié existe dans l'API.

  • Valide que la méthode HTTP spécifiée existe pour la ressource.

  • Analyse les CloudWatch journaux en fonction des paramètres et de la plage de temps spécifiés afin d'identifier les erreurs et de fournir des recommandations de correction.

Exécutez cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

/

Autorisations IAM requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

  • apigateway:GET

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

  • logs:StartQuery

  • logs:GetQueryResults

Exemple de politique IAM :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apigateway:GET", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:StartQuery", "logs:GetQueryResults" ], "Resource": "*" } ] }

Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Accédez à AWSSupport-TroubleshootAPIGatewayHttpErrors la section Documents dans Systems Manager.

  2. Sélectionnez Execute automation (Exécuter l'automatisation).

  3. Pour les paramètres d'entrée, entrez les informations suivantes :

    • AutomationAssumeRole (Facultatif) :

      • Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à SSM Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, SSM Automation utilise les autorisations de l'utilisateur qui lance ce runbook.

      • Type : AWS::IAM::Role::Arn

    • RestApiId (Obligatoire) :

      • Description : (Obligatoire) L'ID d'API de l'API qui nécessite un dépannage. Il doit s'agir d'une chaîne alphanumérique de 10 caractères.

      • Type : String

      • Schéma autorisé : ^[a-zA-Z0-9]{10}$

    • StageName (Obligatoire) :

      • Description : (Obligatoire) Le nom de l'étape déployée. Il doit contenir de 1 à 128 caractères contenant des lettres, des chiffres, des traits de soulignement ou des tirets.

      • Type : String

      • Schéma autorisé : ^[a-zA-Z0-9_\\-]{1,128}$

    • ResourcePath (Facultatif) :

      • Description : (Facultatif) Le chemin de ressource pour lequel la méthode est configurée. Exemples : /, /store/items, /{resource}.

      • Type : String

      • Valeur par défaut : /

    • HttpMethod (Facultatif) :

      • Description : (Facultatif) Méthode pour le chemin de ressource configuré.

      • Type : String

      • Valeurs autorisées : [ANY, DELETE, HEAD, OPTIONS, GET, POST, PUT, PATCH]

      • Valeur par défaut : GET

    • StartTime (Facultatif) :

      • Description : (Facultatif) Date et heure de début de l'interrogation des CloudWatch journaux. Format : yyyy-MM-ddTHH:mm:ss dans le fuseau horaire UTC. Si ce n'est pas spécifié, la valeur par défaut est 3 jours avant l'heure actuelle.

      • Type : String

      • Schéma autorisé : ^$|^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$

      • Valeur par défaut : ""

    • EndTime (Facultatif) :

      • Description : (Facultatif) Date et heure de fin de l'interrogation des CloudWatch journaux. Format : yyyy-MM-ddTHH:mm:ss dans le fuseau horaire UTC. Si elle n'est pas spécifiée, l'heure actuelle est définie par défaut.

      • Type : String

      • Schéma autorisé : ^$|^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$

      • Valeur par défaut : ""

    • AccessLogs (Facultatif) :

      • Description : (Facultatif) Indique si les journaux d'accès doivent être analysés.

      • Type : Boolean

      • Valeurs autorisées : [true, false]

      • Valeur par défaut : false

    • RequestId (Facultatif) :

      • Description : (Facultatif) L'ID de la demande pour laquelle une erreur a été observée. Le format UUID doit être valide.

      • Type : String

      • Schéma autorisé : ^$|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

      • Valeur par défaut : ""

  4. Sélectionnez Exécuter.

  5. L'automatisation démarre.

  6. Le document exécute les étapes suivantes :

    • CheckApiExists:

      Vérifie que l'API REST fournie existe et que vous disposez des autorisations nécessaires pour y accéder.

    • CheckStageExists:

      Valide que le nom de stage fourni existe dans l'API donnée et récupère les informations du groupe de journaux d'accès.

    • CheckResourceExists:

      Valide que le chemin de ressource fourni existe dans l'API et récupère l'ID de ressource.

    • CheckMethodExists:

      Valide que la méthode HTTP fournie existe pour la ressource spécifiée.

    • AnalyseLogs:

      Recherche les journaux à l'aide des paramètres fournis et renvoie des recommandations en fonction des erreurs détectées. Cette étape analyse les journaux d'exécution et d'accès (si elle est activée) pour identifier les erreurs 4XX et 5XX et fournit des conseils de correction spécifiques.

  7. Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution, y compris l'analyse des erreurs et les recommandations de correction.

Références

Systems Manager Automation