Zugriffsprotokolle für Ihren Network 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.

Zugriffsprotokolle für Ihren Network Load Balancer

Elastic Load Balancing bietet Zugriffsprotokolle, die detaillierte Informationen über die mit Ihrem Network Load Balancer hergestellten TLS Verbindungen aufzeichnen. Sie können diese Zugriffsprotokolle für die Analyse von Datenverkehrsmustern und zur Problembehebung verwenden.

Wichtig

Zugriffsprotokolle werden nur erstellt, wenn der Load Balancer über einen TLS Listener verfügt, und die Protokolle enthalten nur Informationen über TLS Anfragen. In den Zugriffsprotokollen werden Anfragen nach bestem Wissen und Gewissen aufgezeichnet. Wir empfehlen, dass Sie die Zugriffsprotokolle verwende, um die Art der Anforderungen zu verstehen, nicht als eine vollständige Buchführung aller Anforderungen.

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 die serverseitige Verschlüsselung mit von Amazon SSE S3 verwalteten Verschlüsselungsschlüsseln (-S3) aktivieren oder den Key Management Service mit vom Kunden verwalteten Schlüsseln (SSE- KMSCMK) für Ihren S3-Bucket verwenden. 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 Angeben 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 AWS-Konto ID des Besitzers.

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 tls.

version

Die Version des Protokolleintrags. Die aktuelle Version ist 2.0.

time

Die am Ende der TLS Verbindung aufgezeichnete Zeit im ISO 8601-Format.

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, bis der TLS Handshake abgeschlossen ist, nachdem die TCP Verbindung hergestellt wurde, einschließlich clientseitiger 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 ganzzahlige Wert der TLS Warnmeldungen, die der Load Balancer vom Client empfangen hat, sofern vorhanden. Andernfalls wird dieser Wert auf „-“ festgelegt.

chosen_cert_arn

Der Wert ARN des Zertifikats, das dem Client zugestellt wurde. 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 Cipher Suite wurde mit dem Client im offenen SSL Format ausgehandelt. Wenn die TLS Verhandlung nicht abgeschlossen wird, wird dieser Wert auf - gesetzt.

tls_protocol_version

Das mit dem Client ausgehandelte TLS Protokoll im Zeichenkettenformat. Die möglichen Werte sind tlsv10, tlsv11, tlsv12.und tlsv13. Wenn die TLS Verhandlung nicht abgeschlossen wird, wird dieser Wert auf - gesetzt.

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 -kodiert. 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 h2, http/1.1 und http/1.0. Wenn im TLS Listener keine ALPN Richtlinie konfiguriert ist, kein passendes Protokoll gefunden wurde oder keine gültige Protokollliste gesendet wurde, wird dieser Wert auf - gesetzt.

alpn_be_protocol

Das mit dem Ziel ausgehandelte Anwendungsprotokoll im Zeichenfolgenformat. Die möglichen Werte sind h2, http/1.1 und http/1.0. Wenn im TLS Listener keine ALPN Richtlinie konfiguriert ist, kein passendes Protokoll gefunden wurde oder keine gültige Protokollliste gesendet wurde, wird dieser Wert auf - gesetzt.

alpn_client_preference_list

Der Wert der Erweiterung application_layer_protocol_negotiation in der Client-Hello-Nachricht. Dieser Wert ist URL -kodiert. 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 - gesetzt. Die Zeichenfolge wird abgeschnitten, wenn sie länger als 256 Byte ist.

tls_connection_creation_time

Die zu Beginn 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.

Das Folgende ist ein Beispiel für einen TLS Listener ohne Richtlinie. ALPN

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

Das Folgende ist ein Beispiel für einen TLS Listener mit einer 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

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: