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 Zugriffsprotokolle aktiviert haben, können Sie sie jederzeit deaktivieren.
Preisgestaltung
Wenn Zugriffsprotokolle veröffentlicht werden, fallen Gebühren an. Protokolle, die AWS nativ in Ihrem Namen veröffentlicht werden, werden als Verkaufsprotokolle bezeichnet. Weitere Informationen zur Preisgestaltung für verkaufte Logs finden Sie unter CloudWatch Amazon-Preise
Inhalt
Zum Aktivieren von Zugriffsprotokollen sind IAM-Berechtigungen erforderlich
Um Zugriffsprotokolle zu aktivieren und die Protokolle an ihre Ziele zu senden, muss die Richtlinie, die dem IAM-Benutzer, der Gruppe oder der Rolle zugeordnet ist, die Sie verwenden, die folgenden Aktionen enthalten.
Informationen finden Sie im Abschnitt Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im AWS Identity and Access Management -Benutzerhandbuch.
Nachdem Sie die Richtlinie aktualisiert haben, die dem IAM-Benutzer, der Gruppe oder der Rolle zugeordnet ist, den Sie verwenden, gehen Sie zu. Aktivieren der Zugriffsprotokolle
Auf Ziele für Logs zugreifen
Sie können Zugriffsprotokolle an die folgenden Ziele senden.
CloudWatch Amazon-Protokolle
-
VPC Lattice übermittelt Logs in der Regel innerhalb von 2 CloudWatch Minuten an Logs. Beachten Sie jedoch, dass die tatsächliche Protokollzustellung nach bestem Wissen und Gewissen 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 im CloudWatch Amazon-Benutzerhandbuch unter An CloudWatch Logs gesendete Protokolle.
-
Die 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
-
VPC Lattice übermittelt Protokolle in der Regel innerhalb von 6 Minuten an Amazon S3. Beachten Sie jedoch, dass die tatsächliche Protokollzustellung nach bestem Wissen und Gewissen erfolgt und es zu zusätzlichen Latenzen kommen kann.
-
Eine Bucket-Richtlinie wird automatisch erstellt und Ihrem Amazon S3-Bucket hinzugefügt, falls der Bucket nicht über bestimmte Berechtigungen verfügt. Weitere Informationen finden Sie im CloudWatch Amazon-Benutzerhandbuch unter An Amazon S3 gesendete Protokolle.
-
Zugriffsprotokolle, die an Amazon S3 gesendet werden, verwenden die folgende Namenskonvention:
[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
-
VPC Lattice übermittelt Protokolle in der Regel innerhalb von 2 Minuten an Firehose. Beachten Sie jedoch, dass die tatsächliche Protokollzustellung nach bestem Wissen und Gewissen erfolgt und es zu zusätzlichen Latenzen kommen kann.
-
Es wird automatisch eine serviceverknüpfte Rolle erstellt, die VPC Lattice die Berechtigung zum Senden von Zugriffsprotokollen erteilt. Amazon Data Firehose Damit die automatische Rollenerstellung erfolgreich ist, müssen die Benutzer über die Berechtigung für die Aktion
iam:CreateServiceLinkedRoleverfügen. Weitere Informationen finden Sie im CloudWatch Amazon-Benutzerhandbuch unter Amazon Data Firehose An gesendete Protokolle. -
Weitere Informationen zum Anzeigen der an Amazon Data Firehose gesendeten Protokolle finden Sie im Amazon Data Firehose Entwicklerhandbuch unter Überwachung von Amazon Kinesis Data Streams.
Aktivieren der Zugriffsprotokolle
Gehen Sie wie folgt vor, um Zugriffsprotokolle so zu konfigurieren, dass Zugriffsprotokolle erfasst und an das von Ihnen gewählte Ziel gesendet werden.
Inhalt
Aktivieren Sie 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.
So erstellen Sie einen Basisdienst mithilfe der Konsole
Öffnen Sie die Amazon-VPC-Konsole unter https://console.aws.amazon.com/vpc/
. -
Wählen Sie das Dienstnetzwerk, den Dienst oder die Ressourcenkonfiguration aus.
-
Wählen Sie Aktionen, Protokolleinstellungen bearbeiten.
-
Schalten Sie den Kippschalter Zugriffsprotokolle ein.
-
Fügen Sie wie folgt ein Lieferziel für Ihre Zugriffsprotokolle hinzu:
-
Wählen Sie CloudWatch Protokollgruppe und dann eine Protokollgruppe aus. Um eine Loggruppe zu erstellen, wählen Sie Loggruppe 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 aus.
-
-
Wählen Sie Änderungen speichern aus.
Aktivieren Sie Zugriffsprotokolle mit dem AWS CLI
Verwenden Sie den CLI-Befehl create-access-log-subscription, um Zugriffsprotokolle für Dienstnetzwerke oder Dienste zu aktivieren.
Nachverfolgung anfordern
VPC Lattice unterstützt mit dem Header x-amzn-requestid die Nachverfolgung und Korrelation von Anfragen über Clients, Ziele und Protokolle hinweg, um die Beobachtbarkeit und das Debuggen zu gewährleisten. Dieser Header kann vom Client gesetzt und gesendet oder von VPC Lattice generiert werden. Er wird an Ziele gesendet und ist auch in Zugriffsprotokollen verfügbar.
Standardverhalten
-
VPC Lattice generiert diesen Header automatisch für jede Anfrage.
-
Der Wert ist ein zufällig generierter Bezeichner (UUID-style standardmäßig).
Der generierte Bezeichner lautet:
-
Wird an nachgelagerte Ziele weitergegeben.
-
Wird in Antwort-Headern an die Clients zurückgegeben.
-
Eingeloggte Zugriffsprotokolle
-
Beispiel (Standardantwort)
Das Folgende ist ein Beispiel für eine an den Client gesendete Antwort mit dem Standardverhalten von VPC Lattice, das einen Zufallswert für den Wert des x-amzn-requestid-Headers generiert.
{
"HTTP/1.1 200 OK
x-amzn-requestid: a9f2c7a1-6b4f-4c79-9e87-ff5a1234a001"
}
Der Client legt den Wert fest
-
Clients können diesen Header optional für eingehende Anfragen festlegen, um den automatisch generierten Wert zu überschreiben.
Überlegungen
-
Der Header-Wert muss keinem UUID-Format folgen.
-
Wenn der Header-Wert 512 Byte überschreitet, kürzt VPC Lattice ihn auf 512.
-
-
Bei erfolgreichem Überschreiben wird der angegebene Header-Wert:
-
Erscheint in den Antwort-Headern
-
Wird an Ziele weitergegeben
-
Erscheint in Zugriffsprotokollen und Metriken
-
Beispiel (Kundenanfrage überschreiben)
Das Folgende ist ein Beispiel für eine vom Client gesendete Anfrage mit einem Header-Wert.
{
"GET /my-service/endpoint HTTP/1.1
Host: my-api.example.com
x-amzn-requestid: trace-request-foobar"
}
Beispiel (Standard-Override-Antwort)
Das Folgende ist ein Beispiel für eine Antwort, die mit dem überschriebenen Wert an den Client gesendet wurde.
{
"HTTP/1.1 200 OK
x-amzn-requestid: trace-request-foobar"
}
Auf den Inhalt des Protokolls zugreifen
Die folgende Tabelle beschreibt die Felder eines Zugriffsprotokolleintrags.
| Feld | Description | Format |
|---|---|---|
callerPrincipalTags
|
Das PrincipalTags in der Anfrage. |
JSON |
hostHeader
|
Der Authority Header der Anfrage. |
Zeichenfolge |
sslCipher
|
Der OpenSSL-Name für den Satz von Chiffren, der zum Aufbau der Client-TLS-Verbindung verwendet wird. |
Zeichenfolge |
serviceNetworkArn
|
Das Dienstnetzwerk-ARN. |
arn:aws:vpc-lattice: ::servicenetwork/ |
resolvedUser
|
Der ARN des Benutzers, wenn die Authentifizierung aktiviert ist und die Authentifizierung abgeschlossen ist. |
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. |
TLSv |
userAgent
|
Der User-Agent-Header. |
Zeichenfolge |
serverNameIndication
|
[Nur HTTPS] Der Wert, der auf dem SSL-Verbindungs-Socket für Server Name Indication (SNI) festgelegt wurde. |
Zeichenfolge |
destinationVpcId
|
Die Ziel-VPC-ID. |
vpc- |
sourceIpPort
|
Die IP-Adresse und:Port der Quelle. |
|
targetIpPort
|
Die IP-Adresse und der Port des Ziels. |
|
serviceArn
|
Der Dienst-ARN. |
arn:aws:vpc-lattice: ::service/ |
sourceVpcId
|
Die Quell-VPC-ID. |
vpc- |
requestPath
|
Den Pfad der Anfrage. |
LatticePath?: |
startTime
|
Die Startzeit der Anfrage. |
|
protocol
|
Das Protokoll. Derzeit entweder HTTP/1.1 oder HTTP/2. |
Zeichenfolge |
responseCode
|
Der HTTP-Antwort-Code. 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 Byteausgang. |
Ganzzahl |
requestToTargetDuration
|
Gesamtdauer der Anfrage in Millisekunden von der Startzeit bis zum letzten Byte, das an das Ziel gesendet wurde. |
Ganzzahl |
responseFromTargetDuration
|
Gesamtdauer der Anfrage in Millisekunden vom ersten Byte, das vom Zielhost gelesen wurde, bis zum letzten Byte, das an den Client gesendet wurde. |
Ganzzahl |
grpcResponseCode
|
Der gRPC-Antwortcode. Weitere Informationen finden Sie unter Statuscodes und ihre Verwendung in gRPC. |
Ganzzahl |
requestId
|
Dies ist eine eindeutige Kennung, die automatisch als Wert des x-amzn-requestid-Headers in den Antworten enthalten ist. Er ermöglicht die Korrelation von Anfragen zwischen Clients, Zielen und Protokollen zur besseren Beobachtbarkeit und zum Debuggen. |
Zeichenfolge |
callerPrincipal
|
Der authentifizierte Principal. |
Zeichenfolge |
callerX509SubjectCN
|
Der Betreffname (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 Betreffname (URI). |
Zeichenfolge |
sourceVpcArn
|
Der ARN der VPC, von der die Anfrage stammt. |
arn:aws:ec2: ::vpc/ |
failureReason |
Gibt den Grund an, warum eine Anfrage fehlgeschlagen ist. Die folgenden Werte sind möglich:
|
Zeichenfolge |
Beispiel
Es folgt ein Beispiel für einen Protokolleintrag.
{
"callerPrincipalTags" : "{ "TagA": "ValA", "TagB": "ValB", ... }",
"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,
"requestId": "a9f2c7a1-6b4f-4c79-9e87-ff5a1234a001"
}
Inhalt des Ressourcenzugriffsprotokolls
In der folgenden Tabelle werden die Felder eines Protokolleintrags für den Ressourcenzugriff beschrieben.
| Feld | Description | Format |
|---|---|---|
serviceNetworkArn
|
Das Dienstnetzwerk-ARN. |
arn: |
serviceNetworkResourceAssociationId
|
Die Ressourcen-ID des Dienstnetzwerks. |
|
vpcEndpointId
|
Die Endpunkt-ID, die für den Zugriff auf die Ressource verwendet wurde. |
Zeichenfolge |
sourceVpcArn
|
Der Quell-VPC-ARN oder die VPC, von der aus die Verbindung initiiert wurde. |
Zeichenfolge |
resourceConfigurationArn
|
Der ARN der 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. |
|
destinationIpPort
|
Die IP-Adresse und der Port, über den die Verbindung initiiert wurde. Dies wird die IP von sein SN-E/SN-A. |
|
gatewayIpPort
|
Die IP-Adresse und der Port, die vom Ressourcen-Gateway für den Zugriff auf die Ressource verwendet werden. |
|
resourceIpPort
|
Die IP-Adresse und der Port der Ressource. |
|
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 |
|---|---|
|
HTTP 400: Bad Request (Schlechte Anfrage) |
|
|
HTTP 403: Forbidden (Verboten) |
Die Authentifizierung wurde für den Dienst konfiguriert, aber die eingehende Anfrage ist nicht authentifiziert oder autorisiert. |
|
HTTP 404: Nicht vorhandener Dienst |
Sie versuchen, eine Verbindung zu einem Dienst herzustellen, der nicht existiert oder nicht im richtigen Servicenetzwerk registriert ist. |
|
HTTP 500: Internal Server Error (Interner Serverfehler) |
Bei VPC Lattice ist ein Fehler aufgetreten, z. B. konnte keine Verbindung zu Zielen hergestellt werden. |
|
HTTP 502: Bad Gateway |
Bei VPC Lattice ist ein Fehler aufgetreten. |