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 :
La journalisation doit être activée. Consultez Configuration de la journalisation des CloudWatch API Amazon à l'aide de la console API Gateway.
Les journaux doivent avoir été activés avant que les erreurs ne se produisent. La saisie et l'analyse des journaux ne peuvent pas être effectuées rétrospectivement.
Erreurs couvertes : 500, 502, 503, 504, 401, 403, 429.
Seules les API REST sont prises en charge. WebSocket et HTTP (v2) ne sont pas couverts par ce runbook.
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 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:GETlogs:CreateLogGrouplogs:CreateLogStreamlogs:DescribeLogGroupslogs:DescribeLogStreamslogs:PutLogEventslogs:StartQuerylogs: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 :
-
Accédez à
AWSSupport-TroubleshootAPIGatewayHttpErrorsla section Documents dans Systems Manager. -
Sélectionnez Execute automation (Exécuter l'automatisation).
-
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 :
StringValeur 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:ssdans 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:ssdans 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 :
""
-
-
Sélectionnez Exécuter.
-
L'automatisation démarre.
-
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.
-
-
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