Zugriffsprotokolle für Amazon VPC Lattice - VPCAmazon-Gitter

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 Amazon VPC Lattice

Zugriffsprotokolle erfassen detaillierte Informationen zu Ihren VPC Lattice-Diensten und Ressourcenkonfigurationen. Sie können diese Zugriffsprotokolle verwenden, um Verkehrsmuster zu analysieren und alle Dienste im Netzwerk zu überprüfen. Für VPC Lattice-Dienste veröffentlichen wir VpcLatticeAccessLogs und für Ressourcenkonfigurationen veröffentlichen wir, VpcLatticeResourceAccessLogs welche separat konfiguriert werden müssen.

Zugriffsprotokolle sind optional und standardmäßig deaktiviert. Nachdem Sie die Zugriffsprotokolle aktiviert haben, können Sie sie jederzeit deaktivieren.

Preisgestaltung

Bei der Veröffentlichung von Zugriffsprotokollen fallen Gebühren an. Protokolle, die AWS nativ in Ihrem Namen veröffentlicht werden, werden als verkaufte Protokolle bezeichnet. Weitere Informationen zu den Preisen für verkaufte Logs finden Sie unter CloudWatch Amazon-Preise, wählen Sie Logs und sehen Sie sich die Preise unter Verkaufte Logs an.

IAMFür die Aktivierung von Zugriffsprotokollen sind Berechtigungen erforderlich

Um Zugriffsprotokolle zu aktivieren und die Protokolle an ihre Ziele zu senden, muss die Richtlinie dem IAM Benutzer, der Gruppe oder der Rolle, die Sie verwenden, die folgenden Aktionen zugeordnet haben.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "ManageVPCLatticeAccessLogSetup", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "vpc-lattice:CreateAccessLogSubscription", "vpc-lattice:GetAccessLogSubscription", "vpc-lattice:UpdateAccessLogSubscription", "vpc-lattice:DeleteAccessLogSubscription", "vpc-lattice:ListAccessLogSubscriptions" ], "Resource": [ "*" ] } ] }

Weitere Informationen finden Sie im AWS Identity and Access Management Benutzerhandbuch unter Hinzufügen und Entfernen von IAM Identitätsberechtigungen.

Nachdem Sie die Richtlinie aktualisiert haben, die dem IAM Benutzer, der Gruppe oder der Rolle zugeordnet ist, die Sie verwenden, gehen Sie zuAktivieren der Zugriffsprotokolle.

Ziele der Zugriffsprotokolle

Sie können Zugriffsprotokolle an die folgenden Ziele senden.

CloudWatch Amazon-Protokolle
  • VPCLattice übermittelt Logs in der Regel innerhalb von 2 Minuten an CloudWatch Logs. Beachten Sie jedoch, dass die tatsächliche Protokollzustellung nach bestem Wissen erfolgt und es zu zusätzlichen Latenzen kommen kann.

  • Eine Ressourcenrichtlinie wird automatisch erstellt und der CloudWatch Protokollgruppe hinzugefügt, wenn die Protokollgruppe nicht über bestimmte Berechtigungen verfügt. Weitere Informationen finden Sie unter An Logs sent to CloudWatch Logs im CloudWatch Amazon-Benutzerhandbuch.

  • Zugriffsprotokolle, an die gesendet werden, finden Sie in der CloudWatch Konsole CloudWatch unter Protokollgruppen. Weitere Informationen finden Sie im CloudWatch Amazon-Benutzerhandbuch unter An CloudWatch Logs gesendete Protokolldaten anzeigen.

