Aktivieren der Zugriffsprotokolle für Ihren Application Load Balancer - Elastic Load Balancing

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.

Aktivieren der Zugriffsprotokolle für Ihren Application Load Balancer

Wenn Sie die Zugriffsprotokolle für Ihren Load Balancer aktivieren, müssen Sie den Namen des S3-Bucket angeben, in dem der Load Balancer die Protokolle speichert. Der Bucket muss über eine Bucket-Richtlinie verfügen, die Elastic Load Balancing die Berechtigung zum Schreiben in den Bucket gewährt.

Schritt 1: Einen S3-Bucket erstellen

Wenn Sie Zugriffsprotokolle aktivieren, müssen Sie einen S3-Bucket für die Zugriffsprotokolle angeben. Sie können einen vorhandenen Bucket verwenden oder einen Bucket speziell für Zugriffsprotokolle erstellen. Der Bucket muss die folgenden Anforderungen erfüllen.

Voraussetzungen
  • Der Bucket muss sich in derselben Region wie der Load Balancer befinden. Der Bucket und der Load Balancer können verschiedenen Konten gehören.

  • Die einzige serverseitige Verschlüsselungsoption, die unterstützt wird, sind von Amazon S3 verwaltete Schlüssel (SSE-S3). Weitere Informationen finden Sie unter Von Amazon S3 verwaltete Verschlüsselungsschlüssel (SSE-S3).

Erstellen eines S3-Buckets mithilfe der Amazon-S3-Konsole
  1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie Bucket erstellen aus.

  3. Führen Sie auf der Seite Create bucket (Bucket erstellen) die folgenden Schritte aus:

    1. Geben Sie unter Bucket Name (Bucket-Name) einen Namen für den Bucket ein. Dieser Name muss unter den in Amazon S3 vorhandenen Bucket-Namen eindeutig sein. In einigen Regionen kann es zusätzliche Einschränkungen für Bucket-Namen geben. Weitere Informationen finden Sie unter Bucket-Einschränkungen und -Limits im Benutzerhandbuch zu Amazon Simple Storage Service.

    2. Wählen Sie unter AWS -Region die Region aus, in der Sie Ihren Load Balancer erstellt haben.

    3. Wählen Sie für Standardverschlüsselung Amazon S3-managed Keys (SSE-S3).

    4. Wählen Sie Bucket erstellen aus.

Schritt 2: Hinzufügen von Richtlinien zu Ihrem S3-Bucket

Der S3-Bucket muss über eine Bucket-Richtlinie verfügen, die Elastic Load Balancing die Berechtigung zum Schreiben von Zugriffsprotokollen in den Bucket gewährt. Bucket-Richtlinien sind eine Sammlung von JSON Anweisungen, die in der Sprache der Zugriffsrichtlinien verfasst wurden, um Zugriffsberechtigungen für Ihren Bucket zu definieren. Jeder Anweisung enthält Informationen über eine einzelne Berechtigung und besteht aus einer Reihe von Elementen.

Wenn Sie einen vorhandenen Bucket verwenden, dem bereits eine Richtlinie angehängt ist, können Sie die Anweisung für Zugriffsprotokolle von Elastic Load Balancing zu der Richtlinie hinzufügen. Wenn Sie dies tun, empfehlen wir, dass Sie eine Beurteilung der daraus resultierenden Berechtigungen vornehmen, um sicherzustellen, dass sie für die Benutzer geeignet sind, die Zugriff auf die Bucket-Zugriffsprotokolle benötigen.

Verfügbare Bucket-Richtlinien

Welche Bucket-Richtlinie Sie verwenden, hängt von der AWS-Region und der Art der Zone ab. Jeder erweiterbare Abschnitt unten enthält eine Bucket-Richtlinie und Informationen darüber, wann diese Richtlinie verwendet werden soll.

Diese Richtlinie erteilt Berechtigungen für den angegebenen Protokoll-Bereitstellungsdienst. Verwenden Sie diese Richtlinie für Load Balancer in Availability Zones und Local Zonen in den folgenden Regionen:

  • Asien-Pazifik (Hyderabad)

  • Asien-Pazifik (Malaysia)

  • Asien-Pazifik (Melbourne)

  • Kanada West (Calgary)

  • Europa (Spain)

  • Europa (Zürich)

  • Israel (Tel Aviv)

  • Naher Osten (UAE)

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logdelivery.elasticloadbalancing.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "s3-bucket-arn" } ] }

