Protokolle für Edge-Funktionen - Amazon CloudFront

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.

Protokolle für Edge-Funktionen

Sie können Amazon CloudWatch Logs verwenden, um Protokolle für Ihre Edge-Funktionen, sowohl Lambda @Edge als auch CloudFront Functions, abzurufen. Greifen Sie über die CloudWatch Konsole oder die Logs-API auf die CloudWatch Protokolle zu.

Wichtig

Wir empfehlen Ihnen, die Protokolle zu verwenden, um die Art der Anfragen nach Ihren Inhalten zu verstehen, und nicht, um alle Anfragen vollständig zu erfassen. CloudFront liefert Edge-Funktionsprotokolle nach bestem Wissen und Gewissen. Der Protokolleintrag für eine bestimmte Anfrage wird möglicherweise viel später übermittelt, als die Anfrage tatsächlich verarbeitet wurde; in seltenen Fällen kann es auch sein, dass ein Protokolleintrag gar nicht übermittelt wird. Wenn ein Protokolleintrag nicht in den Protokollen für Edge-Funktionen enthalten ist, stimmt die Anzahl der Einträge in den Protokollen für Edge-Funktionen nicht mit deren Anzahl in den Abrechnungs- und Nutzungsberichten für AWS überein.

Lambda@Edge-Protokolle

Lambda @Edge sendet automatisch CloudWatch Funktionsprotokolle an Logs und erstellt Protokollstreams dort, AWS-Regionen wo die Funktionen ausgeführt werden. Der Name der Protokollgruppe ist wie folgt formatiert: Wo function-name ist der Name/aws/lambda/us-east-1.function-name, den Sie der Funktion gegeben haben, als Sie sie erstellt haben, und us-east-1 ist der Regionalcode für den Ort, AWS-Region an dem die Funktion erstellt wurde. Der Name der Protokollgruppe enthält immer Folgendesus-east-1, auch für Protokollgruppen für andere Regionen, in denen Ihre Funktion ausgeführt wird.

Anmerkung

Lambda@Edge drosselt Protokolle basierend auf dem angeforderten Volumen und der Größe der Protokolle.

Sie müssen die CloudWatch Protokolldateien korrekt überprüfen, AWS-Region um Ihre Lambda @Edge -Funktionsprotokolldateien zu sehen. Um die Regionen zu sehen, in denen Ihre Lambda @Edge -Funktion ausgeführt wird, sehen Sie sich Diagramme der Metriken für die Funktion in der CloudFront Konsole an. Metriken werden für jede AWS-Region angezeigt. Auf derselben Seite können Sie eine Region auswählen und Protokolldateien für diese anzeigen, um Probleme zu untersuchen.

Weitere Informationen zur Verwendung von CloudWatch Logs mit Lambda @Edge -Funktionen finden Sie im Folgenden:

CloudFront Funktionen, Protokolle

Wenn der Code einer CloudFront Funktion console.log() Anweisungen enthält, sendet CloudFront Functions diese Protokollzeilen automatisch an CloudWatch Logs. Wenn es keine console.log() Anweisungen gibt, wird nichts an CloudWatch Logs gesendet.

CloudFront Functions erstellt immer Log-Streams in der Region USA Ost (Nord-Virginia) (us-east-1), unabhängig davon, an welchem Edge-Standort die Funktion ausgeführt wurde. Der Name der Protokollgruppe hat das Format /aws/cloudfront/function/FunctionName. Dabei ist FunctionName der Name, den Sie der Funktion bei der Erstellung gegeben haben. Der Name des Protokollstreams ist im Format YYYY/M/D/UUID.

Im Folgenden wird ein Beispiel für eine Protokollnachricht gezeigt, die an CloudWatch Logs gesendet wurde. Jede Zeile beginnt mit einer ID, die eine CloudFront Anfrage eindeutig identifiziert. Die Nachricht beginnt mit einer START Zeile, die die CloudFront Verteilungs-ID enthält, und endet mit einer END Zeile. Zwischen den Zeilen END und START befinden sich die durch console.log()-Anweisungen in der Funktion erzeugten Protokollzeilen.

U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADAXZZ U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== Example function log output U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
Anmerkung

CloudFront Functions sendet CloudWatch nur Protokolle für Funktionen in der LIVE Phase, die als Reaktion auf Produktionsanfragen und -antworten ausgeführt werden. Wenn Sie eine Funktion testen, sendet CloudFront keine Protokolle an CloudWatch. Die Testausgabe enthält Informationen über Fehler, Rechenauslastung und Funktionsprotokolle (console.log()Anweisungen), aber diese Informationen werden nicht an gesendet CloudWatch.

CloudFront Functions verwendet eine dienstbezogene AWS Identity and Access Management (IAM-) Rolle, um Protokolle an Logs in Ihrem CloudWatch Konto zu senden. Eine dienstverknüpfte Rolle ist eine IAM-Rolle, die direkt mit einem Dienst verknüpft ist. AWS Dienstbezogene Rollen sind vom Dienst vordefiniert und beinhalten alle Berechtigungen, die der Dienst benötigt, um andere AWS Dienste in Ihrem Namen aufzurufen. CloudFront Functions verwendet eine dienstbezogene Rolle namens. AWSServiceRoleForCloudFrontLogger Weitere Informationen zu dieser Rolle finden Sie unter Serviceverknüpfte Rollen für Lambda@Edge (Lambda@Edge verwendet dieselbe serviceverknüpfte Rolle).

Wenn eine Funktion aufgrund eines Überprüfungs- oder Ausführungsfehlers fehlschlägt, werden die Informationen in CloudFront den Standardprotokollen und Echtzeitprotokollen protokolliert. Informationen über den Fehler werden in den Feldern x-edge-result-type, x-edge-response-result-type und x-edge-detailed-result-type protokolliert.