Amazon S3
  • VPCLattice übermittelt Protokolle in der Regel innerhalb von 6 Minuten an Amazon S3. Beachten Sie jedoch, dass die tatsächliche Protokollzustellung nach bestem Wissen erfolgt und es zu zusätzlichen Latenzen kommen kann.

  • Eine Bucket-Richtlinie wird automatisch erstellt und Ihrem Amazon S3 S3-Bucket hinzugefügt, falls der Bucket nicht über bestimmte Berechtigungen verfügt. Weitere Informationen finden Sie unter An Amazon S3 gesendete Logs im CloudWatchAmazon-Benutzerhandbuch.

  • Zugriffsprotokolle, die an Amazon S3 gesendet werden, verwenden die folgende Benennungskonvention:

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/AccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
  • VpcLatticeResourceAccessLogs die an Amazon S3 gesendet werden, verwenden die folgende Namenskonvention:

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/ResourceAccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeResourceAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
Amazon Data Firehose
  • VPCLattice liefert die Holzscheite in der Regel innerhalb von 2 Minuten an Firehose. Beachten Sie jedoch, dass die tatsächliche Protokollzustellung nach bestem Wissen erfolgt und es zu zusätzlichen Latenzen kommen kann.

  • Es wird automatisch eine dienstbezogene Rolle erstellt, die VPC Lattice die Erlaubnis erteilt, Zugriffsprotokolle an sie zu senden. Amazon Data Firehose Damit die automatische Rollenerstellung erfolgreich ist, müssen die Benutzer über die Berechtigung für die Aktion iam:CreateServiceLinkedRole verfügen. Weitere Informationen finden Sie unter Gesendete Logs Amazon Data Firehose im CloudWatch Amazon-Benutzerhandbuch.

  • Weitere Informationen zum Anzeigen der gesendeten Protokolle finden Sie unter Monitoring Amazon Kinesis Data Streams im Amazon Data Firehose Developer Guide. Amazon Data Firehose

Aktivieren der Zugriffsprotokolle

Gehen Sie wie folgt vor, um die Zugriffsprotokolle so zu konfigurieren, dass Zugriffsprotokolle erfasst und an das von Ihnen gewählte Ziel gesendet werden.

Aktivieren Sie die Zugriffsprotokolle mithilfe der Konsole

Sie können während der Erstellung Zugriffsprotokolle für ein Dienstnetzwerk, einen Dienst oder eine Ressourcenkonfiguration aktivieren. Sie können Zugriffsprotokolle auch aktivieren, nachdem Sie eine Dienstnetzwerk-, Dienst- oder Ressourcenkonfiguration erstellt haben, wie im folgenden Verfahren beschrieben.

Um einen Basisdienst mit der Konsole zu erstellen
  1. Öffnen Sie die VPC Amazon-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie das Servicenetzwerk, den Service oder die Ressourcenkonfiguration aus.

  3. Wählen Sie Aktionen, Protokolleinstellungen bearbeiten aus.

  4. Schalten Sie den Schalter Zugriffsprotokolle ein.

  5. Fügen Sie wie folgt ein Lieferziel für Ihre Zugriffsprotokolle hinzu:

    • Wählen Sie CloudWatch Protokollgruppe und wählen Sie eine Protokollgruppe aus. Um eine Protokollgruppe zu erstellen, wählen Sie Protokollgruppe erstellen in CloudWatch.

    • Wählen Sie S3-Bucket aus und geben Sie den S3-Bucket-Pfad einschließlich eines beliebigen Präfixes ein. Um Ihre S3-Buckets zu durchsuchen, wählen Sie Browse S3.

    • Wählen Sie Kinesis Data Firehose Delivery Stream und wählen Sie einen Delivery Stream aus. Um einen Delivery Stream zu erstellen, wählen Sie Create a delivery stream in Kinesis.

  6. Wählen Sie Änderungen speichern.

Aktivieren Sie die Zugriffsprotokolle mit dem AWS CLI

Verwenden Sie den CLI Befehl create-access-log-subscription, um Zugriffsprotokolle für Dienstnetzwerke oder Dienste zu aktivieren.

Inhalt des Zugriffsprotokolls

Die folgende Tabelle beschreibt die Felder eines Zugriffsprotokolleintrags.

Feld Beschreibung Format
hostHeader

Der Autoritätsheader der Anfrage.

Zeichenfolge

sslCipher

Der offene SSL Name für den Satz von Chiffren, der zum Herstellen der TLS Client-Verbindung verwendet wurde.

Zeichenfolge

serviceNetworkArn

Das Servicenetzwerk. ARN

arn:aws:vpc-lattice: ::servicenetwork/ region account id

resolvedUser

