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 für Ihren Network Load Balancer
Elastic Load Balancing bietet Zugriffsprotokolle, die detaillierte Informationen über die TLS-Verbindungen erfassen, die mit Ihrem Network Load Balancer hergestellt wurden. Sie können diese Zugriffsprotokolle für die Analyse von Datenverkehrsmustern und zur Problembehebung verwenden.
Wichtig
Zugriffsprotokolle werden nur erstellt, wenn der Network Load Balancer über einen TLS-Listener verfügt und sie nur Informationen über TLS-Verbindungen enthalten.
Zugriffsprotokollierung ist ein optionales Feature von Elastic Load Balancing, das standardmäßig deaktiviert ist. Nachdem Sie die Zugriffsprotokollierung für Ihren Load Balancer aktiviert haben, erfasst Elastic Load Balancing die Protokolle als komprimierte Dateien und speichert sie in dem von Ihnen angegebenen Amazon-S3-Bucket. Sie können die Zugriffsprotokollierung jederzeit deaktivieren.
Sie können serverseitige Verschlüsselung mit von Amazon S3 verwalteten Verschlüsselungsschlüsseln (SSE-S3) oder mit Key Management Service mit vom Kunden verwalteten Schlüsseln (SSE-KMS CMK) für Ihren S3-Bucket aktivieren. Jede Zugriffsprotokolldatei wird automatisch verschlüsselt, bevor sie im S3-Bucket gespeichert und beim Zugriff auf die Datei entschlüsselt wird. Sie müssen keine Maßnahmen ergreifen, weil zwischen dem Zugriff auf verschlüsselte und unverschlüsselte Protokolldateien kein Unterschied besteht. Jede Protokolldatei ist mit einem eindeutigen Schlüssel verschlüsselt, der wiederum mit einem KMS-Schlüssel verschlüsselt wird, der regelmäßig gewechselt wird. Weitere Informationen finden Sie unter Angeben der Amazon S3 S3-Verschlüsselung (SSE-S3) und Spezifizieren der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS) im Amazon S3 S3-Benutzerhandbuch.
Es fallen für die Zugriffsprotokolle keine zusätzlichen Gebühren an. Sie zahlen Speicherkosten für Amazon S3, aber Sie zahlen nicht für die Bandbreite, die von Elastic Load Balancing zum Senden von Protokolldateien an Amazon S3 verwendet wird. Weitere Information zu Speicherkosten finden Sie unter Amazon S3 – Preise
Zugriffsprotokolldateien
Elastic Load Balancing veröffentlicht alle 5 Minuten eine Protokolldatei für jeden Load-Balancer-Knoten. Die Protokollbereitstellung ist letztendlich konsistent. Der Load Balancer kann mehrere Protokolle für denselben Zeitraum bereitstellen. Dies passiert in der Regel, wenn die Website hohen Datenverkehr aufweist.
Die Dateinamen der Zugriffsprotokolle verwenden das folgende Format:
bucket
[/prefix
]/AWSLogs/aws-account-id
/elasticloadbalancing/region
/yyyy
/mm
/dd
/aws-account-id
_elasticloadbalancing_region
_net.load-balancer-id
_end-time
_random-string
.log.gz
- bucket
-
Der Name des S3-Buckets.
- prefix
-
Das Präfix (logische Hierarchie) im Bucket. Wenn Sie kein Präfix festlegen, werden die Protokolle auf der Bucket-Stammebene platziert.
- aws-account-id
-
Die ID des Besitzers AWS-Konto .
- Region
-
Die Region für Ihren Load Balancer und den S3-Bucket.
- JJJJ/MM/TT
-
Das Datum, an dem das Protokoll übermittelt wurde.
- load-balancer-id
-
Die Ressourcen-ID des Load Balancer. Wenn die Ressourcen-ID Schrägstriche (/) enthält, werden sie durch Punkte (.) ersetzt.
- end-time
-
Das Datum und die Uhrzeit, an dem das Protokollierungsintervall endete. Beispiel: Die Endzeit 20181220T2340Z enthält Einträge für Anfragen, die zwischen 23:35 und 23:40 durchgeführt wurden.
- random-string
-
Eine vom System generierte zufällige Zeichenfolge.
Es folgt ein Beispiel für einen Protokolldateinamen:
s3://my-bucket/prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2020/05/01/123456789012_elasticloadbalancing_us-east-2_net.my-loadbalancer.1234567890abcdef_20200501T0000Z_20sg8hgm.log.gz
Sie können Ihre Protokolldateien beliebig lange im Bucket speichern. Sie können aber auch Amazon S3-Lebenszyklusregeln aufstellen, anhand derer die Protokolldateien automatisch archiviert oder gelöscht werden. Weitere Informationen finden Sie unter Verwalten des Speicherlebenszyklus im Amazon-S3-Benutzerhandbuch.
Zugriffsprotokolleinträge
Die folgende Tabelle beschreibt die Felder eines Zugriffsprotokolleintrags der Reihe nach. Alle Felder werden durch Leerzeichen voneinander getrennt. Wenn neue Felder eingeführt werden, werden sie am Ende des Protokolleintrags hinzugefügt. Bei der Verarbeitung der Protokolldateien sollten Sie alle Felder am Ende des Protokolleintrags ignorieren, die Sie nicht erwartet haben.
Feld | Beschreibung |
---|---|
Typ |
Der Listenertyp. Der unterstützte Wert ist |
version |
Die Version des Protokolleintrags. Die aktuelle Version ist 2.0. |
time |
Die am Ende der TLS-Verbindung im ISO 8601-Format aufgezeichnete Zeit. |
elb |
Die Ressourcen-ID des Load Balancer. |
Listener |
Die Ressourcen-ID des TLS-Listeners für die Verbindung. |
client:port |
Die IP-Adresse und der Port des Clients. |
destination:port |
Die IP-Adresse und der Port des Ziels. Wenn der Client eine direkte Verbindung zum Load Balancer herstellt, ist das Ziel der Listener. Wenn der Client eine Verbindung über einen VPC-Endpunktdienst herstellt, ist das Ziel der VPC-Endpunkt. |
connection_time |
Die Gesamtzeit in Millisekunden, die für die Verbindungsdurchführung vom Anfang bis zum Abschluss benötigt wird. |
tls_handshake_time |
Die Gesamtzeit in Millisekunden für die Durchführung des TLS-Handshakes benötigt wird, nachdem die TCP-Verbindung hergestellt wurde und einschließlich der clientseitigen Verzögerungen. Diese Zeit ist im Feld „connection_time“ enthalten. |
received_bytes |
Die Anzahl der Byte, die der Load Balancer nach der Entschlüsselung vom Client empfängt. |
sent_bytes |
Die Anzahl der Byte, die der Load Balancer vor der Verschlüsselung an den Client sendet. |
incoming_tls_alert |
Der Ganzzahlwert der TLS-Warnungen, die der Load Balancer ggf. vom Client empfängt. Andernfalls wird dieser Wert auf „-“ festgelegt. |
chosen_cert_arn |
Der ARN des Zertifikats, das auf dem Client gespeichert wird. Wenn der Client keine gültige Hello-Nachricht sendet, wird dieser Wert auf „-“ festgelegt. |
chosen_cert_serial |
Für die spätere Verwendung reserviert. Dieser Wert wird immer auf „-“ festgelegt. |
tls_cipher |
Die mit dem Client ausgehandelte Verschlüsselungssammlung im OpenSSL-Format. Wenn die TLS-Aushandlung nicht abgeschlossen werden kann, ist dieser Wert auf „-“ festgelegt. |
tls_protocol_version |
Das mit dem Client ausgehandelte TLS-Protokoll im Zeichenfolgenformat. Die möglichen Werte sind |
tls_named_group |
Für die spätere Verwendung reserviert. Dieser Wert wird immer auf „-“ festgelegt. |
domain_name |
Der Wert der server_name-Erweiterung in der Hello-Nachricht des Client. Dieser Wert ist URL-verschlüsselt. Wenn keine gültige Hello-Nachricht vom Client gesendet wird oder die Erweiterung nicht vorhanden ist, wird dieser Wert auf „-“ festgelegt. |
alpn_fe_protocol |
Das mit dem Client ausgehandelte Anwendungsprotokoll im Zeichenfolgenformat. Die möglichen Werte sind |
alpn_be_protocol |
Das mit dem Ziel ausgehandelte Anwendungsprotokoll im Zeichenfolgenformat. Die möglichen Werte sind |
alpn_client_preference_list |
Der Wert der Erweiterung application_layer_protocol_negotiation in der Client-Hello-Nachricht. Dieser Wert ist URL-verschlüsselt. Jedes Protokoll ist in doppelte Anführungszeichen eingeschlossen, und Protokolle werden durch ein Komma getrennt angegeben. Wenn im TLS-Listener keine ALPN-Richtlinie konfiguriert ist, keine gültige Client-Hello Nachricht gesendet wird oder die Erweiterung nicht vorhanden ist, wird dieser Wert auf - festgelegt. Die Zeichenfolge wird abgeschnitten, wenn sie länger als 256 Byte ist. |
tls_connection_creation_time |
Die zu Beginne der TLS-Verbindung aufgezeichnete Zeit, im ISO 8601-Format. |
Beispiel-Protokolleinträge
Es folgen beispielhafte Protokolleinträge. Beachten Sie, dass der Text nur aus Gründen der besseren Lesbarkeit auf mehrere Zeilen verteilt ist.
Im Folgenden finden Sie ein Beispiel für einen TLS-Listener ohne ALPN-Richtlinie.
tls 2.0 2018-12-20T02:59:40 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd
72.21.218.154:51341 172.100.100.185:443 5 2 98 246 -
arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 -
ECDHE-RSA-AES128-SHA tlsv12 -
my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com
- - - 2018-12-20T02:59:30
Im Folgenden finden Sie ein Beispiel für einen TLS-Listener mit ALPN-Richtlinie.
tls 2.0 2020-04-01T08:51:42 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd
72.21.218.154:51341 172.100.100.185:443 5 2 98 246 -
arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 -
ECDHE-RSA-AES128-SHA tlsv12 -
my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com
h2 h2 "h2","http/1.1" 2020-04-01T08:51:20
Bucket-Anforderungen
Wenn Sie Zugriffsprotokollierung aktivieren, müssen Sie einen S3-Bucket für die Zugriffsprotokolle angeben. Der Bucket-Eigentümer kann ein anderes Konto sein als der Kontoinhaber für den Load Balancer. Der Bucket muss die folgenden Anforderungen erfüllen.
Voraussetzungen
-
Der Bucket muss sich in derselben Region wie der Load Balancer befinden.
-
Das von Ihnen angegebene Präfix darf nicht
AWSLogs
enthalten. Wir fügen den Teil des Dateinamens hinzu, der mitAWSLogs
nach dem von Ihnen angegebenen Bucket-Namen und dem Präfix beginnt. -
Der Bucket muss über eine Bucket-Richtlinie verfügen, die die Berechtigung zum Schreiben von Zugriffsprotokollen in den Bucket gewährt. Bucket-Richtlinien sind eine Sammlung von JSON-Anweisungen, die in der Sprache der Zugriffsrichtlinie geschrieben sind, um Zugriffsberechtigungen für Ihre Buckets zu definieren. Es folgt eine Beispielrichtlinie .
{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::
my-bucket
", "Condition": { "StringEquals": { "aws:SourceAccount": ["012345678912
"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1
:012345678912
:*"] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket
/AWSLogs/account-ID
/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["012345678912
"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1
:012345678912
:*"] } } } ] }
Geben Sie in der vorherigen Richtlinie für aws:SourceAccount
die Liste der Kontonummern an, für die Protokolle an diesen Bucket übermittelt werden. Geben Sie für aws:SourceArn
die Liste der ARNs der Ressource, die die Protokolle generiert, im Format arn:aws:logs:
an.source-region
:source-account-id
:*
Verschlüsselung
Sie können die serverseitige Verschlüsselung für Ihren Amazon-S3-Zugriffsprotokoll-Bucket auf eine der folgenden Arten aktivieren:
-
Von Amazon S3 verwaltete Schlüssel (SSE-S3)
-
AWS KMS Schlüssel, die in AWS Key Management Service (SSE-KMS) † gespeichert sind
† Mit Network Load Balancer Balancer-Zugriffsprotokollen können Sie keine AWS verwalteten Schlüssel verwenden. Sie müssen vom Kunden verwaltete Schlüssel verwenden.
Weitere Informationen finden Sie unter Angeben der Amazon S3 S3-Verschlüsselung (SSE-S3) und Spezifizieren der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS) im Amazon S3 S3-Benutzerhandbuch.
Die Schlüsselrichtlinie muss es dem Service ermöglichen, die Protokolle zu verschlüsseln und zu entschlüsseln. Es folgt eine Beispielrichtlinie .
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] }
Aktivieren der Zugriffsprotokollierung
Wenn Sie die Zugriffsprotokollierung für Ihren Load Balancer aktivieren, müssen Sie den S3-Bucket angeben, in dem der Load Balancer die Protokolle speichert. Vergewissern Sie sich, dass Sie Besitzer dieses Buckets sind und dass Sie die erforderliche Bucket-Richtlinie für diesen Bucket konfiguriert haben. Weitere Informationen finden Sie unter Bucket-Anforderungen.
Aktivieren von Zugriffsprotokollierung mithilfe der Konsole
Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/
. -
Klicken Sie im Navigationsbereich auf Load Balancers.
-
Wählen Sie den Namen Ihres Load Balancers aus, um die Detailseite zu öffnen.
-
Klicken Sie in der Registerkarte Attribute auf Bearbeiten.
-
Gehen Sie auf der Seite Edit load balancer attributes (Load Balancer Attribute verteilen) wie folgt vor:
-
Aktivieren Sie für die Überwachung die Option Zugriffsprotokolle.
-
Wählen Sie S3 durchsuchen und wählen Sie einen Bucket aus, den Sie verwenden möchten. Geben Sie alternativ den Speicherort Ihres S3-Buckets einschließlich eines beliebigen Präfixes ein.
-
Wählen Sie Änderungen speichern aus.
-
Um die Zugriffsprotokollierung zu aktivieren, verwenden Sie AWS CLI
Verwenden Sie den Befehl modify-load-balancer-attributes.
Deaktivieren der Zugriffsprotokollierung
Sie können Zugriffsprotokollierung für Ihren Load Balancer jederzeit deaktivieren. Nachdem Sie Zugriffsprotokollierung deaktiviert haben, verbleiben Ihre Zugriffsprotokolle in Ihrem S3-Bucket, bis Sie sie löschen. Weitere Informationen finden Sie unter Arbeiten mit Buckets im Benutzerhandbuch für Amazon Simple Storage Service.
So deaktivieren Sie die Zugriffsprotokollierung mithilfe der Konsole
Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/
. -
Klicken Sie im Navigationsbereich auf Load Balancers.
-
Wählen Sie den Namen Ihres Load Balancers aus, um die Detailseite zu öffnen.
-
Klicken Sie auf der Registerkarte Attribute auf Bearbeiten.
-
Deaktivieren Sie für die Überwachung die Zugriffsprotokolle.
-
Wählen Sie Änderungen speichern aus.
Um die Zugriffsprotokollierung zu deaktivieren, verwenden Sie AWS CLI
Verwenden Sie den Befehl modify-load-balancer-attributes.
Verarbeiten von Zugriffsprotokolldateien
Die Zugriffsprotokolldateien werden komprimiert. Wenn Sie die Dateien mithilfe der Amazon-S3-Konsole öffnen, werden sie dekomprimiert und die Informationen werden angezeigt. Wenn Sie die Dateien herunterladen, müssen Sie sie dekomprimieren, um die Informationen anzuzeigen.
Falls es viele Zugriff auf Ihre Website gibt, kann der Load Balancer Protokolldateien mit mehreren Gigabyte an Daten generieren. Möglicherweise sind Sie nicht in der Lage, eine so große Datenmenge mithilfe von line-by-line Processing zu verarbeiten. Daher müssen Sie möglicherweise Tools zur Datenanalyse verwenden, die parallele Verarbeitungslösungen bieten. Beispielsweise können Sie die folgenden analytischen Tools zum Analysieren und Verarbeiten von Zugriffsprotokollen verwenden:
-
Amazon Athena ist ein interaktiver Abfrageservice, der die Analyse von Daten in Amazon S3 mit Standard-SQL erleichtert. Weitere Informationen finden Sie unter Abfragen von Network-Load-Balancer-Protokollen im Benutzerhandbuch zu Amazon Athena.