Ersetzen s3-bucket-arn mit ARN dem Speicherort für Ihre Zugriffsprotokolle. Was Sie angebenARN, hängt davon ab, ob Sie bei der Aktivierung von Zugriffsprotokollen in Schritt 3 ein Präfix angeben möchten.

Beispiel für einen S3-Bucket ARN mit einem Präfix

Der Bucket-Name istamzn-s3-demo-logging-bucket, das Präfix ist logging-prefix und die ID des AWS Kontos mit dem Load Balancer ist111122223333.

arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/111122223333/*
Beispiel für einen S3-Bucket ARN ohne Präfix

Der Bucket-Name lautet amzn-s3-demo-logging-bucket und die ID des AWS Kontos mit dem Load Balancer lautet111122223333.

arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/111122223333/*
Die Verwendung von NotPrincipal wenn Effect ist Deny

Wenn die Amazon S3 S3-Bucket-Richtlinie Effect mit dem Wert Deny und dem Include-Wert verwendet, NotPrincipal wie im Beispiel unten gezeigt, stellen Sie sicher, dass dieser Wert in der Service Liste enthalten logdelivery.elasticloadbalancing.amazonaws.com ist.

{ "Effect": "Deny", "NotPrincipal": { "Service": [ "logdelivery.elasticloadbalancing.amazonaws.com", "example.com" ] } },

Diese Richtlinie gewährt Berechtigungen für die angegebene Konto-ID von Elastic Load Balancing. Verwenden Sie diese Richtlinie für Load Balancer in Availability Zones oder Local Zonen in den Regionen in der Liste unten.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "s3-bucket-arn" } ] }

Ersetzen elb-account-id mit der ID AWS-Konto für Elastic Load Balancing für Ihre Region:

  • USA Ost (Nord-Virginia) – 127311923021

  • USA Ost (Ohio) – 033677994240

  • USA West (Nordkalifornien) – 027434742980

  • USA West (Oregon) – 797873946194

  • Afrika (Kapstadt) – 098369216593

  • Asien-Pazifik (Hongkong) – 754344448648

  • Asien-Pazifik (Jakarta) – 589379963580

  • Asien-Pazifik (Mumbai) – 718504428378

  • Asien-Pazifik (Osaka) – 383597477331

  • Asien-Pazifik (Seoul) – 600734575887

  • Asien-Pazifik (Singapur) – 114774131450

  • Asien-Pazifik (Sydney) – 783225319266

  • Asien-Pazifik (Tokio) – 582318560864

  • Kanada (Zentral) – 985666609251

  • Europa (Frankfurt) – 054676820928

  • Europa (Irland) – 156460612806

  • Europa (London) – 652711504416

  • Europa (Mailand) – 635631232127

  • Europa (Paris) – 009996457667

  • Europa (Stockholm) – 897822967062

  • Naher Osten (Bahrain) – 076674570225

  • Südamerika (São Paulo) – 507241528517

Ersetzen s3-bucket-arn mit dem ARN Standort für Ihre Zugriffs-Logs. Was Sie angebenARN, hängt davon ab, ob Sie bei der Aktivierung von Zugriffsprotokollen in Schritt 3 ein Präfix angeben möchten.

Beispiel für einen S3-Bucket ARN mit einem Präfix

Der Bucket-Name istamzn-s3-demo-logging-bucket, das Präfix ist logging-prefix und die ID des AWS Kontos mit dem Load Balancer ist111122223333.

arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/111122223333/*
Beispiel für einen S3-Bucket ARN ohne Präfix

Der Bucket-Name ist amzn-s3-demo-logging-bucket und die ID des AWS Kontos mit dem Load Balancer lautet111122223333.

arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/111122223333/*
Die Verwendung von NotPrincipal wenn Effect ist Deny

Wenn die Amazon S3 S3-Bucket-Richtlinie Effect mit dem Wert Deny und dem Include-Wert verwendet, NotPrincipal wie im Beispiel unten gezeigt, stellen Sie sicher, dass dieser Wert in der Service Liste enthalten logdelivery.elasticloadbalancing.amazonaws.com ist.

{ "Effect": "Deny", "NotPrincipal": { "Service": [ "logdelivery.elasticloadbalancing.amazonaws.com", "example.com" ] } },

Diese Richtlinie gewährt Berechtigungen für die angegebene Konto-ID von Elastic Load Balancing. Verwenden Sie diese Richtlinie für Load Balancer in Availability Zones oder Local Zones in den AWS GovCloud (US) Regionen in der folgenden Liste.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws-us-gov:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "s3-bucket-arn" } ] }

Ersetzen elb-account-id mit der ID AWS-Konto für Elastic Load Balancing für Ihre AWS GovCloud (US) Region:

  • AWS GovCloud (US-West) — 048591011584

  • AWS GovCloud (US-Ost) — 190560391635

Ersetzen s3-bucket-arn mit dem Standort für Ihre ARN Zugriffs-Logs. Was Sie angebenARN, hängt davon ab, ob Sie bei der Aktivierung von Zugriffsprotokollen in Schritt 3 ein Präfix angeben möchten.

Beispiel für einen S3-Bucket ARN mit einem Präfix

Der Bucket-Name istamzn-s3-demo-logging-bucket, das Präfix ist logging-prefix und die ID des AWS Kontos mit dem Load Balancer ist111122223333.

arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/111122223333/*
Beispiel für einen S3-Bucket ARN ohne Präfix

Der Bucket-Name lautet amzn-s3-demo-logging-bucket und die ID des AWS Kontos mit dem Load Balancer lautet111122223333.

arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/111122223333/*
Die Verwendung von NotPrincipal wenn Effect ist Deny

Wenn die Amazon S3 S3-Bucket-Richtlinie Effect mit dem Wert Deny und dem Include-Wert verwendet, NotPrincipal wie im Beispiel unten gezeigt, stellen Sie sicher, dass dieser Wert in der Service Liste enthalten logdelivery.elasticloadbalancing.amazonaws.com ist.

{ "Effect": "Deny", "NotPrincipal": { "Service": [ "logdelivery.elasticloadbalancing.amazonaws.com", "example.com" ] } },

Die folgende Richtlinie erteilt Berechtigungen für den angegebenen Protokoll-Bereitstellungsdienst. Verwenden Sie diese Richtlinie für Load Balancer in Outposts-Zonen.

{ "Effect": "Allow", "Principal": { "Service": "logdelivery.elb.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "s3-bucket-arn, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }

Ersetzen s3-bucket-arn mit ARN dem Speicherort für Ihre Zugriffsprotokolle. Was Sie angebenARN, hängt davon ab, ob Sie bei der Aktivierung von Zugriffsprotokollen in Schritt 3 ein Präfix angeben möchten.

Beispiel für einen S3-Bucket ARN mit einem Präfix

Der Bucket-Name istamzn-s3-demo-logging-bucket, das Präfix ist logging-prefix und die ID des AWS Kontos mit dem Load Balancer ist111122223333.

arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/111122223333/*
Beispiel für einen S3-Bucket ARN ohne Präfix

Der Bucket-Name lautet amzn-s3-demo-logging-bucket und die ID des AWS Kontos mit dem Load Balancer lautet111122223333.

arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/111122223333/*
Die Verwendung von NotPrincipal wenn Effect ist Deny

Wenn die Amazon S3 S3-Bucket-Richtlinie Effect mit dem Wert Deny und dem Include-Wert verwendet, NotPrincipal wie im Beispiel unten gezeigt, stellen Sie sicher, dass dieser Wert in der Service Liste enthalten logdelivery.elasticloadbalancing.amazonaws.com ist.

{ "Effect": "Deny", "NotPrincipal": { "Service": [ "logdelivery.elasticloadbalancing.amazonaws.com", "example.com" ] } },
So fügen Sie Ihrem Bucket über die Amazon S3-Konsole eine Bucket-Richtlinie für Zugriffsprotokolle hinzu
  1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Namen des Buckets aus, um seine Detailseite zu öffnen.

  3. Wählen Sie Berechtigungen und anschließend Bucket-Richtlinie, Bearbeiten aus.

  4. Aktualisieren Sie die Bucket-Richtlinie, um die erforderlichen Berechtigungen zu gewähren.

  5. Wählen Sie Änderungen speichern.

Schritt 3: Konfigurieren von Zugriffsprotokollen

Gehen Sie wie folgt vor, um Zugriffsprotokolle zur Erfassung von Anforderungsinformationen und zur Übermittlung von Protokolldateien an Ihren S3-Bucket zu konfigurieren.

Voraussetzungen

Der Bucket muss die in Schritt 1 beschriebenen Anforderungen erfüllen und Sie müssen eine Bucket-Richtlinie wie in Schritt 2 beschrieben anhängen. Wenn Sie ein Präfix angeben, darf es die Zeichenfolge "AWSLogs“ nicht enthalten.

So aktivieren Sie die Zugriffsprotokolle für Ihren Load Balancer mithilfe der Konsole
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Load Balancers.

  3. Wählen Sie den Namen Ihres Load Balancers aus, um die Detailseite zu öffnen.

  4. Klicken Sie auf der Registerkarte Attribute auf Bearbeiten.

  5. Aktivieren Sie für die Überwachung die Option Zugriffsprotokolle.

  6. Geben Sie für S3 URI den S3 URI für Ihre Protokolldateien ein. Was Sie angebenURI, hängt davon ab, ob Sie ein Präfix verwenden.

    • URImit einem Präfix: s3://amzn-s3-demo-logging-bucket/logging-prefix

    • URIohne Präfix: s3://amzn-s3-demo-logging-bucket

  7. Wählen Sie Änderungen speichern.

Um Zugriffsprotokolle mit dem zu aktivieren AWS CLI

Verwenden Sie den modify-load-balancer-attributesBefehl.

So verwalten Sie den S3-Bucket für Ihre Zugriffsprotokolle

Stellen Sie sicher, dass Sie die Zugriffsprotokolle deaktivieren, bevor Sie den Bucket löschen, den Sie für Zugriffsprotokolle konfiguriert haben. Andernfalls kann Elastic Load Balancing keine Zugriffsprotokolle für Ihren Load Balancer in diesem neuen Bucket schreiben, wenn es einen neuen Bucket mit demselben Namen und den erforderlichen Bucket-Richtlinien in einem AWS-Konto gibt, dessen Eigentümer nicht Sie sind.

Schritt 4: Überprüfen der Bucket-Berechtigungen

Nachdem Zugriffsprotokolle für den Load Balancer aktiviert ist, überprüft Elastic Load Balancing den S3-Bucket und erstellt eine Testdatei, um sicherzustellen, dass die Bucket-Richtlinie die erforderlichen Berechtigungen angibt. Sie können die Amazon-S3-Konsole verwenden, um sicherzustellen, dass die Testdatei erstellt wurde. Die Testdatei ist keine tatsächliche Zugriffsprotokolldatei; sie enthält keine Beispieldatensätze.

Um zu überprüfen, ob mit der Amazon S3 S3-Konsole eine Testdatei in Ihrem Bucket erstellt wurde
  1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Namen des Buckets aus, den Sie für Zugriffsprotokolle angegeben haben.

  3. Navigieren Sie zur Testdatei, ELBAccessLogTestFile. Der Standort hängt davon ab, ob Sie ein Präfix verwenden.

    • Standort mit einem Präfix: amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/ELBAccessLogTestFile

    • Standort ohne Präfix: amzn-s3-demo-logging-bucket/AWSLogs/123456789012/ELBAccessLogTestFile

Fehlerbehebung

Wenn Sie einen Fehler aufgrund Zugriffsverweigerung erhalten, kann dies die folgenden möglichen Ursachen haben.

  • Die Bucket-Policy gewährt Elastic Load Balancing nicht die Berechtigung, Zugriffsprotokolle in den Bucket zu schreiben. Stellen Sie sicher, dass Sie die richtige Bucket-Richtlinie für die Region verwenden. Stellen Sie sicher, dass die Ressource denselben Bucket-Namen ARN verwendet, den Sie bei der Aktivierung von Zugriffsprotokollen angegeben haben. Stellen Sie sicher, dass die Ressource ARN kein Präfix enthält, wenn Sie bei der Aktivierung von Zugriffsprotokollen kein Präfix angegeben haben.

  • Der Bucket verwendet eine nicht unterstützte serverseitige Verschlüsselungsoption. Der Bucket muss von Amazon S3 verwaltete Schlüssel (SSE-S3) verwenden.