Standardprotokollierung konfigurieren (Legacy) - 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.

Standardprotokollierung konfigurieren (Legacy)

Hinweise
  • Dieses Thema bezieht sich auf die vorherige Version der Standardprotokollierung. Informationen zur neuesten Version finden Sie unter Standardprotokollierung konfigurieren (v2).

  • Wenn Sie die Standardprotokollierung (Legacy) bereits aktiviert haben und die Standardprotokollierung (v2) für Amazon S3 aktivieren möchten, empfehlen wir, dass Sie einen anderen Amazon S3 S3-Bucket angeben oder einen separaten Pfad in demselben Bucket verwenden (z. B. ein Protokollpräfix oder eine Partitionierung verwenden). Auf diese Weise behalten Sie den Überblick darüber, welche Protokolldateien mit welcher Distribution verknüpft sind, und verhindert, dass sich Protokolldateien gegenseitig überschreiben.

Gehen Sie wie folgt vor, um mit der Standardprotokollierung (Legacy) zu beginnen:

  1. Wählen Sie einen Amazon S3 S3-Bucket aus, der Ihre Protokolle empfängt, und fügen Sie die erforderlichen Berechtigungen hinzu.

  2. Konfigurieren Sie die Standardprotokollierung (Legacy) CloudFront über die Konsole oder die CloudFront API. Sie können nur einen Amazon S3 S3-Bucket auswählen, um Ihre Protokolle zu empfangen.

  3. Sehen Sie sich Ihre Zugriffsprotokolle an.

Wählen Sie einen Amazon S3 S3-Bucket für Standardprotokolle

Wenn Sie die Protokollierung für eine Distribution aktivieren, geben Sie den Amazon S3 S3-Bucket CloudFront an, in dem Sie Protokolldateien speichern möchten. Wenn Sie Amazon S3 als Ihren Ursprung verwenden, empfehlen wir Ihnen, einen separaten Bucket für Ihre Protokolldateien zu verwenden.

Geben Sie den Amazon S3 S3-Bucket CloudFront an, in dem Sie Zugriffs-Logs speichern möchten, amzn-s3-demo-bucket.s3.amazonaws.com z. B.

Sie können Protokolldateien für mehrere Verteilungen in demselben Bucket speichern. Wenn Sie die Protokollierung aktivieren, können Sie ein optionales Präfix für den Dateinamen festlegen; so behalten Sie den Überblick darüber, welche Protokolldateien welchen Verteilungen zugeordnet sind.

Über die Auswahl eines S3-Buckets
  • In Ihrem Bucket muss die Zugriffskontrollliste (ACL) aktiviert sein. Wenn Sie in der CloudFront Konsole einen Bucket ohne aktivierte ACL auswählen, wird eine Fehlermeldung angezeigt. Siehe Berechtigungen.

  • Wählen Sie keinen Amazon-S3-Bucket, wenn S3-Objekteigentümerschaft auf Bucket-Eigentümer erzwungen festgelegt ist. Diese Einstellung ist ACLs für den Bucket und die darin enthaltenen Objekte deaktiviert, wodurch CloudFront verhindert wird, dass Protokolldateien an den Bucket gesendet werden.

  • Wählen Sie im Folgenden keinen Amazon S3 S3-Bucket aus AWS-Regionen. CloudFront liefert keine Standardprotokolle an Buckets in diesen Regionen:

    • Afrika (Kapstadt)

    • Asien-Pazifik (Hongkong)

    • Asien-Pazifik (Hyderabad)

    • Asien-Pazifik (Jakarta)

    • Asien-Pazifik (Melbourne)

    • Kanada West (Calgary)

    • Europa (Milan)

    • Europa (Spain)

    • Europa (Zürich)

    • Israel (Tel Aviv)

    • Naher Osten (Bahrain)

    • Naher Osten (VAE)

Berechtigungen

Wichtig

Ab April 2023 müssen Sie S3 ACLs für neue S3-Buckets aktivieren, die für CloudFront Standardprotokolle verwendet werden. Sie können die Option aktivieren ACLs , wenn Sie einen Bucket erstellen, oder die Aktivierung ACLs für einen vorhandenen Bucket.

