Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Wie behebe ich das Problem mit fehlenden CloudWatch-Protokollen für API Gateway-REST-APIs?
Ich möchte wissen, warum ich keine Protokolle finden kann, wenn ich Amazon CloudWatch Logs für Amazon API Gateway aktiviere.
Kurzbeschreibung
Wenn du die CloudWatch-Protokollierung für REST-APIs in API Gateway einrichtest, kannst du die Ausführungsprotokollierung und die Zugriffsprotokollierung verwenden. API Gateway protokolliert nicht alle clientseitigen Fehler, die es ablehnt, in Ausführungsprotokollen. Wenn beispielsweise ein Client eine API-Anfrage an einen falschen Ressourcenpfad der REST-API stellt, erhält der Client die folgende Antwort: "403 Missing Authentication Token". API Gateway protokolliert diese Art von Antwort nicht in Ausführungsprotokollen. Um clientseitige Fehler zu beheben, verwende die CloudWatch-Zugriffsprotokollierung.
API Gateway generiert möglicherweise keine Protokolle für die folgenden Fehler:
- Fehler "413 Request Entity Too Large"
- Fehler "431 Request Header Fields Too Large"
- Fehler "Excessive 429 Too Many Requests"
- Fehler der Serie 400, die auftreten, weil der Client Anfragen an eine benutzerdefinierte Domain ohne API-Zuordnung gesendet hat
- Fehler der Serie 500, die aufgrund interner Fehler auftreten
Weitere Informationen findest du unter REST APIs in API Gateway überwachen.
Lösung
Überprüfung von API Gateway-Berechtigungen für CloudWatch Logs
Um CloudWatch-Protokolle zu aktivieren, musst du API Gateway die Erlaubnis erteilen, Protokolle für das AWS-Konto in CloudWatch zu lesen und zu schreiben.
Zuallererst, erstelle eine AWS Identity and Access Management (IAM)-Rolle mit apigateway.amazonaws.com als die vertrauenswürdige Entität. Hänge dann die von verwaltete AWS-Richtlinie AmazonAPIGatewayPushToCloudWatchLogs an die Rolle an. Stelle die Rolle Amazon Resource Name (ARN) auf cloudwatchRoleArn für das Konto ein.
Beispiel für eine Richtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "*" } ] }
Hinweis: Stelle sicher, dass du den AWS Security Token Service (AWS STS) für die AWS-Region aktivierst. Vergewissere sich außerdem, dass du die IAM-Rolle für alle Regionen aktiviert hast, in denen du CloudWatch Logs aktivieren möchtest.
Weitere Informationen findest du unter Aktivieren und Deaktivieren von AWS STS in einer AWS-Region und Berechtigungen für die CloudWatch-Protokollierung.
Überprüfung der API Gateway-Protokollierungseinstellungen
Stelle sicher, dass du die CloudWatch-Ausführungs- oder Zugriffsprotokollierungseinstellungen für API Gateway korrekt eingerichtet hast.
Hinweis: Du kannst die Ausführungsprotokollierung und die Zugriffsprotokollierung unabhängig voneinander aktivieren.
Führe die folgenden Schritte aus:
- Öffne die API Gateway-Konsole.
- Wähle im Navigationsbereich APIs aus.
- Wähle die API und dann Stufen aus.
- Wähle deine Stufe und wähle dann die Registerkarte Protokolle/Ablaufverfolgung aus.
- Wähle in den CloudWatch-Einstellungen die Option CloudWatch Logs aktivieren aus.
- Stelle Protokollstufe auf FEHLER und INFO ein.
Hinweis: Wenn du Protokollstufe auf FEHLER setzt, protokolliert API Gateway nur Anforderungsfehler und keine erfolgreichen API-Anfragen. - Wähle Ablaufverfolgung von Daten aus, um die Ablaufverfolgungsprotokollierung von Daten für die Phase zu aktivieren.
Hinweis: Es hat sich bewährt, die Ablaufverfolgung von Daten für Produktions-APIs nicht zu aktivieren, da API Gateway möglicherweise vertrauliche Daten protokolliert. - Wähle für Benutzerdefinierte Zugriffsprotokollierung die Option Zugriffsprotokollierung aktivieren aus.
Protokollierungsmethode verifizieren
Standardmäßig verwenden alle API-Ressourcen dieselbe Konfiguration wie die API-Ressourcenstufe. Wenn du die Stufe nicht übernehmen möchtest, überschreibe die Einstellung und lege andere Konfigurationen fest.
Gehe wie folgt vor, um die Protokollierungsmethode zu überprüfen:
- Öffne die API Gateway-Konsole.
- Wähle im Navigationsbereich APIs aus.
- Wähle die API und dann Stufen aus.
- Erweitere in Stufen den Stufennamen. Wähle dann die HTTP-Methode, zum Beispiel GET aus.
- Wähle in Einstellungen Für diese Methode überschreiben aus.
Hinweis: Um weitere Protokolländerungen vorzunehmen, aktualisiere die erforderlichen Einstellungen im Abschnitt CloudWatch-Einstellungen. - Klicke auf Änderungen speichern.
Ähnliche Informationen
Wie finde ich API Gateway-REST-API-Fehler in meinen CloudWatch-Protokollen?
Wie richte ich die Zugriffsprotokollierung für API Gateway ein?
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 2 Jahren