

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.

# Zugriffsprotokolle (Standardprotokolle)
<a name="AccessLogs"></a>

Sie können so konfigurieren CloudFront , dass Protokolldateien erstellt werden, die detaillierte Informationen zu jeder CloudFront empfangenen Benutzeranfrage (Viewer-Anfrage) enthalten. Diese werden als *Zugriffsprotokolle* bezeichnet, die auch als *Standardprotokolle* bezeichnet werden. 

Jedes Protokoll enthält Informationen wie die Zeit, zu der die Anforderung einging, Verarbeitungszeit, Anforderungspfade und Serverantworten. Sie können diese Zugriffsprotokolle verwenden, um Antwortzeiten zu analysieren und Probleme zu beheben.

Das folgende Diagramm zeigt, wie Informationen über Anfragen für Ihre Objekte CloudFront protokolliert werden. In diesem Beispiel sind die Distributionen so konfiguriert, dass sie Zugriffsprotokolle an einen Amazon S3-Bucket senden.

![\[Prinzipieller Ablauf für Zugriffsprotokolle\]](http://docs.aws.amazon.com/de_de/AmazonCloudFront/latest/DeveloperGuide/images/Logging.png)


1. In diesem Beispiel haben Sie zwei Websites, A und B, und zwei entsprechende CloudFront Distributionen. Benutzer fordern Ihre Objekte an URLs , die mit Ihren Distributionen verknüpft sind.

1. CloudFront leitet jede Anfrage an den entsprechenden Edge-Standort weiter.

1. CloudFront schreibt Daten zu jeder Anfrage in eine Protokolldatei, die für diese Verteilung spezifisch ist. In diesem Beispiel werden Informationen zu Anforderungen mit Bezug auf Distribution A in einer Protokolldatei für Distribution A gespeichert. Informationen zu Anforderungen mit Bezug auf Distribution B werden in einer Protokolldatei für Distribution B gespeichert.

1. CloudFront speichert regelmäßig die Protokolldatei für eine Distribution im Amazon S3 S3-Bucket, den Sie bei der Aktivierung der Protokollierung angegeben haben. CloudFront beginnt dann, Informationen über nachfolgende Anfragen in einer neuen Protokolldatei für die Verteilung zu speichern.

   Wenn Viewer eine Stunde lang nicht auf Ihre Inhalte zugreifen, erhalten Sie für diesen Zeitraum auch keine Protokolldateien.

**Anmerkung**  
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 stellt Zugriffsprotokolle nach bestem Wissen und Gewissen bereit. 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 Zugriffsprotokollen enthalten ist, stimmt die Anzahl der Einträge in den Zugriffsprotokollen nicht mit deren Anzahl in den Abrechnungs- und Nutzungsberichten für AWS überein.

CloudFront unterstützt zwei Versionen der Standardprotokollierung. Die Standardprotokollierung (Legacy) unterstützt *nur* das Senden Ihrer Zugriffsprotokolle an Amazon S3. Die Standardprotokollierung (v2) unterstützt zusätzliche Bereitstellungsziele. Sie können beide oder eine der beiden Protokollierungsoptionen für Ihre Distribution konfigurieren. Weitere Informationen finden Sie unter den folgenden Themen:

**Topics**
+ [

# Konfigurieren der Standardprotokollierung (v2)
](standard-logging.md)
+ [

# Konfigurieren der Standardprotokollierung (Legacy)
](standard-logging-legacy-s3.md)
+ [

# Referenz zur Standardprotokollierung
](standard-logs-reference.md)

**Tipp**  
CloudFront bietet auch Echtzeit-Zugriffsprotokolle, die Ihnen Informationen über Anfragen an eine Distribution in Echtzeit liefern (Protokolle werden innerhalb von Sekunden nach Erhalt der Anfragen zugestellt). Sie können Zugriffsprotokolle in Echtzeit verwenden, um die Leistung der Inhaltsbereitstellung zu überwachen, zu analysieren und Maßnahmen zu ergreifen. Weitere Informationen finden Sie unter [Verwenden Sie Zugriffsprotokolle in Echtzeit](real-time-logs.md).

# Konfigurieren der Standardprotokollierung (v2)
<a name="standard-logging"></a>

Sie können Zugriffsprotokolle (Standardprotokolle) aktivieren, wenn Sie eine Distribution erstellen oder aktualisieren. Die Standardprotokollierung (v2) umfasst die folgenden Funktionen:
+ Senden Sie Zugriffsprotokolle an Amazon CloudWatch Logs, Amazon Data Firehose und Amazon Simple Storage Service (Amazon S3).
+ Auswahl der gewünschten Protokollfelder. Sie können auch eine [Teilmenge von Echtzeitzugriffsprotokollfeldern](#standard-logging-real-time-log-selection) auswählen.
+ Auswahl zusätzlicher [Ausgabe-Protokolldateiformate](#supported-log-file-format)

Wenn Sie Amazon S3 verwenden, verfügen Sie über die folgenden optionalen Funktionen:
+ Senden Sie Protokolle, um sich anzumelden. AWS-Regionen
+ Organisieren Ihrer Protokolle anhand von Partitionierung
+ Aktivieren von Hive-kompatiblen Dateinamen

Weitere Informationen finden Sie unter [Senden von Protokollen an Amazon S3](#send-logs-s3).

Führen Sie für den Einstieg in die Standardprotokollierung die folgenden Schritte aus:

1. Richten Sie Ihre erforderlichen Berechtigungen für die angegebenen Personen ein AWS-Service , die Ihre Protokolle erhalten sollen.

1. Konfigurieren Sie die Standardprotokollierung CloudFront über die Konsole oder die CloudWatch API.

1. Zeigen Sie Ihre Zugriffsprotokolle an.

**Anmerkung**  
Wenn Sie die Standardprotokollierung (v2) aktivieren, hat dies keine Auswirkungen auf die Standardprotokollierung (Legacy) und verändert sie nicht. Sie können zusätzlich zur Standardprotokollierung (v2) weiterhin die Standardprotokollierung (Legacy) für Ihre Distribution verwenden. Weitere Informationen finden Sie unter [Konfigurieren der Standardprotokollierung (Legacy)](standard-logging-legacy-s3.md).
Wenn Sie die Standardprotokollierung (Legacy) bereits aktiviert haben und die Standardprotokollierung (v2) für Amazon S3 aktivieren möchten, empfehlen wir Ihnen, einen *anderen* Amazon-S3-Bucket anzugeben oder einen *separaten Pfad* in demselben Bucket zu verwenden (z. B. ein Protokollpräfix oder eine Partitionierung zu verwenden). Auf diese Weise behalten Sie den Überblick darüber, welche Protokolldateien mit welcher Distribution verknüpft sind, und es wird verhindert, dass sich Protokolldateien gegenseitig überschreiben.

## Berechtigungen
<a name="permissions-standard-logging"></a>

CloudFront verwendet CloudWatch bereitgestellte Protokolle zur Bereitstellung von Zugriffsprotokollen. Dazu benötigen Sie Berechtigungen für die angegebenen Daten, AWS-Service sodass Sie die Übermittlung von Protokollen aktivieren können.

Um die erforderlichen Berechtigungen für jedes Protokollierungsziel zu sehen, wählen Sie eines der folgenden Themen im *Amazon CloudWatch Logs-Benutzerhandbuch* aus.
+ [CloudWatch Protokolle](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs)
+ [Firehose](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-Firehose)
+ [Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-S3)

Nachdem Sie die Berechtigungen für Ihr Protokollierungsziel eingerichtet haben, können Sie die Standardprotokollierung für Ihre Distribution aktivieren.

**Anmerkung**  
CloudFront unterstützt das Senden von Zugriffsprotokollen an verschiedene AWS-Konten (kontenübergreifende). Um die kontoübergreifende Bereitstellung zu ermöglichen, müssen beide Konten (Ihr Konto und das Empfängerkonto) über die erforderlichen Berechtigungen verfügen. Weitere Informationen finden Sie im [Aktivieren der Standardprotokollierung für die kontoübergreifende Bereitstellung](#enable-standard-logging-cross-accounts) Abschnitt oder im [Beispiel für die kontoübergreifende Lieferung](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#vended-logs-crossaccount-example) im *Amazon CloudWatch Logs-Benutzerhandbuch*. 

## Aktivieren der Standardprotokollierung
<a name="set-up-standard-logging"></a>

Um die Standardprotokollierung zu aktivieren, können Sie die CloudFront Konsole oder die CloudWatch API verwenden.

**Contents**
+ [

### Aktivieren Sie die Standardprotokollierung (CloudFrontKonsole)
](#access-logging-console)
+ [

### Aktivieren Sie die Standardprotokollierung (CloudWatchAPI)
](#enable-access-logging-api)

### Aktivieren Sie die Standardprotokollierung (CloudFrontKonsole)
<a name="access-logging-console"></a>

**Um die Standardprotokollierung für eine CloudFront Distribution zu aktivieren (Konsole)**

1. Verwenden Sie die CloudFront Konsole, um [eine bestehende Distribution zu aktualisieren](HowToUpdateDistribution.md#HowToUpdateDistributionProcedure).

1. Wählen Sie die Registerkarte **Logging** (Protokollierung) aus.

1. Wählen Sie **Hinzufügen** und anschließend den Service aus, der Ihre Protokolle erhalten soll:
   + CloudWatch Logs
   + Firehose
   + Amazon S3

1. Wählen Sie als **Ziel** die Ressource für Ihren Service aus. Wenn Sie Ihre Ressource noch nicht erstellt haben, können Sie **Erstellen** auswählen oder sich die folgende Dokumentation ansehen.
   + Geben Sie für CloudWatch Logs den **[Namen der Protokollgruppe](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)** ein.
   + Geben Sie für Firehose den **[Firehose-Bereitstellungsdatenstrom](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)** ein.
   + Geben Sie für Amazon S3 den **[Bucket-Namen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)** ein. 
**Tipp**  
Um ein Präfix anzugeben, geben Sie das Präfix nach dem Bucket-Namen ein, z. B. `amzn-s3-demo-bucket.s3.amazonaws.com/MyLogPrefix`. Wenn Sie kein Präfix angeben, CloudFront wird automatisch eines für Sie hinzugefügt. Weitere Informationen finden Sie unter [Senden von Protokollen an Amazon S3](#send-logs-s3).

1. Für **Zusätzliche Einstellungen – *optional*** können Sie die folgenden Optionen angeben:

   1. Wählen Sie unter **Feldauswahl** die Namen der Protokollfelder aus, die Sie an Ihr Ziel senden möchten. Sie können [Zugriffsprotokollfelder](standard-logs-reference.md#BasicDistributionFileFormat) und eine Teilmenge von [Echtzeitzugriffsprotokollfeldern](#standard-logging-real-time-log-selection) auswählen.

   1. (Nur Amazon S3) Geben Sie für die **Partitionierung** den Pfad zur Partitionierung Ihrer Protokolldateidaten an. 

   1. (Nur Amazon S3) Für ein **Hive-kompatibles Dateiformat** können Sie das Kontrollkästchen aktivieren, um Hive-kompatible S3-Pfade zu verwenden. Dies vereinfacht das Laden neuer Daten in Ihre Hive-kompatiblen Tools.

   1. Geben Sie unter **Ausgabeformat** Ihr bevorzugtes Format an.
**Anmerkung**  
Wenn Sie sich für **Parquet** entscheiden, fallen für diese Option CloudWatch Gebühren für die Konvertierung Ihrer Zugriffsprotokolle in Apache Parquet an. Weitere Informationen zur Preisgestaltung finden Sie im [Abschnitt Vending Logs](https://aws.amazon.com/cloudwatch/pricing/). CloudWatch

   1. Geben Sie unter **Feldtrennzeichen** an, wie Protokollfelder getrennt werden sollen. 

1. Führen Sie die Schritte zum Aktualisieren oder Erstellen Ihrer Distribution aus.

1. Um ein weiteres Ziel hinzuzufügen, wiederholen Sie die Schritte 3–6.

1. Vergewissern Sie sich auf der Seite **Protokolle**, dass der Status der Standardprotokolle neben der Distribution **aktiviert** lautet.

1. (Optional) Um die Cookie-Protokollierung zu aktivieren, wählen Sie **Verwalten** und dann **Einstellungen** aus, aktivieren Sie die **Cookie-Protokollierung** und bestätigen Sie Ihre Auswahl anschließend mit **Änderungen speichern**.
**Tipp**  
Die Cookie-Protokollierung ist eine globale Einstellung, die für die *gesamte* Standardprotokollierung für Ihre Distribution gilt. Sie können diese Einstellung nicht für separate Bereitstellungsziele überschreiben.

Weitere Informationen zur standardmäßigen Bereitstellung der Protokollierung und den Protokollfeldern finden Sie in der [Referenz zur Standardprotokollierung](standard-logs-reference.md).

### Aktivieren Sie die Standardprotokollierung (CloudWatchAPI)
<a name="enable-access-logging-api"></a>

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

**Hinweise**  
Wenn Sie die CloudWatch API aufrufen, um die Standardprotokollierung zu aktivieren, müssen Sie die Region USA Ost (Nord-Virginia) (`us-east-1`) angeben, auch wenn Sie die regionsübergreifende Zustellung an ein anderes Ziel aktivieren möchten. Wenn Sie beispielsweise Ihre Zugriffsprotokolle an einen S3-Bucket in der Region Europa (Irland) () senden möchten, verwenden Sie die CloudWatch API in der `us-east-1` Region. `eu-west-1`
Es gibt eine zusätzliche Option, um Cookies in die Standardprotokollierung aufzunehmen. In der CloudFront API ist dies der `IncludeCookies` Parameter. Wenn Sie die Zugriffsprotokollierung mithilfe der CloudWatch API konfigurieren und angeben, dass Sie Cookies einbeziehen möchten, müssen Sie die CloudFront Konsole oder CloudFront API verwenden, um Ihre Distribution so zu aktualisieren, dass sie Cookies enthält. Andernfalls CloudFront können keine Cookies an Ihr Protokollziel gesendet werden. Weitere Informationen finden Sie unter [Protokollierung von Cookies](DownloadDistValuesGeneral.md#DownloadDistValuesCookieLogging).

**Um die Standardprotokollierung für eine Distribution (CloudWatch API) zu aktivieren**

1. Nachdem Sie eine Distribution erstellt haben, rufen Sie den Amazon-Ressourcennamen (ARN) ab. 

   Sie finden den ARN auf der **Verteilungsseite** in der CloudFront Konsole oder Sie können den [GetDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html)API-Vorgang verwenden. Ein Distributions-ARN folgt dem Format: `arn:aws:cloudfront::123456789012:distribution/d111111abcdef8` 

1. Verwenden Sie als Nächstes den CloudWatch [PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html)API-Vorgang, um eine Lieferquelle für die Verteilung zu erstellen. 

   1. Geben Sie einen Namen für die Bereitstellungsquelle ein.

   1. Übergeben Sie den `resourceArn` der Distribution. 

   1. Geben Sie unter `logType` als Typ der erfassten Protokolle `ACCESS_LOGS` an. 

   1.   
**Example Beispiel für einen AWS CLI put-delivery-source Befehl**  

      Im Folgenden finden Sie ein Beispiel für die Konfiguration einer Bereitstellungsquelle für eine Distribution.

      ```
      aws logs put-delivery-source --name S3-delivery --resource-arn arn:aws:cloudfront::123456789012:distribution/d111111abcdef8 --log-type ACCESS_LOGS
      ```

      **Ausgabe**

      ```
      {
       "deliverySource": {
       "name": "S3-delivery",
       "arn": "arn:aws:logs:us-east-1:123456789012:delivery-source:S3-delivery",
       "resourceArns": [
       "arn:aws:cloudfront::123456789012:distribution/d111111abcdef8"
       ],
       "service": "cloudfront",
       "logType": "ACCESS_LOGS"
       }
      }
      ```

1. Verwenden Sie den [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html)API-Vorgang, um zu konfigurieren, wo Ihre Protokolle gespeichert werden sollen. 

   1. Geben Sie unter `destinationResourceArn` den ARN des Ziels an. Dies kann eine CloudWatch Logs-Protokollgruppe, ein Firehose-Lieferstream oder ein Amazon S3 S3-Bucket sein.

   1. Geben Sie unter `outputFormat` das Ausgabeformat für Ihre Protokolle an.

   1.   
**Example Beispiel für AWS CLI put-delivery-destination einen Befehl**  

      Im Folgenden finden Sie ein Beispiel für die Konfiguration eines Bereitstellungsziels für einen Amazon-S3-Bucket.

      ```
      aws logs put-delivery-destination --name S3-destination --delivery-destination-configuration destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket
      ```

      **Ausgabe**

      ```
      {
          "name": "S3-destination",
          "arn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination",
          "deliveryDestinationType": "S3",
          "deliveryDestinationConfiguration": {
              "destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket"
          }
      }
      ```
**Anmerkung**  
Wenn Sie Protokolle kontoübergreifend bereitstellen, müssen Sie den [PutDeliveryDestinationPolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html)API-Vorgang verwenden, um dem Zielkonto eine AWS Identity and Access Management (IAM-) Richtlinie zuzuweisen. Die IAM-Richtlinie ermöglicht die Bereitstellung von einem Konto in einem anderen Konto.

1. Verwenden Sie den [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html)API-Vorgang, um die Lieferquelle mit dem Ziel zu verknüpfen, das Sie in den vorherigen Schritten erstellt haben. Diese API-Operation verknüpft die Bereitstellungsquelle mit dem Endziel.

   1. Geben Sie unter `deliverySourceName` den Quellnamen an.

   1. Geben Sie unter `deliveryDestinationArn` den ARN für das Bereitstellungsziel an.

   1. Geben Sie unter `fieldDelimiter` die Zeichenfolge zur Trennung der Protokollfelder an.

   1. Geben Sie unter `recordFields` die gewünschten Protokollfelder an.

   1. Wenn Sie S3 verwenden, geben Sie an, ob `enableHiveCompatiblePath` und `suffixPath` verwendet werden sollen.  
**Example Beispiel für einen AWS CLI Create-Delivery-Befehl**  

   Im Folgenden finden Sie ein Beispiel für die Erstellung einer Bereitstellung: 

   ```
   aws logs create-delivery --delivery-source-name cf-delivery --delivery-destination-arn arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination
   ```

   **Ausgabe**

   ```
   {
       "id": "abcNegnBoTR123",
       "arn": "arn:aws:logs:us-east-1:123456789012:delivery:abcNegnBoTR123",
       "deliverySourceName": "cf-delivery",
       "deliveryDestinationArn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination",
       "deliveryDestinationType": "S3",
       "recordFields": [
           "date",
           "time",
           "x-edge-location",
           "sc-bytes",
           "c-ip",
           "cs-method",
           "cs(Host)",
           "cs-uri-stem",
           "sc-status",
           "cs(Referer)",
           "cs(User-Agent)",
           "cs-uri-query",
           "cs(Cookie)",
           "x-edge-result-type",
           "x-edge-request-id",
           "x-host-header",
           "cs-protocol",
           "cs-bytes",
           "time-taken",
           "x-forwarded-for",
           "ssl-protocol",
           "ssl-cipher",
           "x-edge-response-result-type",
           "cs-protocol-version",
           "fle-status",
           "fle-encrypted-fields",
           "c-port",
           "time-to-first-byte",
           "x-edge-detailed-result-type",
           "sc-content-type",
           "sc-content-len",
           "sc-range-start",
           "sc-range-end",
           "c-country",
           "cache-behavior-path-pattern"
       ],
        "fieldDelimiter": ""
   }
   ```

1. Vergewissern Sie sich in der CloudFront Konsole auf der Seite **Logs**, dass der Status der Standardprotokolle neben der Distribution auf **Aktiviert** steht.

   Weitere Informationen zur standardmäßigen Bereitstellung der Protokollierung und den Protokollfeldern finden Sie in der [Referenz zur Standardprotokollierung](standard-logs-reference.md).

**Anmerkung**  
Um die Standardprotokollierung (v2) für die CloudFront Verwendung zu aktivieren AWS CloudFormation, können Sie die folgenden CloudWatch Protokolleigenschaften verwenden:  
[Delivery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)
[DeliveryDestination](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)
[DeliverySource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)
Das `ResourceArn` ist die CloudFront Distribution und `LogType` muss `ACCESS_LOGS` der unterstützte Protokolltyp sein.

## Aktivieren der Standardprotokollierung für die kontoübergreifende Bereitstellung
<a name="enable-standard-logging-cross-accounts"></a>

Wenn Sie die Standardprotokollierung für Ihr Konto aktivieren AWS-Konto und Ihre Zugriffsprotokolle an ein anderes Konto weitergeben möchten, stellen Sie sicher, dass Sie das Quellkonto und das Zielkonto korrekt konfigurieren. Das *Quellkonto* mit der CloudFront Verteilung sendet seine Zugriffsprotokolle an das *Zielkonto*.

In diesem Beispielverfahren sendet das Quellkonto *111111111111* () seine Zugriffsprotokolle an einen Amazon S3 S3-Bucket im Zielkonto (*222222222222*). Um Zugriffsprotokolle an einen Amazon-S3-Bucket im Zielkonto zu senden, verwenden Sie die AWS CLI. 

### Konfigurieren des Zielkontos
<a name="steps-destination-account"></a>

Führen Sie für das Zielkonto das folgende Verfahren aus.

**So konfigurieren Sie das Zielkonto**

1. Um das Ziel für die Protokollbereitstellung zu erstellen, können Sie den folgenden AWS CLI -Befehl eingeben. In diesem Beispiel wird die Zeichenfolge `MyLogPrefix` verwendet, um ein Präfix für Ihre Zugriffsprotokolle zu erstellen.

   ```
   aws logs put-delivery-destination --name cloudfront-delivery-destination --delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/MyLogPrefix"
   ```

   **Ausgabe**

   ```
   {
       "deliveryDestination": {
           "name": "cloudfront-delivery-destination",
           "arn": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination",
           "deliveryDestinationType": "S3",
           "deliveryDestinationConfiguration": {"destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/MyLogPrefix"}
       }
   }
   ```
**Anmerkung**  
Wenn Sie einen S3-Bucket *ohne* Präfix angeben, CloudFront wird automatisch das `AWSLogs/<account-ID>/CloudFront` als Präfix angehängt, das `suffixPath` im S3-Lieferziel erscheint. Weitere Informationen finden Sie unter [S3 DeliveryConfiguration](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html).

1. Fügen Sie die Ressourcenrichtlinie für das Protokollbereitstellungsziel hinzu, um dem Quellkonto die Protokollbereitstellung zu ermöglichen.

   Ersetzen Sie in der folgenden Richtlinie *111111111111* durch die Quellkonto-ID und geben Sie den Lieferziel-ARN aus der Ausgabe in Schritt 1 an. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCreateDelivery",
               "Effect": "Allow",
               "Principal": {"AWS": "111111111111"},
               "Action": ["logs:CreateDelivery"],
               "Resource": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination"
           }
       ]
   }
   ```

------

1. Speichern Sie die Datei, z. B. `deliverypolicy.json`.

1. Geben Sie den folgenden AWS CLI Befehl ein, um die vorherige Richtlinie an das Lieferziel anzuhängen.

   ```
   aws logs put-delivery-destination-policy --delivery-destination-name cloudfront-delivery-destination --delivery-destination-policy file://deliverypolicy.json
   ```

1. Fügen Sie die folgende Erklärung zur Richtlinie des Ziel-Buckets in Amazon S3 hinzu und ersetzen Sie dabei den Ressourcen-ARN und die Quellkonto-ID. Diese Richtlinie ermöglicht es dem Service-Prinzipal `delivery.logs.amazonaws.com`, die Aktion `s3:PutObject` auszuführen.

   ```
   {
       "Sid": "AWSLogsDeliveryWrite",
       "Effect": "Allow",
       "Principal": {"Service": "delivery.logs.amazonaws.com"},
       "Action": "s3:PutObject",
       "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/*",
       "Condition": {
           "StringEquals": {
               "s3:x-amz-acl": "bucket-owner-full-control",
               "aws:SourceAccount": "111111111111"
           },
           "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111:delivery-source:*"}
       }
   }
   ```

1. Wenn Sie dies AWS KMS für Ihren Bucket verwenden, fügen Sie der KMS-Schlüsselrichtlinie die folgende Anweisung hinzu, um dem `delivery.logs.amazonaws.com` Dienstprinzipal Berechtigungen zu erteilen.

   ```
   {
       "Sid": "Allow Logs Delivery to use the key",
       "Effect": "Allow",
       "Principal": {"Service": "delivery.logs.amazonaws.com"},
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:DescribeKey"
       ],
       "Resource": "*",
       "Condition": {
           "StringEquals": {"aws:SourceAccount": "111111111111"},
           "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111:delivery-source:*"}
       }
   }
   ```

### Konfigurieren des Quellkontos
<a name="steps-source-account"></a>

Gehen Sie nach der Konfiguration des Zielkontos wie folgt vor, um die Bereitstellungsquelle zu erstellen und die Protokollierung für die Distribution im Quellkonto zu aktivieren.

**So konfigurieren Sie das Quellkonto**

1. Erstellen Sie eine Zustellungsquelle für die CloudFront Standardprotokollierung, sodass Sie Protokolldateien an CloudWatch Logs senden können. 

   Sie können den folgenden AWS CLI Befehl eingeben und dabei den Namen und den ARN Ihrer Distribution ersetzen.

   ```
   aws logs put-delivery-source --name s3-cf-delivery --resource-arn arn:aws:cloudfront::111111111111:distribution/E1TR1RHV123ABC --log-type ACCESS_LOGS
   ```

   **Ausgabe**

   ```
   {
       "deliverySource": {
           "name": "s3-cf-delivery",
           "arn": "arn:aws:logs:us-east-1:111111111111:delivery-source:s3-cf-delivery",
           "resourceArns": ["arn:aws:cloudfront::111111111111:distribution/E1TR1RHV123ABC"],
           "service": "cloudfront",
           "logType": "ACCESS_LOGS"
       }
   }
   ```

1. Erstellen Sie eine Bereitstellung, um die Protokollbereitstellungsquelle des Quellkontos dem Protokollbereitstellungsziel des Zielkontos zuzuordnen.

   Geben Sie im folgenden AWS CLI Befehl den Lieferziel-ARN aus der Ausgabe in [Schritt 1: Zielkonto konfigurieren](#steps-destination-account) an.

   ```
   aws logs create-delivery --delivery-source-name s3-cf-delivery --delivery-destination-arn arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination
   ```

   **Ausgabe**

   ```
   {
       "delivery": {
           "id": "OPmOpLahVzhx1234",
           "arn": "arn:aws:logs:us-east-1:111111111111:delivery:OPmOpLahVzhx1234",
           "deliverySourceName": "s3-cf-delivery",
           "deliveryDestinationArn": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination",
           "deliveryDestinationType": "S3",
           "recordFields": [
               "date",
               "time",
               "x-edge-location",
               "sc-bytes",
               "c-ip",
               "cs-method",
               "cs(Host)",
               "cs-uri-stem",
               "sc-status",
               "cs(Referer)",
               "cs(User-Agent)",
               "cs-uri-query",
               "cs(Cookie)",
               "x-edge-result-type",
               "x-edge-request-id",
               "x-host-header",
               "cs-protocol",
               "cs-bytes",
               "time-taken",
               "x-forwarded-for",
               "ssl-protocol",
               "ssl-cipher",
               "x-edge-response-result-type",
               "cs-protocol-version",
               "fle-status",
               "fle-encrypted-fields",
               "c-port",
               "time-to-first-byte",
               "x-edge-detailed-result-type",
               "sc-content-type",
               "sc-content-len",
               "sc-range-start",
               "sc-range-end",
               "c-country",
               "cache-behavior-path-pattern"
           ],
           "fieldDelimiter": "\t"
       }
   }
   ```

1. Überprüfen Sie, ob die kontoübergreifende Bereitstellung erfolgreich war.

   1. Melden Sie sich *source* über das Konto bei der CloudFront Konsole an und wählen Sie Ihre Distribution aus. Auf der Registerkarte **Protokollierung** finden Sie unter **Typ** einen Eintrag, der für die kontoübergreifende S3-Protokollbereitstellung erstellt wurde.

   1. Melden Sie sich *destination* über das Konto bei der Amazon S3-Konsole an und wählen Sie Ihren Amazon S3 S3-Bucket aus. Sie werden das Präfix `MyLogPrefix` im Bucket-Namen und in allen Zugriffsprotokollen sehen, die an diesen Ordner übermittelt wurden. 

## Ausgabedateiformat
<a name="supported-log-file-format"></a>

Je nachdem, welches Bereitstellungsziel Sie auswählen, können Sie eines der folgenden Formate für die Protokolldateien angeben.
+ JSON
+ Plain
+ w3c
+ Raw
+ Parquet (nur Amazon S3)

**Anmerkung**  
Sie können das Ausgabeformat nur festlegen, wenn Sie das Bereitstellungsziel zum ersten Mal erstellen. Diese kann später nicht mehr aktualisiert werden. Um das Ausgabeformat zu ändern, löschen Sie die Bereitstellung und erstellen Sie eine neue.

Weitere Informationen finden Sie [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html)in der *Amazon CloudWatch Logs API-Referenz*.

## Bearbeiten der Standardprotokollierungseinstellungen
<a name="standard-logs-v2-edit-settings"></a>

Sie können die Protokollierung mithilfe der [CloudFront Konsole](https://console.aws.amazon.com/cloudfront/v4/home) oder der CloudWatch API aktivieren oder deaktivieren und andere Protokolleinstellungen aktualisieren. 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 unter[Eine Verteilung aktualisieren](HowToUpdateDistribution.md).
+ Informationen zum Aktualisieren einer Distribution mithilfe der CloudFront API finden Sie [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)in der *Amazon CloudFront API-Referenz*.
+ Weitere Informationen zu CloudWatch Logs-API-Vorgängen finden Sie in der [Amazon CloudWatch Logs API-Referenz](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/Welcome.html).

## Zugriffsprotokollfelder
<a name="standard-logging-real-time-log-selection"></a>

Sie können dieselben Protokollfelder auswählen, die die Standardprotokollierung (Legacy) unterstützt. Weitere Informationen finden Sie unter [Protokolldateifelder](standard-logs-reference.md#BasicDistributionFileFormat).

Darüber hinaus können Sie die folgenden [Protokollfelder für den Echtzeitzugriff](real-time-logs.md#understand-real-time-log-config) auswählen.

1. `timestamp(ms)` – der Zeitstempel in Millisekunden

1. `origin-fbl`— Die Anzahl der Sekunden der Latenz im ersten Byte zwischen CloudFront und Ihrem Ursprung. 

1. `origin-lbl`— Die Anzahl der Sekunden der Latenz im letzten Byte zwischen CloudFront und Ihrem Ursprung. 

1. `asn` – die autonome Systemnummer (ASN) des Viewers 

1. `c-country` – ein Ländercode, der den geografischen Standort des Viewers darstellt und durch die IP-Adresse des Viewers festgelegt wird. Die Liste der Ländercodes finden Sie unter [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

1. `cache-behavior-path-pattern` – das Pfadmuster, das das Cacheverhalten identifiziert, das der Viewer-Anforderung entspricht 

## Sendet Logs an Logs CloudWatch
<a name="send-logs-cloudwatch-logs"></a>

Um Logs an CloudWatch Logs zu senden, erstellen oder verwenden Sie eine bestehende CloudWatch Logs-Protokollgruppe. Weitere Informationen zur Konfiguration einer CloudWatch Logs-Log-Gruppe finden Sie unter [Arbeiten mit Log-Gruppen und Log-Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).

Nach dem Erstellen Ihrer Protokollgruppe benötigen Sie die erforderlichen Berechtigungen zur Ausführung der Standardprotokollierung. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter An [Logs sent to CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs) im *Amazon CloudWatch Logs-Benutzerhandbuch*. 

**Hinweise**  
Wenn Sie den Namen der CloudWatch Logs-Protokollgruppe angeben, verwenden Sie nur das Regex-Muster. `[\w-]` Weitere Informationen zur [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax)API-Operation finden Sie in der *Amazon CloudWatch Logs API-Referenz*.
Stellen Sie sicher, dass Ihre Ressourcenrichtlinie für die Protokollgruppe die Größenbeschränkung nicht überschreitet. Weitere Informationen finden [Sie im Abschnitt Überlegungen zur Größenbeschränkung der Ressourcenrichtlinie für Protokollgruppen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs) im Thema CloudWatch Protokolle.

### Beispiel für ein Zugriffsprotokoll, das an CloudWatch Logs gesendet wurde
<a name="example-access-logs-cwl"></a>

```
{ 
"date": "2024-11-14", 
"time": "21:34:06", 
"x-edge-location": "SOF50-P2", 
"asn": "16509", 
"timestamp(ms)": "1731620046814", 
"origin-fbl": "0.251", 
"origin-lbl": "0.251", 
"x-host-header": "d111111abcdef8.cloudfront.net", 
"cs(Cookie)": "examplecookie=value" 
}
```

## Senden von Protokollen an Firehose
<a name="send-logs-kinesis"></a>

Um Protokolle an Firehose zu senden, erstellen Sie einen Firehose-Bereitstellungsdatenstrom oder verwenden Sie einen bereits vorhandenen. Geben Sie dann den Firehose-Bereitstellungsdatenstrom als Protokollbereitstellungsziel an. Sie müssen einen Firehose-Bereitstellungsdatenstrom für die Region USA Ost (Nord-Virginia) us-east-1 angeben.

Weitere Informationen zum Erstellen eines Bereitstellungsdatenstroms finden Sie unter [Erstellen eines Bereitstellungsdatenstroms für Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html). 

Nach dem Erstellen Ihres Bereitstellungsdatenstroms benötigen Sie die erforderlichen Berechtigungen zur Ausführung der Standardprotokollierung. Weitere Informationen finden Sie unter An [Firehose gesendete Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-Firehose) im *Amazon CloudWatch Logs-Benutzerhandbuch*.

**Anmerkung**  
Wenn Sie den Namen des Firehose-Datenstroms angeben, verwenden Sie nur das Regex-Muster `[\w-]`. Weitere Informationen zur [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax)API-Operation finden Sie in der *Amazon CloudWatch Logs API-Referenz*.

### Beispiel für ein an Firehose gesendetes Zugriffsprotokoll
<a name="example-access-logs-firehose"></a>

```
{"date":"2024-11-15","time":"19:45:51","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699951183","origin-fbl":"0.254","origin-lbl":"0.254","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"}
{"date":"2024-11-15","time":"19:45:52","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699952950","origin-fbl":"0.125","origin-lbl":"0.125","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"}
```

## Senden von Protokollen an Amazon S3
<a name="send-logs-s3"></a>

Um Ihre Zugriffsprotokolle an Amazon S3 zu senden, erstellen Sie einen S3-Bucket oder verwenden Sie einen bereits vorhandenen. Wenn Sie die Anmeldung aktivieren CloudFront, geben Sie den Bucket-Namen an. Weitere Informationen zum Erstellen eines Buckets finden Sie unter [Erstellen von Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.

Nach dem Erstellen Ihres Buckets benötigen Sie die erforderlichen Berechtigungen zur Ausführung der Standardprotokollierung. Weitere Informationen finden Sie unter [An Amazon S3 gesendete Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-S3) im *Amazon CloudWatch Logs-Benutzerhandbuch*.
+ Nachdem Sie die Protokollierung aktiviert haben, AWS werden automatisch die erforderlichen Bucket-Richtlinien für Sie hinzugefügt.
+ Sie können auch S3-Buckets in den [Opt-In- AWS-Regionen](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) verwenden.

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

**Topics**
+ [

### Angeben eines S3-Buckets
](#prefix-s3-buckets)
+ [

### Partitionierung
](#partitioning)
+ [

### Hive-kompatibles Dateinamensformat
](#hive-compatible-file-name-format)
+ [

### Beispielpfade für Zugriffsprotokolle
](#bucket-path-examples)
+ [

### Beispiel eines an Amazon S3 gesendeten Zugriffsprotokolls
](#example-access-logs-s3)

### Angeben eines S3-Buckets
<a name="prefix-s3-buckets"></a>

Beachten Sie Folgendes, wenn Sie einen S3-Bucket als Bereitstellungsziel angeben.

Der S3-Bucket-Name kann nur das Regex-Muster `[\w-]` verwenden. Weitere Informationen zur [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax)API-Operation finden Sie in der *Amazon CloudWatch Logs API-Referenz*.

Wenn Sie ein Präfix für Ihren S3-Bucket angegeben haben, werden Ihre Protokolle unter diesem Pfad angezeigt. Wenn Sie kein Präfix angeben, CloudFront wird das `AWSLogs/{account-id}/CloudFront` Präfix automatisch für Sie angehängt. 

Weitere Informationen finden Sie unter [Beispielpfade für Zugriffsprotokolle](#bucket-path-examples).

### Partitionierung
<a name="partitioning"></a>

Sie können die Partitionierung verwenden, um Ihre Zugriffsprotokolle zu organisieren, wenn sie CloudFront an Ihren S3-Bucket gesendet werden. Dies hilft Ihnen, Ihre Zugriffsprotokolle auf der Grundlage des von Ihnen gewünschten Pfads zu organisieren und zu finden.

Sie können die folgenden Variablen verwenden, um einen Ordnerpfad zu erstellen.
+ `{DistributionId}` oder `{distributionid}`
+ `{yyyy}`
+ `{MM}`
+ `{dd}`
+ `{HH}`
+ `{accountid}`

Sie können eine beliebige Anzahl von Variablen verwenden und Ordnernamen in Ihrem Pfad angeben. CloudFrontverwendet dann diesen Pfad, um eine Ordnerstruktur für Sie im S3-Bucket zu erstellen.

**Beispiele**
+ `my_distribution_log_data/{DistributionId}/logs`
+ `/cloudfront/{DistributionId}/my_distribution_log_data/{yyyy}/{MM}/{dd}/{HH}/logs `

**Anmerkung**  
 Sie können eine der beiden Variablen für die Distributions-ID im Suffixpfad verwenden. Wenn Sie jedoch Zugriffsprotokolle an senden, müssen Sie die `{distributionid}` Variable verwenden AWS Glue, da AWS Glue erwartet wird, dass Partitionsnamen in Kleinbuchstaben geschrieben werden. Aktualisieren Sie Ihre bestehende Protokollkonfiguration, um CloudFront sie durch zu `{DistributionId}` ersetzen`{distributionid}`. 

### Hive-kompatibles Dateinamensformat
<a name="hive-compatible-file-name-format"></a>

Sie können diese Option verwenden, damit S3-Objekte, die bereitgestellte Zugriffsprotokolle enthalten, eine Präfixstruktur verwenden, die die Integration mit Apache Hive ermöglicht. Weitere Informationen finden Sie unter [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html)-API-Operation.

**Example Beispiel**  

```
/cloudfront/DistributionId={DistributionId}/my_distribution_log_data/year={yyyy}/month={MM}/day={dd}/hour={HH}/logs
```

Weitere Informationen zur Partitionierung und zu den Hive-kompatiblen Optionen finden Sie unter dem [DeliveryConfigurationS3-Element](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html) in der *Amazon CloudWatch Logs API-Referenz*.

### Beispielpfade für Zugriffsprotokolle
<a name="bucket-path-examples"></a>

Wenn Sie einen S3-Bucket als Ziel angeben, können Sie die folgenden Optionen verwenden, um den Pfad zu Ihren Zugriffsprotokollen zu erstellen:
+ Ein Amazon-S3-Bucket mit oder ohne Präfix
+ Partitionierung, indem Sie eine CloudFront bereitgestellte Variable verwenden oder eine eigene eingeben
+ Aktivieren der Hive-Kompatibilität

Die folgenden Tabellen zeigen, wie Ihre Zugriffsprotokolle in Ihrem Bucket angezeigt werden, abhängig von den ausgewählten Optionen.

#### Amazon-S3-Bucket mit Präfix
<a name="bucket-with-prefix"></a>


| Name des Amazon-S3-Buckets | Im Suffixpfad angegebene Partition | Aktualisierter Suffixpfad | Hive-Kompatibilität aktiviert? | Zugriffsprotokolle werden gesendet an | 
| --- | --- | --- | --- | --- | 
| amzn-s3-demo-bucket/MyLogPrefix | Keine | Keine | Nein | amzn-s3-demo-bucket/MyLogPrefix/ | 
| amzn-s3-demo-bucket/MyLogPrefix | myFolderA/ | myFolderA/ | Nein | amzn-s3-demo-bucket/MyLogPrefix/myFolderA/ | 
| amzn-s3-demo-bucket/MyLogPrefix | myFolderA/\$1yyyy\$1 | myFolderA/\$1yyyy\$1 | Ja | amzn-s3-demo-bucket/MyLogPrefix/myFolderA/year=2025 | 

#### Amazon-S3-Bucket ohne Präfix
<a name="bucket-without-prefix"></a>


| Name des Amazon-S3-Buckets | Im Suffixpfad angegebene Partition | Aktualisierter Suffixpfad | Hive-Kompatibilität aktiviert? | Zugriffsprotokolle werden gesendet an | 
| --- | --- | --- | --- | --- | 
| amzn-s3-demo-bucket | Keine | AWSLogs/\$1account-id\$1/CloudFront/ | Nein | amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/ | 
| amzn-s3-demo-bucket | myFolderA/ | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/ | Nein | amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/myFolderA/ | 
| amzn-s3-demo-bucket | myFolderA/ | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/ | Ja | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/ | 
| amzn-s3-demo-bucket | myFolderA/\$1yyyy\$1 | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/\$1yyyy\$1 | Ja | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/year=2025 | 

#### AWS-Konto ID als Partition
<a name="bucket-account-id-partition"></a>


| Name des Amazon-S3-Buckets | Im Suffixpfad angegebene Partition | Aktualisierter Suffixpfad | Hive-Kompatibilität aktiviert? | Zugriffsprotokolle werden gesendet an | 
| --- | --- | --- | --- | --- | 
| amzn-s3-demo-bucket | Keine | AWSLogs/\$1account-id\$1/CloudFront/ | Ja | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/ | 
| amzn-s3-demo-bucket | myFolderA/\$1accountid\$1 | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/\$1accountid\$1 | Ja | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/accountid=<your-account-ID> | 

**Hinweise**  
Die `{account-id}` Variable ist reserviert für CloudFront. CloudFrontfügt diese Variable automatisch zu Ihrem Suffixpfad hinzu, wenn Sie einen Amazon S3 S3-Bucket *ohne* Präfix angeben. Wenn Ihre Protokolle Hive-kompatibel sind, wird diese Variable als `aws-account-id` angezeigt.
Sie können die `{accountid}` Variable verwenden, CloudFront um Ihre Konto-ID zum Suffixpfad hinzuzufügen. Wenn Ihre Protokolle Hive-kompatibel sind, wird diese Variable als `accountid` angezeigt.
[Weitere Informationen zum Suffixpfad finden Sie unter S3. DeliveryConfiguration](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html)

### Beispiel eines an Amazon S3 gesendeten Zugriffsprotokolls
<a name="example-access-logs-s3"></a>

```
#Fields: date time x-edge-location asn timestamp(ms) x-host-header cs(Cookie)
2024-11-14    22:30:25    SOF50-P2    16509    1731623425421    
d111111abcdef8.cloudfront.net    examplecookie=value2
```

## Deaktivieren der Standardprotokollierung
<a name="delete-standard-log-destination"></a>

Sie können die Standardprotokollierung für Ihre Distribution deaktivieren, wenn Sie sie nicht mehr benötigen.

**So deaktivieren Sie die Standardprotokollierung**

1. Melden Sie sich in der CloudFront -Konsole an.

1. Wählen Sie **Distribution** und dann Ihre Distributions-ID aus. 

1. Wählen Sie **Protokollierung** und wählen Sie dann unter **Zugriffsprotokollziele** das Ziel aus.

1. Wählen Sie **Verwalten** und dann **Löschen** aus.

1. Wiederholen Sie den vorherigen Schritt, wenn Sie mehr als eine Standardprotokollierung haben.

**Anmerkung**  
Wenn Sie die Standardprotokollierung aus der CloudFront Konsole löschen, werden durch diese Aktion nur die Lieferung und das Übermittlungsziel gelöscht. Die Lieferquelle wird dadurch nicht aus Ihrer AWS-Konto gelöscht. Um eine Bereitstellungsquelle zu löschen, geben Sie den Namen der Bereitstellungsquelle im Befehl `aws logs delete-delivery-source --name DeliverySourceName` an. Weitere Informationen finden Sie [DeleteDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliverySource.html)in der *Amazon CloudWatch Logs API-Referenz*.

## Fehlerbehebung
<a name="troubleshooting-access-logs-v2"></a>

Verwenden Sie die folgenden Informationen, um häufig auftretende Probleme zu beheben, wenn Sie mit der CloudFront Standardprotokollierung (v2) arbeiten.

### Bereitstellungsquelle bereits vorhanden
<a name="access-logging-resource-already-used"></a>

Wenn Sie die Standardprotokollierung für eine Distribution aktivieren, erstellen Sie eine Bereitstellungsquelle. Anschließend verwenden Sie diese Versandquelle, um Lieferungen an den gewünschten Zieltyp zu erstellen: CloudWatch Logs, Firehose, Amazon S3. Derzeit ist nur eine Bereitstellungsquelle pro Distribution möglich. Wenn Sie versuchen, eine weitere Bereitstellungsquelle für dieselbe Distribution zu erstellen, wird die folgende Fehlermeldung angezeigt.

```
This ResourceId has already been used in another Delivery Source in this account
```

Um eine weitere Bereitstellungsquelle zu erstellen, löschen Sie zuerst die vorhandene. Weitere Informationen finden Sie [DeleteDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliverySource.html)in der *Amazon CloudWatch Logs API-Referenz*.

### Ich habe den Suffixpfad geändert und der Amazon-S3-Bucket kann meine Protokolle nicht empfangen
<a name="access-logging-s3-permission"></a>

Wenn Sie die Standardprotokollierung (v2) aktiviert haben und einen Bucket-ARN ohne Präfix angeben, CloudFront wird der folgende Standard an den Suffixpfad angehängt:. `AWSLogs/{account-id}/CloudFront` Wenn Sie die CloudFront Konsole oder den [UpdateDeliveryConfiguration](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UpdateDeliveryConfiguration.html)API-Vorgang verwenden, um einen anderen Suffixpfad anzugeben, müssen Sie die Amazon S3 S3-Bucket-Richtlinie aktualisieren, sodass sie denselben Pfad verwendet.

**Example Beispiel: Aktualisieren des Suffixpfads**  

1. Ihr Standard-Suffixpfad ist `AWSLogs/{account-id}/CloudFront` und Sie ersetzen ihn durch `myFolderA`. 

1. Da sich Ihr neuer Suffixpfad von dem in der Richtlinie für den Amazon-S3-Bucket angegebenen Pfad unterscheidet, werden Ihre Zugriffsprotokolle nicht übermittelt.

1. Sie können einen der folgenden Schritte ausführen:
   + Aktualisieren Sie die Berechtigung des Amazon-S3-Buckets von `amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/*` auf `amzn-s3-demo-bucket/myFolderA/*`.
   + Aktualisieren Sie Ihre Protokollierungskonfiguration, um wieder das Standardsuffix `AWSLogs/{account-id}/CloudFront` zu verwenden. 
Weitere Informationen finden Sie unter [Berechtigungen](#permissions-standard-logging).

## Löschen von Protokolldateien
<a name="standard-logs-v2-delete"></a>

CloudFront löscht Protokolldateien nicht automatisch von Ihrem Ziel. Weitere Informationen zum Löschen von Protokolldateien finden Sie in den folgenden Themen:

**Amazon S3**
+ [Löschen von Objekten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html) im *Konsolen-Benutzerhandbuch für Amazon Simple Storage Service*

**CloudWatch Logs**
+ [Arbeiten mit Protokollgruppen und Protokollstreams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) im *Amazon CloudWatch Logs-Benutzerhandbuch*
+ [DeleteLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteLogGroup.html)in der *Amazon CloudWatch Logs API-Referenz*

**Firehose**
+ [DeleteDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_DeleteDeliveryStream.html)in der *Amazon Data Firehose API-Referenz*

## Preisgestaltung
<a name="pricing-standard-logs"></a>

CloudFront berechnet keine Gebühren für die Aktivierung von Standardprotokollen. Je nach dem von Ihnen ausgewählten Ziel für die Protokollbereitstellung können jedoch Gebühren für die Bereitstellung, Erfassung, Speicherung oder den Zugriff anfallen. Weitere Informationen finden Sie unter [Amazon CloudWatch Logs Pricing](https://aws.amazon.com/cloudwatch/pricing/). Wählen Sie unter **Kostenpflichtiges Kontingent** die Registerkarte **Protokolle** und konsultieren Sie die Informationen zum jeweiligen Bereitstellungsziel unter **Verkaufte Protokolle**.

Weitere Informationen zu den jeweiligen AWS-Service Preisen finden Sie in den folgenden Themen:
+ [Amazon CloudWatch Logs — Preise](https://aws.amazon.com/cloudwatch/pricing/)
+ [Amazon Data Firehose – Preise](https://aws.amazon.com/kinesis/data-firehose/pricing/)
+ [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing/) 
**Anmerkung**  
Für die Übertragung von Protokolldateien an Amazon S3 fallen keine zusätzlichen Gebühren an, obwohl Ihnen Amazon S3 Gebühren für die Speicherung und den Zugriff auf die Protokolldateien berechnet. Wenn Sie die **Parquet-Option** aktivieren, um Ihre Zugriffsprotokolle in Apache Parquet zu konvertieren, fallen für diese Option CloudWatch Gebühren an. Weitere Informationen zur Preisgestaltung finden Sie im [Abschnitt Vending Logs](https://aws.amazon.com/cloudwatch/pricing/). CloudWatch 

# Konfigurieren der Standardprotokollierung (Legacy)
<a name="standard-logging-legacy-s3"></a>

**Hinweise**  
Dieses Thema bezieht sich auf die vorherige Version der Standardprotokollierung. Informationen zur neuesten Version finden Sie unter [Konfigurieren der Standardprotokollierung (v2)](standard-logging.md).
Wenn Sie die Standardprotokollierung (Legacy) bereits aktiviert haben und die Standardprotokollierung (v2) für Amazon S3 aktivieren möchten, empfehlen wir Ihnen, einen *anderen* Amazon-S3-Bucket anzugeben oder einen *separaten Pfad* in demselben Bucket zu verwenden (z. B. ein Protokollpräfix oder eine Partitionierung zu verwenden). Auf diese Weise behalten Sie den Überblick darüber, welche Protokolldateien mit welcher Distribution verknüpft sind, und es wird verhindert, dass sich Protokolldateien gegenseitig überschreiben.

Führen Sie für den Einstieg in die Standardprotokollierung (Legacy) die folgenden Schritte aus:

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

1. Konfigurieren Sie die Standardprotokollierung (Legacy) über die CloudFront-Konsole oder die CloudFront-API. Sie können nur einen Amazon-S3-Bucket zum Empfang Ihrer Protokolle auswählen.

1. Zeigen Sie Ihre Zugriffsprotokolle an.

## Auswählen eines Amazon-S3-Buckets für Standardprotokolle
<a name="access-logs-choosing-s3-bucket"></a>

Beim Aktivieren der Protokollierung für eine Verteilung geben Sie auch den Amazon S3-Bucket an, in dem CloudFront die Protokolldatei speichern soll. Wenn Sie Amazon S3 als Ursprung verwenden, empfehlen wir, einen *separaten* Bucket für Ihre Protokolldateien zu verwenden.

Wählen Sie den Amazon-S3-Bucket aus, in dem CloudFront Zugriffsprotokolle speichern soll, z. B. `amzn-s3-demo-bucket.s3.amazonaws.com`.

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.

**Informationen zur Auswahl eines S3-Buckets**  
Für Ihren Bucket muss die Zugriffssteuerungsliste (ACL) aktiviert sein. Wenn Sie in der CloudFront-Konsole einen Bucket ohne aktivierte ACL auswählen, wird eine Fehlermeldung angezeigt. Siehe [Berechtigungen](#AccessLogsBucketAndFileOwnership).
Wählen Sie keinen Amazon-S3-Bucket, wenn [S3-Objekteigentümerschaft](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) auf **Bucket-Eigentümer erzwungen** festgelegt ist. Diese Einstellung deaktiviert ACLs für den Bucket und die darin enthaltenen Objekte, wodurch verhindert wird, dass CloudFront Protokolldateien an den Bucket übermittelt.
Wählen Sie keinen Amazon-S3-Bucket in den folgenden AWS-Regionen aus. CloudFront stellt keine Standardprotokolle für Buckets in diesen Regionen bereit:  
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
<a name="AccessLogsBucketAndFileOwnership"></a>

**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 ACLs aktivieren, wenn Sie [einen Bucket erstellen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-new-bucket.html), oder ACLs für einen [vorhandenen Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html) aktivieren.  
Weitere Informationen zu den Änderungen finden Sie unter [Häufig gestellte Fragen zu Standardeinstellungen für neue S3-Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-faq.html) im *Benutzerhandbuch zu Amazon Simple Storage Service* und unter [Achtung: Sicherheitsänderungen in Amazon S3 im April 2023](https://aws.amazon.com/blogs/aws/heads-up-amazon-s3-security-changes-are-coming-in-april-of-2023/) im *AWS News-Blog*.

Ihr AWS-Konto muss über die folgenden Berechtigungen für den Bucket verfügen, den Sie für die Protokolldateien angegeben haben:
+ Die ACL muss Ihnen `FULL_CONTROL` für den Bucket gewähren. 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 Verteilung erstellen oder aktualisieren und die Protokollierung aktivieren, verwendet CloudFront diese Berechtigungen bei der Aktualisierung der ACL für den Bucket, um dem `awslogsdelivery`-Konto die `FULL_CONTROL`-Berechtigung zu gewähren. 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 CloudFront so konfiguriert haben, dass Zugriffsprotokolle in einem S3-Bucket gespeichert werden, und Sie keine Protokolle mehr in diesem Bucket erhalten, dann prüfen Sie die Berechtigungen für diesen Bucket und stellen Sie sicher, dass 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 CloudFront zu ermöglichen, wieder Protokolle für Ihre Verteilung zu speichern, stellen Sie die ACL-Berechtigung wieder her, indem Sie einen der folgenden Schritte ausführen:  
+ Deaktivieren Sie die Protokollierung für Ihre Verteilung in CloudFront und aktivieren Sie sie dann wieder. Weitere Informationen finden Sie unter [Standardprotokollierung](DownloadDistValuesGeneral.md#DownloadDistValuesLoggingOnOff).
+ 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 von ACLs zu S3-Buckets finden Sie unter [Konfigurieren von ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.

**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, löscht CloudFront weder die ACLs für den Bucket noch die für die Protokolldateien. Sie können die ACLs bei Bedarf löschen.

### Erforderliche Schlüsselrichtlinie für SSE-KMS Buckets
<a name="AccessLogsKMSPermissions"></a>

Wenn der S3-Bucket für Ihre Standardprotokolle serverseitige Verschlüsselung mit AWS KMS keys (SSE-KMS) unter Verwendung eines kundenseitig verwalteten Schlüssels verwendet, müssen Sie der Schlüsselrichtlinie für Ihren kundenseitig verwalteten Schlüssel die folgende Anweisung hinzufügen: Dies ermöglicht es CloudFront, Protokolldateien in den Bucket zu schreiben. Sie können SSE-KMS nicht mit dem Von AWS verwalteter Schlüssel verwenden, da CloudFront dann keine Protokolldateien in den Bucket schreiben kann.

```
{
    "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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html) verwendet, müssen Sie auch die `kms:Decrypt`-Berechtigung zur Richtlinienanweisung 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 kundenseitig verwalteten Schlüssel an. Weitere Informationen finden Sie unter [Festlegen einer serverseitigen Verschlüsselung mit AWS KMS keys (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html) im *Benutzerhandbuch von Amazon Simple Storage Service*.

## Aktivieren der Standardprotokollierung (Legacy)
<a name="standard-logs-legacy-enable"></a>

Zur Aktivierung von Standardprotokollen können Sie die CloudFront-Konsole oder die CloudFront-API verwenden.

**Contents**
+ [

### Aktivieren der Standardprotokollierung (Legacy) (CloudFront-Konsole)
](#standard-logs-legacy-enable-console)
+ [

### Aktivieren der Standardprotokollierung (Legacy) (CloudFront-API)
](#standard-logs-legacy-enable-api)

### Aktivieren der Standardprotokollierung (Legacy) (CloudFront-Konsole)
<a name="standard-logs-legacy-enable-console"></a>

**So aktivieren Sie Standardprotokolle für eine CloudFront-Distribution (Konsole)**

1. Verwenden Sie die CloudFront-Konsole, um eine [neue Distribution](distribution-web-creating-console.md) zu erstellen oder [eine bestehende zu aktualisieren](HowToUpdateDistribution.md#HowToUpdateDistributionProcedure).

1. Wählen Sie im Bereich **Standardprotokollierung** für die **Protokollbereitstellung** die Option **Ein** aus.

1. (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](DownloadDistValuesGeneral.md#DownloadDistValuesCookieLogging).
**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 Bereitstellungsziele überschreiben.

1. Im Abschnitt **Bereitstellen an** geben Sie **Amazon S3 (Legacy)** an.

1. Wählen Sie Ihren Amazon-S3-Bucket aus. Wenn Sie noch keinen haben, können Sie **Erstellen** auswählen oder die Dokumentation zum [Erstellen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) konsultieren.

1. (Optional) Geben Sie ggf. unter **Protokollpräfix** die Zeichenfolge an, die CloudFront den Dateinamen von Zugriffsprotokollen für diese Distribution als Präfix voranstellen soll, z. B. `exampleprefix/`. Der abschließende Schrägstrich (/) ist optional, jedoch empfohlen, um das Durchsuchen Ihrer Protokolldateien zu vereinfachen. Weitere Informationen finden Sie unter [Protokollpräfix](DownloadDistValuesGeneral.md#DownloadDistValuesLogPrefix).

1. Führen Sie die Schritte zum Aktualisieren oder Erstellen Ihrer Distribution aus.

1. Vergewissern Sie sich auf der Seite **Protokolle**, dass der Status der Standardprotokolle neben der Distribution **aktiviert** lautet.

   Weitere Informationen zur standardmäßigen Bereitstellung der Protokollierung und den Protokollfeldern finden Sie in der [Referenz zur Standardprotokollierung](standard-logs-reference.md).

### Aktivieren der Standardprotokollierung (Legacy) (CloudFront-API)
<a name="standard-logs-legacy-enable-api"></a>

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

**So aktivieren Sie Standardprotokolle für eine Distribution (CloudFront-API)**
+ Verwenden Sie den API-Vorgang [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) oder [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) und konfigurieren Sie das [LoggingConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_LoggingConfig.html)-Objekt.

## Bearbeiten der Standardprotokollierungseinstellungen
<a name="ChangeSettings"></a>

Sie können die Protokollierung aktivieren oder deaktivieren, den Amazon S3-Bucket ändern, in dem Ihre Protokolle gespeichert werden, und das Präfix für Protokolldateien ändern, indem Sie die [CloudFront-Konsole](https://console.aws.amazon.com/cloudfront/v4/home) 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 Verteilung über die CloudFront-Konsole finden Sie unter [Eine Verteilung aktualisieren](HowToUpdateDistribution.md).
+ Informationen zum Aktualisieren einer Verteilung mithilfe der CloudFront-API finden Sie unter [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) in der *Amazon CloudFront-API-Referenz*.

## Senden von Protokollen an Amazon S3
<a name="standard-logs-in-s3"></a>

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

### Dateinamenformat
<a name="AccessLogsFileNaming"></a>

CloudFront verwendet das folgende Dateinamenformat für die Protokolldateien, die in Ihrem Amazon S3-Bucket gespeichert werden:

`<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 Protokolldatei-Präfix angeben und das Präfix nicht mit einem Schrägstrich (`/`) endet, hängt CloudFront automatisch einen an. Wenn Ihr Präfix mit einem Schrägstrich endet, fügt CloudFront keinen weiteren hinzu.

`.gz` am Ende des Dateinamens zeigt an, dass CloudFront die Protokolldatei mithilfe von gzip komprimiert hat.

## Dateiformat des Standardprotokolls
<a name="LogFileFormat"></a>

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](https://www.w3.org/TR/WD-logfile.html).
+ 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](https://tools.ietf.org/html/rfc1738.html) definiert.


|  URL-codierter Wert  |  Zeichen  | 
| --- | --- | 
|  %3C  |  <  | 
|  %3E  |  >  | 
|  %22  |  "  | 
|  %23  |  \$1  | 
|  %25  |  %  | 
|  %7B  |  \$1  | 
|  %7D  |  \$1  | 
|  %7C  |  \$1  | 
|  %5C  |  \$1  | 
|  %5E  |  ^  | 
|  %7E  |  \$1  | 
|  %5B  |  [  | 
|  %5D  |  ]  | 
|  %60  |  `  | 
|  %27  |  '  | 
|  %20  |  Leerzeichen  | 

## Löschen von Protokolldateien
<a name="DeletingLogFiles"></a>

CloudFront löscht Protokolldateien nicht automatisch aus Ihrem Amazon-S3-Bucket. Informationen zum Löschen von Protokolldateien aus einem Amazon-S3-Bucket finden Sie unter [Löschen von Objekten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html) im *Konsolen-Benutzerhandbuch für Amazon Simple Storage Service*.

## Preisgestaltung
<a name="AccessLogsCharges"></a>

Die Standardprotokollierung ist eine optionale Funktion von CloudFront. CloudFront erhebt keine Gebühren für die Aktivierung von Standardprotokollen. Sie müssen jedoch die normalen Amazon-S3-Gebühren für das Speichern und den Zugriff auf die Dateien in Amazon S3 entrichten. Sie können sie jederzeit löschen.

Weitere Informationen zu Preisen finden Sie unter [Amazon S3-Preise](https://aws.amazon.com/s3/pricing/).

Weitere Informationen zu CloudFront-Preisen finden Sie unter [CloudFront-Preise](https://aws.amazon.com/cloudfront/pricing/).

# Referenz zur Standardprotokollierung
<a name="standard-logs-reference"></a>

Die folgenden Abschnitte gelten sowohl für die Standardprotokollierung (v2) als auch für die Standardprotokollierung (Legacy).

**Topics**
+ [

## Zeitrahmen für die Übermittlung von Protokolldateien
](#access-logs-timing)
+ [

## Protokollierung von Anforderungen, wenn Anforderungs-URL oder Header die maximale Größe überschreiten
](#access-logs-request-URL-size)
+ [

## Felder der Protokolldatei
](#BasicDistributionFileFormat)
+ [

## Analysieren von Protokollen
](#access-logs-analyzing)

## Zeitrahmen für die Übermittlung von Protokolldateien
<a name="access-logs-timing"></a>

CloudFront liefert Protokolle für eine Verteilung bis zu mehrmals pro Stunde. Im Allgemeinen enthält eine Protokolldatei Informationen über die Anfragen, die während eines bestimmten Zeitraums CloudFront eingegangen sind. CloudFront In der Regel wird die Protokolldatei für diesen Zeitraum innerhalb einer Stunde nach den Ereignissen, die im Protokoll aufgeführt sind, an Ihr Ziel gesendet. Beachten Sie jedoch, dass einige oder auch alle Protokolldateieinträge für einen bestimmten Zeitraum manchmal mit einer Verzögerung von bis zu 24 Stunden übermittelt werden können. Wenn Protokolleinträge verzögert werden, werden sie in einer Protokolldatei CloudFront gespeichert, deren Dateiname das Datum und die Uhrzeit des Zeitraums enthält, in dem die Anfragen *aufgetreten sind*, nicht das Datum und die Uhrzeit der Zustellung der Datei.

Bei der Erstellung einer Protokolldatei werden Informationen für Ihre Verteilung von allen Edge-Standorten CloudFront konsolidiert, die während des Zeitraums, den die Protokolldatei abdeckt, Anfragen für Ihre Objekte erhalten haben.

CloudFront kann mehr als eine Datei für einen bestimmten Zeitraum speichern, je nachdem, wie viele Anfragen für CloudFront die mit einer Verteilung verknüpften Objekte eingehen.

CloudFront beginnt etwa vier Stunden, nachdem Sie die Protokollierung aktiviert haben, mit der zuverlässigen Bereitstellung von Zugriffsprotokollen. Möglicherweisen erhalten Sie ein paar Zugriffsprotokolle auch schon vorher.

**Anmerkung**  
Wenn während eines bestimmten Zeitraums Ihre Objekte nicht von Benutzern angefordert werden, erhalten Sie keine Protokolldateien für diesen Zeitraum.

## Protokollierung von Anforderungen, wenn Anforderungs-URL oder Header die maximale Größe überschreiten
<a name="access-logs-request-URL-size"></a>

Wenn die Gesamtgröße aller Anfrage-Header, einschließlich Cookies, 20 KB überschreitet oder wenn die URL die Größe von 8.192 Byte überschreitet, kann CloudFront die Anforderung nicht vollständig analysieren und die Anforderung nicht protokollieren. Da die Anfrage nicht protokolliert wird, wird in den Protokolldateien der HTTP-Fehler-Statuscode nicht zurückgegeben.

Wenn der Anfragetext die maximale Größe überschreitet, wird die Anfrage einschließlich des HTTP-Fehlerstatuscodes protokolliert.

## Felder der Protokolldatei
<a name="BasicDistributionFileFormat"></a>

Die Protokolldatei für eine Verteilung enthält 33 Felder. Die folgende Liste enthält jeden Feldnamen in der Reihenfolge sowie eine Beschreibung der Informationen in diesem Feld.

1. **`date`**

   Das Datum, an dem das Ereignis aufgetreten ist, im Format `YYYY-MM-DD`. Beispiel, `2019-06-30`. Datum und Uhrzeit entsprechen der Zeitzone UTC (Coordinated Universal Time). Bei WebSocket Verbindungen ist dies das Datum, an dem die Verbindung geschlossen wurde.

1. **`time`**

   Die Uhrzeit, zu der der CloudFront Server die Anfrage nicht mehr beantwortet hat (in UTC), zum Beispiel`01:42:39`. Bei WebSocket Verbindungen ist dies der Zeitpunkt, zu dem die Verbindung geschlossen wird.

1. **`x-edge-location`**

   Der Edge-Standort, an dem die Anfrage verarbeitet wurde. Jede Kantenposition wird durch einen aus drei Buchstaben bestehenden Code und eine willkürlich zugewiesene Zahl (z. B. DFW3) identifiziert. Der Code aus drei Buchstaben entspricht in der Regel dem Code der International Air Transport Association (IATA) für einen Flughafen in der Nähe des Edge-Standorts. (Diese Abkürzungen ändern sich möglicherweise in der Zukunft.)

1. **`sc-bytes`**

   Die Gesamtzahl der Bytes, die der Server als Antwort auf die Anforderung an den Viewer übermittelt hat, einschließlich Headern. Für WebSocket und gRPC-Verbindungen ist dies die Gesamtzahl der Byte, die vom Server über die Verbindung an den Client gesendet werden.

1. **`c-ip`**

   Die IP-Adresse des Betrachters, die der Anfrage gestellt hat, z. B. `192.0.2.183` oder `2001:0db8:85a3::8a2e:0370:7334`. Wenn der Viewer einen HTTP-Proxy oder eine Load Balancer verwendet hat, um die Anforderung zu senden, entspricht der Wert dieses Feldes der IP-Adresse des Proxys bzw. des Load Balancers. Siehe auch das Feld `x-forwarded-for`.

1. **`cs-method`**

   Die vom Viewer empfangene HTTP-Anforderungsmethode.

1. **`cs(Host)`**

   Der Domainname der CloudFront Distribution (z. B. d111111abcdef8.cloudfront.net).

1. **`cs-uri-stem`**

   Der Teil der Anforderungs-URL, der den Pfad und das Objekt identifiziert (z. B, `/images/cat.jpg`). Fragezeichen (?) In URLs - und Query-Strings sind nicht im Protokoll enthalten.

1. **`sc-status`**

   Enthält einen der folgenden Werte:
   + Den HTTP-Statuscode der Antwort des Servers (z. B. `200`).
   + `000`, was anzeigt, dass der Viewer die Verbindung geschlossen hat, bevor der Server auf die Anforderung antworten konnte. Wenn der Viewer die Verbindung schließt, nachdem der Server mit dem Senden der Antwort begonnen hat, enthält dieses Feld den HTTP-Statuscode der Antwort, mit deren Senden der Server begonnen hatte.

1. **`cs(Referer)`**

   Der Wert für den `Referer`-Header in der Anfrage. Der Name der Domäne, von der die Anforderung ausgegangen ist. Häufig vorkommende Referrer sind Suchmaschinen, andere Websites, die direkt auf Ihre Objekte verlinken, und Ihre eigene Website.

1. **`cs(User-Agent)`**

   Der Wert für den `User-Agent`-Header in der Anfrage. Der `User-Agent`-Header bezeichnet die Quelle für die Anforderung, z. B. den Gerätetyp und den Browser, der die Anforderung abgesendet hat, oder die Suchmaschine, wenn die Anforderung von einer Suchmaschine stammt.

1. **`cs-uri-query`**

   Der Teil der Anforderungs-URL mit der Abfragezeichenfolge, wenn vorhanden.

   Wenn eine URL keine Abfragezeichenfolge enthält, ist der Wert dieses Felds ein Bindestrich (-). Weitere Informationen finden Sie unter [Zwischenspeichern von Inhalten auf der Grundlage von Abfragezeichenfolgeparametern](QueryStringParameters.md).

1. **`cs(Cookie)`**

   Der `Cookie`-Header in der Anforderung einschließlich der Name-Wert-Paaren und zugehörigen Attributen.

   Wenn Sie die Cookie-Protokollierung aktivieren, werden die Cookies bei allen Anfragen CloudFront protokolliert, unabhängig davon, welche Cookies Sie an den Ursprung weiterleiten. Wenn eine Anforderung keinen Cookie-Header enthält, ist der Wert dieses Felds ein Bindestrich (-). Weitere Informationen zu Cookies finden Sie unter [Zwischenspeichern von Inhalten auf der Grundlage von Cookies](Cookies.md).

1. **`x-edge-result-type`**

   Art der Klassifizierung der Antwort durch den Server, nachdem das letzte Byte den Server verlassen hat. Manchmal wird der Ergebnistyp zwischen dem Zeitpunkt, an dem Server zum Senden der Antwort bereit ist, und dem Zeitpunkt, an dem er das Senden der Antwort abgeschlossen hat, geändert. Siehe auch das Feld `x-edge-response-result-type`.

   Angenommen, im HTTP-Streaming findet der Server ein Segment des Streams im Cache. In diesem Szenario würde der Wert dieses Feldes normalerweise sei `Hit`. Wenn der Viewer jedoch die Verbindung schließt, bevor der Server das ganze Segment übermittelt hat, ist der endgültige Ergebnistyp (und damit der Wert dieses Felds) `Error`.

   WebSocket und gRPC-Verbindungen haben `Miss` für dieses Feld den Wert von, da der Inhalt nicht zwischengespeichert werden kann und direkt an den Ursprung weitergeleitet wird.

   Mögliche Werte sind:
   + `Hit` – Der Server hat das Objekt aus dem Cache für den Betrachter bereitgestellt.
   + `RefreshHit` – Der Server hat das Objekt im Edge-Zwischenspeicher gefunden, es war jedoch abgelaufen. Daher nahm der Server Kontakt mit dem Ursprung auf, um zu überprüfen, ob der Zwischenspeicher die neueste Version des Objekts enthalten hatte.
   + `Miss` – Die Anforderung konnte nicht durch ein Objekt im Zwischenspeicher bedient werden. Daher hat der Server die Anforderung an den Ursprung weitergeleitet und das Ergebnis an den Betrachter ausgegeben.
   + `LimitExceeded`— Die Anfrage wurde abgelehnt, weil ein CloudFront Kontingent (früher als Limit bezeichnet) überschritten wurde.
   + `CapacityExceeded` – Der Server hat den HTTP-Statuscode 503 zurückgegeben, da er zum Zeitpunkt der Anforderung nicht über genügend Kapazitäten für die Bereitstellung des Objekts verfügte.
   + `Error` – In der Regel bedeutet dies, dass die Anforderung zu einem Client-Fehler (d. h. der Wert des Felds `sc-status` liegt im `4xx`-Bereich) oder zu einem Serverfehler geführt hat (d. h. der Wert des Felds `sc-status` liegt im `5xx`-Bereich). Wenn der Wert des Felds `sc-status` `200` oder wenn der Wert dieses Felds `Error` ist und der Wert des Felds `x-edge-response-result-type` nicht `Error` ist, war die HTTP-Anforderung erfolgreich. Die Client-Verbindung wurde jedoch getrennt, bevor alle Bytes empfangen wurden.
   + `Redirect` – Der Server hat den Betrachter entsprechend den Verteilungseinstellungen von HTTP zu HTTPS umgeleitet.
   + `LambdaExecutionError`— Die der Distribution zugeordnete Lambda @Edge -Funktion wurde aufgrund einer fehlerhaften Zuordnung, eines Funktionstimeouts, eines AWS Abhängigkeitsproblems oder eines anderen allgemeinen Verfügbarkeitsproblems nicht abgeschlossen.

1. **`x-edge-request-id`**

   Eine undurchsichtige Zeichenfolge, die eine Anfrage eindeutig identifiziert. CloudFront sendet diese Zeichenfolge auch im `x-amz-cf-id` Antwort-Header.

1. **`x-host-header`**

   Der Wert, den der Viewer in den `Host`-Header der Anforderung eingefügt hat. Wenn Sie den CloudFront Domainnamen in Ihrem Objekt verwenden URLs (z. B. d111111abcdef8.cloudfront.net), enthält dieses Feld diesen Domainnamen. Wenn Sie alternative Domainnamen (CNAMEs) in Ihrem Objekt verwenden URLs (z. B. www.example.com), enthält dieses Feld den alternativen Domainnamen.

   Wenn Sie alternative Domain-Namen verwenden, finden Sie unter `cs(Host)` in Feld 7 den Namen der Domain, die Ihrer Verteilung zugewiesen ist.

1. **`cs-protocol`**

   Das Protokoll der Viewer-Anforderung (`http`, `https`, `grpcs`, `ws` oder `wss`).

1. **`cs-bytes`**

   Die Gesamtzahl der Bytes an Daten, die in der Anforderung des Viewers einschließlich Headern enthalten sind. Für WebSocket und gRPC-Verbindungen ist dies die Gesamtzahl der Byte, die vom Client an den Server über die Verbindung gesendet wurden.

1. **`time-taken`**

   Die Anzahl der Sekunden (auf die Tausendstelsekunde genau, z. B. 0,082) ab dem Zeitpunkt, an dem der Server die Anforderung des Viewers empfängt, bis zu dem Zeitpunkt, an dem der Server das letzte Byte der Antwort in die Ausgabewarteschlange schreibt, wie auf dem Server gemessen. Aus der Perspektive der Viewers vergeht bis zum Empfang der gesamten Antwort aufgrund der Netzwerklatenz und des TCP-Puffervorgangs insgesamt mehr Zeit, als mit diesem Wert angegeben wird.

1. **`x-forwarded-for`**

   Wenn der Viewer einen HTTP-Proxy oder Load Balancer verwendet hat, um die Anforderung zu senden, entspricht der Wert des Felds `c-ip` der IP-Adresse des Proxys oder Load Balancers. In diesem Fall stellt dieses Feld die IP-Adresse des Viewers dar, von dem die Anfrage stammt. Dieses Feld kann mehrere durch Kommas getrennte IP-Adressen enthalten. Jede IP-Adresse kann eine IPv4 Adresse (zum Beispiel`192.0.2.183`) oder eine IPv6 Adresse (zum Beispiel`2001:0db8:85a3::8a2e:0370:7334`) sein.

   Wenn der Viewer keinen HTTP-Proxy oder Load Balancer verwendet hat, ist der Wert dieses Feldes ein Bindestrich (-).

1. **`ssl-protocol`**

   Wenn für die Anfrage HTTPS verwendet wurde, enthält dieses Feld das SSL/TLS Protokoll, das der Betrachter und der Server für die Übertragung der Anfrage und Antwort ausgehandelt haben. Eine Liste möglicher Werte finden Sie unter den unterstützten SSL/TLS Protokollen[Unterstützte Protokolle und Chiffren zwischen Zuschauern und CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

   Wenn als `cs-protocol` in Feld 17 `http` angegeben ist, ist der Wert für dieses Feld ein Bindestrich (-).

1. **`ssl-cipher`**

   Wenn für die Anfrage HTTPS verwendet wurde, enthält dieses Feld die SSL/TLS Chiffre, die der Betrachter und der Server für die Verschlüsselung der Anfrage und Antwort ausgehandelt haben. Eine Liste der möglichen Werte finden Sie unter den unterstützten SSL/TLS Verschlüsselungen. [Unterstützte Protokolle und Chiffren zwischen Zuschauern und CloudFront](secure-connections-supported-viewer-protocols-ciphers.md)

   Wenn als `cs-protocol` in Feld 17 `http` angegeben ist, ist der Wert für dieses Feld ein Bindestrich (-).

1. **`x-edge-response-result-type`**

   Die Art, wie der Server die Antwort direkt vor der Rücksendung der Antwort an den Viewer klassifiziert hat. Siehe auch das Feld `x-edge-result-type`. Mögliche Werte sind:
   + `Hit` – Der Server hat das Objekt aus dem Cache für den Betrachter bereitgestellt.
   + `RefreshHit` – Der Server hat das Objekt im Edge-Zwischenspeicher gefunden, es war jedoch abgelaufen. Daher nahm der Server Kontakt mit dem Ursprung auf, um zu überprüfen, ob der Zwischenspeicher die neueste Version des Objekts enthalten hatte.
   + `Miss` – Die Anforderung konnte nicht durch ein Objekt im Zwischenspeicher bedient werden. Daher hat der Server die Anforderung an den Ursprungs-Server weitergeleitet und das Ergebnis an den Betrachter ausgegeben.
   + `LimitExceeded`— Die Anfrage wurde abgelehnt, weil ein CloudFront Kontingent (früher als Limit bezeichnet) überschritten wurde.
   + `CapacityExceeded` – Der Server hat den Fehler 503 zurückgegeben, da er zum Zeitpunkt der Anforderung nicht über genügend Kapazitäten verfügte, um das Objekt bereitzustellen.
   + `Error` – In der Regel bedeutet dies, dass die Anforderung zu einem Client-Fehler (d. h. der Wert des Felds `sc-status` liegt im `4xx`-Bereich) oder zu einem Serverfehler geführt hat (d. h. der Wert des Felds `sc-status` liegt im `5xx`-Bereich).

     Wenn der Wert des Felds `x-edge-result-type` `Error` ist und der Wert dieses Felds nicht `Error` ist, wurde die Verbindung vor dem Abschluss des Downloads durch den Client getrennt.
   + `Redirect` – Der Server hat den Betrachter entsprechend den Verteilungseinstellungen von HTTP zu HTTPS umgeleitet.
   + `LambdaExecutionError`— Die der Distribution zugeordnete Lambda @Edge -Funktion wurde aufgrund einer fehlerhaften Zuordnung, eines Funktionstimeouts, eines AWS Abhängigkeitsproblems oder eines anderen allgemeinen Verfügbarkeitsproblems nicht abgeschlossen.

1. **`cs-protocol-version`**

   Die HTTP-Version, die der Viewer in der Anfrage angegeben hat: Mögliche Werte sind `HTTP/0.9`, `HTTP/1.0`, `HTTP/1.1`, `HTTP/2.0` und `HTTP/3.0`.

1. **`fle-status`**

   Wenn die [Verschlüsselung auf Feldebene](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) für eine Verteilung konfiguriert ist, enthält dieses Feld einen Code, der angibt, ob der Anforderungstext erfolgreich verarbeitet wurde. Wenn der Server den Anforderungstext erfolgreich verarbeitet, Werte in den angegebenen Feldern verschlüsselt und die Anforderung an den Ursprung weiterleitet, ist der Wert dieses Felds `Processed`. Der Wert von `x-edge-result-type` kann in diesem Fall immer noch auf einen clientseitigen oder serverseitigen Fehler hinweisen.

   Mögliche Werte für dieses Feld sind:
   + `ForwardedByContentType` – Der Server hat die Anforderung ohne Parsing oder Verschlüsselung an den Ursprung weitergeleitet, da kein Content-Typ konfiguriert wurde.
   + `ForwardedByQueryArgs` – Der Server hat die Anforderung ohne Parsing oder Verschlüsselung an den Ursprung weitergeleitet, da die Anforderung ein Abfrageargument enthält, das nicht in der Konfiguration für die Verschlüsselung auf Feldebene enthalten war.
   + `ForwardedDueToNoProfile` – Der Server hat die Anforderung ohne Parsing oder Verschlüsselung an den Ursprung weitergeleitet, da in der Konfiguration für die Verschlüsselung auf Feldebene kein Profil angegeben wurde.
   + `MalformedContentTypeClientError` – Der Server hat die Anforderung zurückgewiesen und einen HTTP-400-Statuscode an den Betrachter zurückgegeben, da der Wert des `Content-Type`-Headers ein ungültiges Format hatte.
   + `MalformedInputClientError` – Der Server hat die Anforderung zurückgewiesen und einen HTTP 400-Statuscode an den Betrachter zurückgegeben, da der Anforderungstext ein ungültiges Format hatte.
   + `MalformedQueryArgsClientError` – Der Server hat die Anforderung zurückgewiesen und einen HTTP-400-Statuscode an den Betrachter zurückgegeben, weil ein Abfrageargument leer war oder ein ungültiges Format hatte.
   + `RejectedByContentType` – Der Server hat die Anforderung zurückgewiesen und einen HTTP-400-Statuscode an den Betrachter zurückgegeben, da in der Konfiguration für die Verschlüsselung auf Feldebene kein Content-Typ angegeben wurde.
   + `RejectedByQueryArgs` – Der Server hat die Anforderung zurückgewiesen und einen HTTP-400-Statuscode an den Betrachter zurückgegeben, da in der Konfiguration für die Verschlüsselung auf Feldebene kein Abfrageargument angegeben wurde.
   + `ServerError` – Der Ursprungs-Server hat einen Fehler zurückgegeben.

   Wenn die Anforderung das Kontingent für die Verschlüsselung auf Feldebene überschreitet (früher als Limit bezeichnet), enthält dieses Feld einen der folgenden Fehlercodes und der Server gibt dem Viewer den HTTP-Statuscode 400 zurück. Eine Liste der aktuellen Kontingente für die Verschlüsselung auf Feldebene finden Sie unter [Kontingente für Verschlüsselung auf Feldebene](cloudfront-limits.md#limits-field-level-encryption).
   + `FieldLengthLimitClientError` – Ein Feld, das für die Verschlüsselung konfiguriert ist, hat die maximal zulässige Länge überschritten.
   + `FieldNumberLimitClientError` – Eine Anforderung, die die Verteilung verschlüsseln soll, enthält mehr Felder als zulässig.
   + `RequestLengthLimitClientError` – Die Länge des Anfragetexts hat die maximal zulässige Länge, wenn die Verschlüsselung auf Feldebene konfiguriert ist, überschritten.

   Wenn die Verschlüsselung auf Feldebene nicht für die Verteilung konfiguriert ist, ist der Wert dieses Feldes ein Bindestrich (-).

1. **`fle-encrypted-fields`**

   Die Anzahl der Felder für die [Verschlüsselung auf Feldebene](field-level-encryption.md), die der Server verschlüsselt und an den Ursprung weitergeleitet hat. CloudFront Server streamen die verarbeitete Anfrage an den Ursprung, während sie Daten verschlüsseln, sodass dieses Feld auch dann einen Wert haben kann, wenn der Wert von ein Fehler `fle-status` ist.

   Wenn die Verschlüsselung auf Feldebene nicht für die Verteilung konfiguriert ist, ist der Wert dieses Feldes ein Bindestrich (-).

1. **`c-port`**

   Die Portnummer der Anforderung des Viewers.

1. **`time-to-first-byte`**

   Die Anzahl der Sekunden zwischen dem Empfangen der Anforderung und dem Schreiben des ersten Bytes der Antwort, gemessen auf dem Server.

1. **`x-edge-detailed-result-type`**

   Dieses Feld enthält den gleichen Wert wie der Wert für das `x-edge-result-type`-Feld, außer in den folgenden Fällen:
   + Wenn das Objekt dem Viewer aus der [Origin-Shield](origin-shield.md)-Ebene bereitgestellt wurde, enthält dieses Feld `OriginShieldHit`.
   + Wenn sich das Objekt nicht im CloudFront Cache befand und die Antwort von einer [Lambda @Edge -Funktion für die ursprüngliche Anfrage](lambda-at-the-edge.md) generiert wurde, enthält `MissGeneratedResponse` dieses Feld.
   + Wenn der Wert des `x-edge-result-type`-Felds `Error` lautet, enthält dieses Feld einen der folgenden Werte mit weiteren Informationen zum Fehler:
     + `AbortedOrigin` – Der Server hat ein Problem mit dem Ursprung festgestellt.
     + `ClientCommError` – Die Antwort auf den Betrachter wurde aufgrund eines Kommunikationsproblems zwischen dem Server und dem Betrachter unterbrochen.
     + `ClientGeoBlocked` – Die Verteilung ist so konfiguriert, dass Anforderungen vom geografischen Standort des Viewers abgelehnt werden.
     + `ClientHungUpRequest` — Der Betrachter wurde beim Senden der Anfrage vorzeitig gestoppt.
     + `Error` – Es ist ein Fehler aufgetreten, dessen Fehlertyp zu keiner der anderen Kategorien passt. Dieser Fehlertyp kann auftreten, wenn der Server eine Fehlerantwort aus dem Cache ausgibt.
     + `InvalidRequest` – Der Server hat eine ungültige Anforderung vom Betrachter erhalten.
     + `InvalidRequestBlocked` — Der Zugriff auf die angeforderte Ressource ist blockiert.
     + `InvalidRequestCertificate`— Die Verteilung stimmt nicht mit dem SSL/TLS Zertifikat überein, für das die HTTPS-Verbindung hergestellt wurde.
     + `InvalidRequestHeader` – Die Anforderung enthielt einen ungültigen Header.
     + `InvalidRequestMethod` — Die Verteilung ist nicht für eine Verarbeitung der verwendeten HTTP-Anforderungsmethode konfiguriert. Dies kann vorkommen, wenn die Verteilung nur Anforderungen unterstützt, die zwischengespeichert werden können.
     + `OriginCommError` – Bei der Anforderung ist eine Zeitüberschreitung aufgetreten, während eine Verbindung mit dem Ursprung hergestellt wurde oder Daten aus dem Ursprung gelesen wurden.
     + `OriginConnectError` – Der Server konnte keine Verbindung zum Ursprung herstellen.
     + `OriginContentRangeLengthError` – Der `Content-Length`-Header in der Antwort des Ursprungs stimmt nicht mit der Länge im `Content-Range`-Header überein.
     + `OriginDnsError` – Der Server konnte den Domänennamen des Ursprungs nicht auflösen.
     + `OriginError` — Der Ursprung gab eine falsche Antwort zurück.
     + `OriginHeaderTooBigError` – Ein vom Ursprung zurückgegebener Header ist für eine Verarbeitung durch den Edge-Server zu groß.
     + `OriginInvalidResponseError` — Der Ursprung gab eine ungültige Antwort zurück.
     + `OriginReadError` – Der Server konnte nicht vom Ursprung lesen.
     + `OriginWriteError` – Der Server konnte nicht in den Ursprung schreiben.
     + `OriginZeroSizeObjectError` — Ein Nullgrößenobjekt, das vom Ursprung gesendet wurde, führte zu einem Fehler.
     + `SlowReaderOriginError` — Der Betrachter hat die Nachricht, die den Ursprungsfehler verursacht hat, nur langsam gelesen.

1. **`sc-content-type`**

   Der Wert des HTTP `Content-Type`-Headers der Antwort.

1. **`sc-content-len`**

   Der Wert des HTTP `Content-Length`-Headers der Antwort.

1. **`sc-range-start`**

   Wenn die Antwort den HTTP `Content-Range`-Header enthält, enthält dieses Feld den Bereichsstartwert.

1. **`sc-range-end`**

   Wenn die Antwort den HTTP `Content-Range`-Header enthält, enthält dieses Feld den Bereichsendwert.

1. **`distribution-tenant-id`**

   Die ID des Distributionsmandanten.

1. **`connection-id`**

   Eine eindeutige Kennung für die TLS-Verbindung. 

   Sie müssen mTLS für Ihre Distributionen aktivieren, bevor Sie Informationen für dieses Feld abrufen können. Weitere Informationen finden Sie unter [Gegenseitige TLS-Authentifizierung mit CloudFront (Viewer mTLS)Mutual TLS (Herkunft) mit CloudFront](mtls-authentication.md).

   

Es folgt eine Beispielprotokolldatei für eine Distribution.

```
#Version: 1.0
#Fields: date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs(Referer) cs(User-Agent) cs-uri-query cs(Cookie) x-edge-result-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken x-forwarded-for ssl-protocol ssl-cipher x-edge-response-result-type cs-protocol-version fle-status fle-encrypted-fields c-port time-to-first-byte x-edge-detailed-result-type sc-content-type sc-content-len sc-range-start sc-range-end
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	SOX4xwn4XV6Q4rgb7XiVGOHms_BGlTAC4KyHmureZmBNrjGdRLiNIQ==	d111111abcdef8.cloudfront.net	https	23	0.001	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.001	Hit	text/html	78	-	-
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	k6WGMNkEzR5BEM_SaF47gjtX9zBDO2m349OY2an0QPEaUum1ZOLrow==	d111111abcdef8.cloudfront.net	https	23	0.000	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.000	Hit	text/html	78	-	-
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	f37nTMVvnKvV2ZSvEsivup_c2kZ7VXzYdjC-GUQZ5qNs-89BlWazbw==	d111111abcdef8.cloudfront.net	https	23	0.001	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.001	Hit	text/html	78	-	-	
2019-12-13	22:36:27	SEA19-C1	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/favicon.ico	502	http://www.example.com/	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Error	1pkpNfBQ39sYMnjjUQjmH2w1wdJnbHYTbag21o_3OfcQgPzdL2RSSQ==	www.example.com	http	675	0.102	-	-	-	Error	HTTP/1.1	-	-	25260	0.102	OriginDnsError	text/html	507	-	-
2019-12-13	22:36:26	SEA19-C1	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/	502	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Error	3AqrZGCnF_g0-5KOvfA7c9XLcf4YGvMFSeFdIetR1N_2y8jSis8Zxg==	www.example.com	http	735	0.107	-	-	-	Error	HTTP/1.1	-	-	3802	0.107	OriginDnsError	text/html	507	-	-
2019-12-13	22:37:02	SEA19-C2	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/	502	-	curl/7.55.1	-	-	Error	kBkDzGnceVtWHqSCqBUqtA_cEs2T3tFUBbnBNkB9El_uVRhHgcZfcw==	www.example.com	http	387	0.103	-	-	-	Error	HTTP/1.1	-	-	12644	0.103	OriginDnsError	text/html	507	-	-
```

## Analysieren von Protokollen
<a name="access-logs-analyzing"></a>

Da Sie mehrere Zugriffsprotokolle pro Stunde erhalten können, empfehlen wir, alle für einen bestimmten Zeitraum erhaltenen Protokolldateien in einer Datei zusammenzufassen. Sie können die Daten für diesen Zeitraum dann genauer und vollständig analysieren.

Eine Möglichkeit, Ihre Zugriffsprotokolle zu analysieren, ist die Verwendung von [Amazon Athena](https://aws.amazon.com/athena/);. Athena ist ein interaktiver Abfragedienst, mit dem Sie Daten für AWS Dienste analysieren können, darunter CloudFront. Weitere Informationen finden Sie unter [Abfragen von CloudFront Amazon-Protokollen](https://docs.aws.amazon.com/athena/latest/ug/cloudfront-logs.html) im *Amazon Athena-Benutzerhandbuch*.

Darüber hinaus werden in den folgenden AWS Blogbeiträgen einige Möglichkeiten zur Analyse von Zugriffsprotokollen erörtert.
+ [ CloudFront Amazon-Anforderungsprotokollierung](https://aws.amazon.com/blogs/aws/amazon-cloudfront-request-logging/) (für Inhalte, die über HTTP geliefert werden)
+ [Verbesserte CloudFront Protokolle, jetzt mit Abfragezeichenfolgen](https://aws.amazon.com/blogs/aws/enhanced-cloudfront-logs-now-with-query-strings/)