Weitere Informationen zu den Änderungen finden Sie unter Häufig gestellte Fragen zu Standardeinstellungen für neue S3-Buckets im Benutzerhandbuch zu Amazon Simple Storage Service und unter Achtung: Sicherheitsänderungen in Amazon S3 im April 2023 im AWS News-Blog.

Sie AWS-Konto müssen über die folgenden Berechtigungen für den Bucket verfügen, den Sie für Protokolldateien angeben:

  • Die ACL für den Bucket muss Ihnen gewährenFULL_CONTROL. Wenn Sie der Bucket-Eigentümer sind, verfügt Ihr Konto standardmäßig über diese Berechtigung. Sind Sie das nicht, muss der Bucket-Eigentümer die ACL für den Bucket aktualisieren.

  • s3:GetBucketAcl

  • s3:PutBucketAcl

ACL für den Bucket

Wenn Sie eine Distribution erstellen oder aktualisieren und die Protokollierung aktivieren, CloudFront verwendet diese Berechtigungen, um die ACL für den Bucket zu aktualisieren, um dem awslogsdelivery Konto die entsprechenden Berechtigungen zu FULL_CONTROL erteilen. Das awslogsdelivery-Konto schreibt Protokolldateien in den Bucket. Wenn Ihr Konto nicht über die erforderlichen Berechtigungen zum Aktualisieren der ACL verfügt, schlägt das Erstellen oder Aktualisieren der Verteilung fehl.

Wenn Sie programmgesteuert eine Anfrage senden, um einen Bucket zu erstellen, aber ein Bucket mit dem angegebenen Namen bereits vorhanden ist, setzt S3 in einigen Fällen die Berechtigungen für den Bucket auf den Standardwert zurück. Wenn Sie das Speichern von Zugriffsprotokollen in einem S3-Bucket konfiguriert CloudFront haben und Sie keine Protokolle mehr in diesem Bucket abrufen, überprüfen Sie die Berechtigungen für den Bucket, um sicherzustellen, dass dieser CloudFront über die erforderlichen Berechtigungen verfügt.

Wiederherstellung der ACL für den Bucket

Wenn Sie Berechtigungen für das awslogsdelivery-Konto aufheben, kann CloudFront keine Protokolle in dem S3-Bucket speichern. Um wieder mit dem Speichern von Protokollen für Ihre Distribution beginnen CloudFront zu können, stellen Sie die ACL-Berechtigung wieder her, indem Sie einen der folgenden Schritte ausführen:

  • Deaktivieren Sie die Protokollierung für Ihre Distribution und aktivieren Sie sie dann erneut. CloudFront Weitere Informationen finden Sie unter Standardprotokollierung.

  • Fügen Sie die ACL-Berechtigung für awslogsdelivery manuell hinzu, indem Sie in der Amazon S3-Konsole zu dem S3-Bucket gehen und die Berechtigung hinzufügen. Um die ACL für awslogsdelivery hinzuzufügen, müssen Sie die kanonische ID für das Konto angeben, nämlich:

    c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0

    Weitere Informationen zum Hinzufügen ACLs zu S3-Buckets finden Sie unter Konfiguration ACLs im Amazon Simple Storage Service-Benutzerhandbuch.

ACL für jede Protokolldatei

Neben der ACL für den Bucket gibt es auch ACLs für jede einzelne Protokolldatei. Der Bucket-Eigentümer verfügt für jede Protokolldatei über die Berechtigung FULL_CONTROL, der Eigentümer der Verteilung (wenn dieser vom Bucket-Eigentümer abweicht) hat keine Berechtigung und das awslogsdelivery-Konto verfügt über Lese- und Schreibberechtigungen.

Deaktivieren der Protokollierung

Wenn Sie die Protokollierung deaktivieren, CloudFront werden weder ACLs für den Bucket noch für die Protokolldateien gelöscht. Sie können die bei ACLs Bedarf löschen.

Erforderliche Schlüsselrichtlinie für SSE-KMS Buckets