Die des Benutzers, wenn die Authentifizierung aktiviert ist und die Authentifizierung abgeschlossen ist. ARN

null | ARN | „Anonym“ | „Unbekannt“

authDeniedReason

Der Grund, warum der Zugriff verweigert wird, wenn die Authentifizierung aktiviert ist.

null | „Dienst“ | „Netzwerk“ | „Identität“

requestMethod

Der Methodenheader der Anfrage.

Zeichenfolge

targetGroupArn

Die Zielhostgruppe, zu der der Zielhost gehört.

Zeichenfolge

tlsVersion

Die TLS-Version.

TLSvx

userAgent

Der User-Agent-Header.

Zeichenfolge

ServerNameIndication

[HTTPSnur] Der Wert, der auf dem SSL-Verbindungs-Socket für Server Name Indication (SNI) festgelegt wurde.

Zeichenfolge

destinationVpcId

Die VPC Ziel-ID.

vpc- xxxxxxxx

sourceIpPort

Die IP-Adresse und:Port der Quelle.

ip:port

targetIpPort

Die IP-Adresse und der Port des Ziels.

ip:port

serviceArn

Der DienstARN.

arn:aws:vpc-lattice: ::service/ region account id

sourceVpcId

Die Quell-ID. VPC

vpc- xxxxxxxx

requestPath

Den Pfad der Anfrage.

LatticePath?:path

startTime

Die Startzeit der Anfrage.

YYYY- MM - DD T HHMM: SS Z

protocol

Das Protokoll. Derzeit entweder HTTP /1.1 oder HTTP /2.

Zeichenfolge

responseCode

Der HTTP Antwortcode. Nur der Antwortcode für die letzten Header wird protokolliert. Weitere Informationen finden Sie unter Problembehandlung bei Zugriffsprotokollen.

Ganzzahl

bytesReceived

Die empfangenen Text- und Header-Bytes.

Ganzzahl

bytesSent

Die gesendeten Text- und Header-Bytes.

Ganzzahl

duration

Gesamtdauer der Anfrage in Millisekunden von der Startzeit bis zum letzten ausgehenden Byte.

Ganzzahl

requestToTargetDuration

Gesamtdauer der Anfrage in Millisekunden von der Startzeit bis zum letzten an das Ziel gesendeten Byte.

Ganzzahl

responseFromTargetDuration

Gesamtdauer der Anfrage in Millisekunden vom ersten vom Zielhost gelesenen Byte bis zum letzten an den Client gesendeten Byte.

Ganzzahl

grpcResponseCode

Der G-AntwortcodeRPC. Weitere Informationen finden Sie unter Statuscodes und ihre Verwendung in RPC g. Dieses Feld wird nur protokolliert, wenn der Dienst g unterstütztRPC.

Ganzzahl

callerPrincipal

Der authentifizierte Principal.

Zeichenfolge

callerX509SubjectCN

Der Name des Antragstellers (CN).

Zeichenfolge

callerX509IssuerOU

Der Emittent (OU).

Zeichenfolge

callerX509SANNameCN

Die Alternative des Emittenten (Name/CN).

Zeichenfolge

callerX509SANDNS

Der alternative Name des Betreffs (). DNS

Zeichenfolge

callerX509SANURI

Der alternative Name des Betreffs (URI).

Zeichenfolge

sourceVpcArn

Der Ort, ARN von VPC dem die Anfrage stammt.

arn:aws:ec2: ::vpc/ region account id

Beispiel

Es folgt ein Beispiel für einen Protokolleintrag.

