Aktivieren der Zugriffsprotokolle für Ihren Classic Load Balancer - ELB

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 Classic Load Balancer

Um die Zugriffsprotokollierung für Ihren Load Balancer zu aktivieren, müssen Sie den Namen des Amazon-S3-Buckets angeben, in dem der Load Balancer die Protokolle speichert. Sie müssen diesem Bucket auch eine Bucket-Richtlinie hinzufügen, die ELB die Berechtigung erteilt, in den Bucket zu schreiben.

Schritt 1: Einen S3-Bucket erstellen

Wenn Sie Zugriffsprotokolle aktivieren, müssen Sie einen S3-Bucket für die Zugriffsprotokolldateien angeben. 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 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 Create Bucket (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-Kontingente, Einschränkungen und Einschränkungen im Amazon S3 S3-Benutzerhandbuch.

    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 die Option Von Amazon S3 verwaltete Schlüssel (SSE-S3) aus.

    4. Wählen Sie Create Bucket (Bucket erstellen) aus.

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

Ihr S3-Bucket muss über eine Bucket-Richtlinie verfügen, die ELB die Erlaubnis erteilt, die Zugriffsprotokolle in den Bucket zu schreiben. Bucket-Richtlinien sind eine Sammlung von JSON-Anweisungen, die in der Sprache der Zugriffsrichtlinie geschrieben sind, um Zugriffsberechtigungen für Ihre Buckets 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 der Richtlinie die Anweisung für ELB-Zugriffsprotokolle 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.

Diese Richtlinie gewährt dem Protokollzustellungsdienst Berechtigungen.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logdelivery.elasticloadbalancing.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*" } ] }

Geben Sie unter Verwendung des in der Beispielrichtlinie angegebenen Formats den ARN des Speicherorts für die Zugriffsprotokolle ein. Resource Geben Sie immer die Konto-ID des Kontos beim Load Balancer in den Ressourcenpfad des S3-Bucket-ARN ein. Dadurch wird sichergestellt, dass nur Load Balancer des angegebenen Kontos Zugriffsprotokolle in den S3-Bucket schreiben können.

Der von Ihnen angegebene ARN 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 S3-Bucket-Name ist amzn-s3-demo-logging-bucket und das Präfix istlogging-prefix.

arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*

[AWS GovCloud (US)] Das folgende Beispiel verwendet die ARN-Syntax für AWS GovCloud (US) Regions.

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

Der Name des S3-Buckets lautetamzn-s3-demo-logging-bucket. Der S3-Bucket-ARN enthält keinen Präfixteil.

arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*

[AWS GovCloud (US)] Das folgende Beispiel verwendet die ARN-Syntax für AWS GovCloud (US) Regions.

arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*

Bisher war für Regionen, die vor August 2022 verfügbar waren, eine Richtlinie erforderlich, die einem für die Region spezifischen ELB-Konto Berechtigungen gewährte. Diese alte Richtlinie wird weiterhin unterstützt, wir empfehlen jedoch, sie durch die neuere Richtlinie oben zu ersetzen. Wenn Sie es vorziehen, weiterhin die alte Bucket-Richtlinie zu verwenden, die hier nicht aufgeführt ist, können Sie dies tun.

Als Referenz finden Sie hier die IDs ELB-Konten, in denen Sie angeben müssenPrincipal. Beachten Sie, dass Regionen, die nicht in dieser Liste aufgeführt sind, die alte Bucket-Richtlinie nie unterstützt haben.

  • 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

  • AWS GovCloud (US-Ost) — 190560391635

  • AWS GovCloud (US-West) — 048591011584

Um die Sicherheit zu erhöhen, verwenden Sie einen präzisen S3-Bucket. ARNs

  • Verwenden Sie den vollständigen Ressourcenpfad, nicht nur den S3-Bucket-ARN.

  • Geben Sie den Konto-ID-Teil des S3-Bucket-ARN an.

  • Verwenden Sie keine Platzhalter (*) im Konto-ID-Teil des S3-Bucket-ARN.

Nachdem Sie Ihre Bucket-Richtlinie erstellt haben, verwenden Sie eine Amazon S3 S3-Schnittstelle, z. B. die Amazon S3 S3-Konsole oder AWS CLI Befehle, um Ihre Bucket-Richtlinie an Ihren S3-Bucket anzuhängen.

Um Ihre Bucket-Richtlinie mithilfe der Konsole an Ihren Bucket anzuhängen
  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 aus.

Um Ihre Bucket-Richtlinie mit dem S3-Bucket anzuhängen AWS CLI

Verwenden Sie den Befehl put-bucket-policy. In diesem Beispiel wurde die Bucket-Richtlinie in der angegebenen JSON-Datei gespeichert.

aws s3api put-bucket-policy \ --bucket amzn-s3-demo-bucket \ --policy file://access-log-policy.json

Schritt 3: Konfigurieren von Zugriffsprotokollen

Verwenden Sie das folgende Verfahren, um Zugriffsprotokolle zu konfigurieren, um Anforderungsinformationen zu erfassen und Protokolldateien an Ihren S3-Bucket zu übermitteln.

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 konfigurieren 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. Wählen Sie im Navigationsbereich unter LOAD BALANCING die Option Load Balancers aus.

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

  4. Klicken Sie in der Registerkarte Attributes (Attribute) auf Edit (Bearbeiten).

  5. Gehen Sie auf der Seite Edit load balancer attributes (Load Balancer Attribute bearbeiten) im Abschnitt Monitoring (Überwachung) wie folgt vor:

    1. Aktivieren Sie Access logs (Zugriffsprotokolle).

    2. Geben Sie für S3 URI (S3-URI) den S3-URI für Ihre Protokolldateien ein. Der URI, den Sie angeben, hängt davon ab, ob Sie ein Präfix verwenden.

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

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

    3. Behalten Sie das Logging interval (Protokollierungsintervall) bei 60 minutes - default.

    4. Wählen Sie Änderungen speichern aus.

Um Zugriffsprotokolle für Ihren Load Balancer zu konfigurieren, verwenden Sie AWS CLI

Erstellen Sie zunächst eine JSON-Datei, mit der ELB alle 60 Minuten Protokolle erfassen und an den S3-Bucket senden kann, den Sie für die Protokolle erstellt haben:

{ "AccessLog": { "Enabled": true, "S3BucketName": "amzn-s3-demo-logging-bucket", "EmitInterval": 60, "S3BucketPrefix": "my-app" } }

Geben Sie als Nächstes die .json-Datei im modify-load-balancer-attributesBefehl wie folgt an:

aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes file://my-json-file.json

Nachfolgend finden Sie eine Beispielantwort.

{ "LoadBalancerAttributes": { "AccessLog": { "Enabled": true, "EmitInterval": 60, "S3BucketName": "amzn-s3-demo-logging-bucket", "S3BucketPrefix": "my-app" } }, "LoadBalancerName": "my-loadbalancer" }
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 könnte ELB die Zugriffsprotokolle für Ihren Load Balancer in diesen neuen Bucket schreiben AWS-Konto , wenn ein neuer Bucket mit demselben Namen und der erforderlichen Bucket-Richtlinie in einem Bucket erstellt wurde, den Sie nicht besitzen.

Schritt 4: Überprüfen der Bucket-Berechtigungen

Nachdem die Zugriffsprotokolle für Ihren Load Balancer aktiviert wurden, validiert ELB den S3-Bucket und erstellt eine Testdatei, um sicherzustellen, dass die Bucket-Richtlinie die erforderlichen Berechtigungen festlegt. Sie können die 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 ELB eine Testdatei in Ihrem S3-Bucket erstellt hat
  1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Namen des S3-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-loadbalancer-logs/logging-prefix/AWSLogs/123456789012/ELBAccessLogTestFile

    • Standort ohne Präfix:amzn-s3-demo-loadbalancer-logs/AWSLogs/123456789012/ELBAccessLogTestFile

Fehlerbehebung

Zugriff verweigert für Bucket:bucket-name. Bitte überprüfen Sie die S3bucket-Berechtigung

Wenn Sie diesen Fehler erhalten, kann dies die folgenden möglichen Ursachen haben:

  • Die Bucket-Richtlinie gewährt ELB keine 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 der Ressourcen-ARN denselben Bucket-Namen verwendet, den Sie bei der Aktivierung von Zugriffsprotokollen angegeben haben. Stellen Sie sicher, dass der Ressourcen-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.