Wenn der S3-Bucket für Ihre Standardprotokolle serverseitige Verschlüsselung mit AWS KMS keys (SSE-KMS) unter Verwendung eines vom Kunden verwalteten Schlüssels verwendet, müssen Sie der Schlüsselrichtlinie für Ihren vom Kunden verwalteten Schlüssel die folgende Erklärung hinzufügen. Dies ermöglicht das Schreiben CloudFront von Protokolldateien in den Bucket. Sie können SSE-KMS nicht mit dem verwenden Von AWS verwalteter Schlüssel , da CloudFront dann keine Protokolldateien in den Bucket geschrieben werden können.

{ "Sid": "Allow CloudFront to use the key to deliver logs", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*" }

Wenn der S3-Bucket für Ihre Standardprotokolle SSE-KMS mit einem S3-Bucket-Schlüssel verwendet, müssen Sie der Richtlinienanweisung auch die kms:Decrypt entsprechende Berechtigung hinzufügen. In diesem Fall sieht die vollständige Richtlinienanweisung wie folgt aus.

{ "Sid": "Allow CloudFront to use the key to deliver logs", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }
Anmerkung

Wenn Sie SSE-KMS für Ihren S3-Bucket aktivieren, geben Sie den vollständigen ARN für den vom Kunden verwalteten Schlüssel an. Weitere Informationen finden Sie unter Serverseitige Verschlüsselung mit AWS KMS keys (SSE-KMS) angeben im Amazon Simple Storage Service-Benutzerhandbuch.

Aktivieren Sie die Standardprotokollierung (veraltet)

Verwenden Sie die CloudFront Konsole oder die CloudFront API, um Standardprotokolle zu aktivieren.

Aktivieren Sie die Standardprotokollierung (Legacy) (CloudFrontKonsole)

Um Standardprotokolle für eine CloudFront Distribution zu aktivieren (Konsole)
  1. Verwenden Sie die CloudFront Konsole, um eine neue Distribution zu erstellen oder eine bestehende zu aktualisieren.

  2. Wählen Sie im Bereich Standardprotokollierung für Protokollzustellung die Option On aus.

  3. (Optional) Wählen Sie für die Cookie-Protokollierung die Option Ein, wenn Sie Cookies in Ihre Protokolle aufnehmen möchten. Weitere Informationen finden Sie unter Protokollierung von Cookies.

    Tipp

    Die Cookie-Protokollierung ist eine globale Einstellung, die für alle Standardprotokolle Ihrer Distribution gilt. Sie können diese Einstellung nicht für separate Lieferziele überschreiben.

  4. Geben Sie für den Abschnitt Liefern an Amazon S3 (Legacy) an.

  5. Geben Sie Ihren Amazon S3 S3-Bucket an. Wenn Sie noch keinen haben, können Sie Create wählen oder sich die Dokumentation ansehen, um einen Bucket zu erstellen.

  6. (Optional) Geben Sie unter Protokollpräfix die Zeichenfolge CloudFront an, die Sie den Namen der Zugriffs-Logdateien für diese Distribution voranstellen möchten, exampleprefix/ z. B. Der abschließende Schrägstrich (/) ist optional, jedoch empfohlen, um das Durchsuchen Ihrer Protokolldateien zu vereinfachen. Weitere Informationen finden Sie unter Protokollpräfix.

  7. Führen Sie die Schritte aus, um Ihre Distribution zu aktualisieren oder zu erstellen.

  8. Vergewissern Sie sich auf der Seite Protokolle, dass der Status der Standardprotokolle neben der Verteilung aktiviert ist.

    Weitere Informationen zur standardmäßigen Übermittlung der Protokollierung und zu den Protokollfeldern finden Sie unterReferenz zur Standardprotokollierung.

Aktivieren Sie die Standardprotokollierung (Legacy) (CloudFrontAPI)

Sie können die CloudFront API auch verwenden, um Standardprotokolle für Ihre Distributionen zu aktivieren.

Um Standardprotokolle für eine Distribution (CloudFront API) zu aktivieren

Bearbeiten Sie die Standardprotokollierungseinstellungen

Sie können die Protokollierung aktivieren oder deaktivieren, den Amazon S3 S3-Bucket ändern, in dem Ihre Protokolle gespeichert sind, und das Präfix für Protokolldateien ändern, indem Sie die CloudFront Konsole oder die CloudFront API verwenden. Ihre Änderungen der Protokollierungseinstellungen werden innerhalb von 12 Stunden wirksam.

Weitere Informationen finden Sie unter den folgenden Themen:

  • Informationen zum Aktualisieren einer Distribution mithilfe der CloudFront Konsole finden Sie unterEine Verteilung aktualisieren.

  • Informationen zum Aktualisieren einer Distribution mithilfe der CloudFront API finden Sie UpdateDistributionin der Amazon CloudFront API-Referenz.

Protokolle an Amazon S3 senden

Wenn Sie Ihre Protokolle an Amazon S3 senden, werden Ihre Protokolle im folgenden Format angezeigt.

Dateinamenformat

Der Name jeder Protokolldatei, die in Ihrem Amazon S3 S3-Bucket CloudFront gespeichert wird, verwendet das folgende Dateinamenformat:

<optional prefix>/<distribution ID>.YYYY-MM-DD-HH.unique-ID.gz

Datum und Uhrzeit entsprechen der Zeitzone UTC (Coordinated Universal Time).

Wenn Sie beispielsweise example-prefix als Präfix verwenden und Ihre Verteilungs-ID EMLARXS9EXAMPLE lautet, sehen Ihre Dateinamen folgendermaßen aus:

example-prefix/EMLARXS9EXAMPLE.2019-11-14-20.RT4KCN4SGK9.gz

Wenn Sie die Protokollierung für eine Verteilung aktivieren, können Sie ein optionales Präfix für den Dateinamen festlegen; so behalten Sie den Überblick darüber, welche Protokolldateien welchen Verteilungen zugeordnet sind. Wenn Sie einen Wert für das Präfix der Protokolldatei angeben und Ihr Präfix nicht mit einem Schrägstrich (/) CloudFront endet, wird automatisch einer angehängt. Wenn Ihr Präfix mit einem Schrägstrich endet, wird CloudFront kein weiterer hinzugefügt.

Das .gz Ende des Dateinamens weist darauf hin, dass die Protokolldatei mit gzip komprimiert CloudFront wurde.

Dateiformat des Standardprotokolls

Jeder Eintrag in einer Protokolldatei enthält detaillierte Informationen zu den einzelnen Viewer-Anfragen. Die Protokolldateien weisen folgende Merkmale auf:

  • Sie verwenden das erweiterte W3C-Format für Protokolldateien.

  • Sie enthalten tabulatorgetrennte Werte.

  • Sie enthalten Datensätze in nicht unbedingt chronologischer Reihenfolge.

  • Sie enthalten zwei Headerzeilen: eine mit der Version des Dateiformats und eine andere mit den W3C-Feldern für jeden einzelnen Datensatz.

  • Sie enthalten URL-codierte Äquivalente für Leerzeichen und bestimmte andere Zeichen in Feldwerten.

    URL-kodierte Äquivalente werden für die folgenden Zeichen verwendet:

    • ASCII-Zeichencodes 0 bis 32, inklusive

    • ASCII-Zeichencodes 127 und höher

    • Alle Zeichen in der folgenden Tabelle

    Der URL-Codierungsstandard ist in RFC 1738 definiert.

URL-codierter Wert

Zeichen

%3C

<

%3E

>

%22

"

%23

#

%25

%

%7B

{

%7D

}

%7C

|

%5C

\

%5E

^

%7E

~

%5B

[

%5D

]

%60

`

%27

'

%20

Leerzeichen

Logdateien löschen

CloudFront löscht Protokolldateien nicht automatisch aus Ihrem Amazon S3 S3-Bucket. Informationen zum Löschen von Protokolldateien aus einem Amazon S3 S3-Bucket finden Sie unter Objekte löschen im Amazon Simple Storage Service Console-Benutzerhandbuch.

Preisgestaltung

Die Standardprotokollierung ist eine optionale Funktion von CloudFront. CloudFront berechnet keine Gebühren für die Aktivierung von Standardprotokollen. Es fallen jedoch die üblichen Amazon S3-Gebühren für das Speichern und Zugreifen auf die Dateien auf Amazon S3 an. Sie können sie jederzeit löschen.

Weitere Informationen zu Preisen finden Sie unter Amazon S3-Preise.

Weitere Informationen zur CloudFront Preisgestaltung finden Sie unter CloudFront Preisgestaltung.