{ "hostHeader": "example.com", "sslCipher": "-", "serviceNetworkArn": "arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/svn-1a2b3c4d", "resolvedUser": "Unknown", "authDeniedReason": "null", "requestMethod": "GET", "targetGroupArn": "arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1a2b3c4d", "tlsVersion": "-", "userAgent": "-", "serverNameIndication": "-", "destinationVpcId": "vpc-0abcdef1234567890", "sourceIpPort": "178.0.181.150:80", "targetIpPort": "131.31.44.176:80", "serviceArn": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-1a2b3c4d", "sourceVpcId": "vpc-0abcdef1234567890", "requestPath": "/billing", "startTime": "2023-07-28T20:48:45Z", "protocol": "HTTP/1.1", "responseCode": 200, "bytesReceived": 42, "bytesSent": 42, "duration": 375, "requestToTargetDuration": 1, "responseFromTargetDuration": 1, "grpcResponseCode": 1 }

Inhalt des Ressourcenzugriffsprotokolls

In der folgenden Tabelle werden die Felder eines Protokolleintrags für den Ressourcenzugriff beschrieben.

Feld Beschreibung Format
serviceNetworkArn

Das ServicenetzwerkARN.

arn: partition vpc-lattice: ::servicenetwork/ region account id

serviceNetworkResourceAssociationId

Die Ressourcen-ID des Dienstnetzwerks.

snra-xxx

vpcEndpointId

Die Endpunkt-ID, die für den Zugriff auf die Ressource verwendet wurde.

Zeichenfolge

sourceVpcArn

Die Quelle VPC ARN oder der Ort, VPC von dem aus die Verbindung initiiert wurde.

Zeichenfolge

resourceConfigurationArn

Die ARN Ressourcenkonfiguration, auf die zugegriffen wurde.

Zeichenfolge

protocol

Das Protokoll, das für die Kommunikation mit der Ressourcenkonfiguration verwendet wird. Derzeit wird nur TCP unterstützt.

Zeichenfolge

sourceIpPort

Die IP-Adresse und der Port der Quelle, die die Verbindung initiiert hat.

ip:port

destinationIpPort

Die IP-Adresse und der Port, über die die Verbindung initiiert wurde. Dies wird die IP von SN-E/SN-A sein.

ip:port

gatewayIpPort

Die IP-Adresse und der Port, die vom Ressourcen-Gateway für den Zugriff auf die Ressource verwendet werden.

ip:port

resourceIpPort

Die IP-Adresse und der Port der Ressource.

ip:port

Beispiel

Es folgt ein Beispiel für einen Protokolleintrag.

{ "eventTimestamp": "2024-12-02T10:10:10.123Z", "serviceNetworkArn": "arn:aws:vpc-lattice:us-west-2:1234567890:servicenetwork/sn-1a2b3c4d", "serviceNetworkResourceAssociationId": "snra-1a2b3c4d", "vpcEndpointId": "vpce-01a2b3c4d", "sourceVpcArn": "arn:aws:ec2:us-west-2:1234567890:vpc/vpc-01a2b3c4d", "resourceConfigurationArn": "arn:aws:vpc-lattice:us-west-2:0987654321:resourceconfiguration/rcfg-01a2b3c4d", "protocol": "tcp", "sourceIpPort": "172.31.23.56:44076", "destinationIpPort": "172.31.31.226:80", "gatewayIpPort": "10.0.28.57:49288", "resourceIpPort": "10.0.18.190:80" }

Problembehandlung bei Zugriffsprotokollen

Dieser Abschnitt enthält eine Erläuterung der HTTP Fehlercodes, die möglicherweise in Zugriffsprotokollen angezeigt werden.

Fehlercode Mögliche Ursachen

HTTP400: Schlechte Anfrage

  • Der Client hat eine falsch formatierte Anfrage gesendet, die nicht der HTTP Spezifikation entspricht.

  • Der Anforderungsheader hat für den gesamten Anforderungsheader oder mehr als 100 Header mehr als 60 KB überschritten.

  • Der Client hat die Verbindung beendet, bevor er den vollständigen Anfragetext gesendet hat.

HTTP403: Verboten

Die Authentifizierung wurde für den Dienst konfiguriert, aber die eingehende Anfrage ist weder authentifiziert noch autorisiert.

HTTP404: Dienst existiert nicht

Sie versuchen, eine Verbindung zu einem Dienst herzustellen, der nicht existiert oder der nicht im richtigen Servicenetzwerk registriert ist.

HTTP500: Interner Serverfehler

VPCLattice ist auf einen Fehler gestoßen, z. B. konnte keine Verbindung zu Zielen hergestellt werden.

HTTP502: Schlechtes Gateway

VPCLattice ist auf einen Fehler gestoßen.