Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWSSupport-TroubleshootAPIGatewayHttpErrors
Beschreibung
Das AWSSupport-TroubleshootAPIGatewayHttpErrorsRunbook hilft bei der Behebung von 5XX/4XX-Fehlern beim Aufrufen einer bereitgestellten Amazon API Gateway Gateway-REST-API, indem es and/or Zugriffsausführungsprotokolle analysiert und Fehler analysiert, um anhand von Re:POST-Artikeln und der Dokumentation Korrekturmaßnahmen bereitzustellen. AWS
Wichtig
Dieses Runbook hat die folgenden Einschränkungen:
Die Protokollierung muss aktiviert sein. Weitere Informationen finden Sie unter Amazon CloudWatch API-Protokollierung mithilfe der API Gateway Gateway-Konsole einrichten.
Die Protokolle müssen aktiviert worden sein, bevor der oder die Fehler aufgetreten sind. Die Erfassung und Analyse von Protokollen kann nicht rückwirkend durchgeführt werden.
Behandelte Fehler: 500, 502, 503, 504, 401, 403, 429.
Nur REST wird APIs unterstützt. WebSocket und HTTP (v2) werden in diesem Runbook nicht behandelt.
Wichtig
Bei der Verwendung dieses Runbooks können zusätzliche Gebühren für Ihr AWS Konto für die von Ihrer REST-API erfassten Amazon CloudWatch Logs und für Logs Insights, die in der CloudWatch Analyse verwendet wurden, anfallen. Weitere Informationen zu den möglicherweise anfallenden Gebühren finden Sie unter CloudWatch Amazon-Preiseaws:deletestack Schritt fehlschlägt, wechseln Sie zur CloudFormation Konsole, um den Stack manuell zu löschen. Der von diesem Runbook erstellte Stack-Name beginnt mitAWSSupport-TroubleshootAPIGatewayHttpErrors. Informationen zum Löschen von CloudFormation Stacks finden Sie unter Löschen eines Stacks im AWS CloudFormation Benutzerhandbuch.
Wie funktioniert es?
Das Runbook führt die folgenden Validierungs- und Analyseschritte durch:
Überprüft, ob die angegebene REST-API vorhanden ist und Sie über die erforderlichen Berechtigungen verfügen.
Überprüft, ob die angegebene Phase in der API vorhanden ist.
Überprüft, ob der angegebene Ressourcenpfad in der API vorhanden ist.
Überprüft, ob die angegebene HTTP-Methode für die Ressource existiert.
Analysiert CloudWatch Protokolle für die angegebenen Parameter und den angegebenen Zeitraum, um Fehler zu identifizieren und Empfehlungen zur Behebung zu geben.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
/
Erforderliche IAM-Berechtigungen
Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
apigateway:GETlogs:CreateLogGrouplogs:CreateLogStreamlogs:DescribeLogGroupslogs:DescribeLogStreamslogs:PutLogEventslogs:StartQuerylogs:GetQueryResults
Beispiel für eine IAM-Richtlinie:
{ "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": "*" } ] }
Anweisungen
Gehen Sie wie folgt vor, um die Automatisierung zu konfigurieren:
-
Navigieren Sie
AWSSupport-TroubleshootAPIGatewayHttpErrorsim Systems Manager unter Dokumente zu. -
Wählen Sie Execute automation (Automatisierung ausführen).
-
Geben Sie für die Eingabeparameter Folgendes ein:
-
AutomationAssumeRole (Fakultativ):
-
Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es SSM Automation ermöglicht, die Aktionen in Ihrem Namen durchzuführen. Wenn keine Rolle angegeben ist, verwendet SSM Automation die Berechtigungen des Benutzers, der dieses Runbook startet.
-
Typ:
AWS::IAM::Role::Arn
-
-
RestApiId (Erforderlich):
Beschreibung: (Erforderlich) Die API-ID für die API, für die eine Fehlerbehebung erforderlich ist. Muss eine 10-stellige alphanumerische Zeichenfolge sein.
Typ:
String-
Zulässiges Muster:
^[a-zA-Z0-9]{10}$
-
StageName (Erforderlich):
Beschreibung: (Erforderlich) Der Name der bereitgestellten Phase. Muss aus 1—128 Zeichen bestehen und Buchstaben, Zahlen, Unterstriche oder Bindestriche enthalten.
Typ:
String-
Zulässiges Muster:
^[a-zA-Z0-9_\\-]{1,128}$
-
ResourcePath (Fakultativ):
Beschreibung: (Optional) Der Ressourcenpfad, für den die Methode konfiguriert ist. Beispiele:
/,/store/items,/{resource}.Typ:
StringStandard:
/
-
HttpMethod (Optional):
Beschreibung: (Optional) Die Methode für den konfigurierten Ressourcenpfad.
Typ:
String-
Zulässige Werte:
[ANY, DELETE, HEAD, OPTIONS, GET, POST, PUT, PATCH] Standard:
GET
-
StartTime (Fakultativ):
Beschreibung: (Optional) Das Startdatum und die Startzeit für die Abfrage der CloudWatch Protokolle. Format:
yyyy-MM-ddTHH:mm:ssin der UTC-Zeitzone. Wenn nicht angegeben, wird standardmäßig 3 Tage vor der aktuellen Uhrzeit angezeigt.Typ:
String-
Zulässiges Muster:
^$|^[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]$ -
Standard:
""
-
EndTime (Fakultativ):
Beschreibung: (Optional) Das Enddatum und die Endzeit für die Abfrage der CloudWatch Protokolle. Format:
yyyy-MM-ddTHH:mm:ssin der UTC-Zeitzone. Wenn nicht angegeben, wird standardmäßig die aktuelle Uhrzeit verwendet.Typ:
String-
Zulässiges Muster:
^$|^[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]$ -
Standard:
""
-
AccessLogs (Fakultativ):
Beschreibung: (Optional) Ob Zugriffsprotokolle analysiert werden sollen.
Typ:
Boolean-
Zulässige Werte:
[true, false] Standard:
false
-
RequestId (Fakultativ):
Beschreibung: (Optional) Die Anforderungs-ID für die Anfrage, bei der ein Fehler beobachtet wurde. Muss ein gültiges UUID-Format haben.
Typ:
String-
Zulässiges Muster:
^$|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Standard:
""
-
-
Wählen Sie Ausführen aus.
-
Die Automatisierung wird eingeleitet.
-
Das Dokument führt die folgenden Schritte aus:
-
CheckApiExists:
Überprüft, ob die bereitgestellte REST-API existiert und Sie über die erforderlichen Zugriffsberechtigungen verfügen.
-
CheckStageExists:
Überprüft, ob der angegebene Staging-Name in der angegebenen API vorhanden ist, und ruft Informationen zur Zugriffsprotokollgruppe ab.
-
CheckResourceExists:
Überprüft, ob der angegebene Ressourcenpfad in der API vorhanden ist, und ruft die Ressourcen-ID ab.
-
CheckMethodExists:
Überprüft, ob die angegebene HTTP-Methode für die angegebene Ressource existiert.
-
AnalyseLogs:
Sucht anhand der angegebenen Parameter nach Protokollen und gibt Empfehlungen zurück, die auf den gefundenen Fehlern basieren. In diesem Schritt werden sowohl Ausführungs- als auch Zugriffsprotokolle (falls aktiviert) analysiert, um 4XX- und 5XX-Fehler zu identifizieren, und es werden spezifische Hinweise zur Problembehebung bereitgestellt.
-
-
Nach Abschluss des Vorgangs finden Sie im Abschnitt Ergebnisse die detaillierten Ergebnisse der Ausführung, einschließlich der Fehleranalyse und Empfehlungen zur Problembehebung.
Referenzen
Systems Manager Automation