View a markdown version of this page

Log di accesso per Amazon VPC Lattice - Amazon VPC Lattice

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Log di accesso per Amazon VPC Lattice

I log di accesso acquisiscono informazioni dettagliate sui servizi VPC Lattice e sulle configurazioni delle risorse. Puoi utilizzare questi log di accesso per analizzare i modelli di traffico e controllare tutti i servizi della rete. Per i servizi VPC Lattice, pubblichiamo VpcLatticeAccessLogs e per le configurazioni delle risorse, pubblichiamo, VpcLatticeResourceAccessLogs che devono essere configurate separatamente.

I log di accesso sono opzionali e sono disabilitati per impostazione predefinita. Dopo aver abilitato i log di accesso, è possibile disabilitarli in qualsiasi momento.

Prezzi

I costi si applicano quando vengono pubblicati i registri di accesso. I log che vengono pubblicati AWS in modo nativo per conto dell'utente sono denominati log venduti. Per ulteriori informazioni sui prezzi dei log vended, consulta Amazon CloudWatch Pricing, scegli Logs e visualizza i prezzi nella sezione Vended Logs.

Le autorizzazioni IAM sono necessarie per abilitare i log di accesso

Per abilitare i log di accesso e inviare i log alle rispettive destinazioni, devi inserire le seguenti azioni nella policy allegata all'utente, al gruppo o al ruolo IAM che stai utilizzando.

JSON
{ "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": [ "*" ] } ] }

Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di AWS Identity and Access Management .

Dopo aver aggiornato la policy allegata all'utente, al gruppo o al ruolo IAM che stai utilizzando, vai aAbilitare log di accesso.

Destinazioni dei log di accesso

È possibile inviare i log di accesso alle seguenti destinazioni.

Amazon CloudWatch Logs
  • In genere, VPC Lattice invia i CloudWatch log a Logs entro 2 minuti. Tuttavia, tieni presente che il tempo effettivo di consegna dei log è ottimale e potrebbe esserci una latenza aggiuntiva.

  • Una policy sulle risorse viene creata automaticamente e aggiunta al gruppo di CloudWatch log se il gruppo di log non dispone di determinate autorizzazioni. Per ulteriori informazioni, consulta la sezione Logs sent to CloudWatch Logs nella Amazon CloudWatch User Guide.

  • Puoi trovare i log di accesso inviati a CloudWatch Log Groups nella CloudWatch console. Per ulteriori informazioni, consulta Visualizzare i dati di registro inviati a CloudWatch Logs nella Amazon CloudWatch User Guide.

Simple Storage Service (Amazon S3)
  • In genere, VPC Lattice invia i log ad Amazon S3 entro 6 minuti. Tuttavia, tieni presente che il tempo effettivo di consegna dei log è ottimale e potrebbe esserci una latenza aggiuntiva.

  • Una bucket policy verrà creata automaticamente e aggiunta al bucket Amazon S3 se il bucket non dispone di determinate autorizzazioni. Per ulteriori informazioni, consulta i log inviati ad Amazon S3 nella Amazon User Guide. CloudWatch

  • I log di accesso inviati ad Amazon S3 utilizzano la seguente convenzione di denominazione:

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/AccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
  • VpcLatticeResourceAccessLogs inviati ad Amazon S3 utilizzano la seguente convenzione di denominazione:

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/ResourceAccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeResourceAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
Amazon Data Firehose
  • In genere, VPC Lattice invia i log a Firehose entro 2 minuti. Tuttavia, tieni presente che il tempo effettivo di consegna dei log è ottimale e potrebbe esserci una latenza aggiuntiva.

  • Viene creato automaticamente un ruolo collegato al servizio che concede a VPC Lattice l'autorizzazione a inviare i log di accesso a. Amazon Data Firehose Affinché la creazione automatica di un ruolo riesca, gli utenti devono disporre dell'autorizzazione per l'operazione iam:CreateServiceLinkedRole. Per ulteriori informazioni, consulta i log inviati a Amazon Data Firehose nella Amazon User Guide. CloudWatch

  • Per ulteriori informazioni sulla visualizzazione dei log inviati a Amazon Data Firehose, consulta Monitoring Amazon Kinesis Data Streams nella Amazon Data Firehose Developer Guide.

Abilitare log di accesso

Completa la seguente procedura per configurare i log di accesso in modo da acquisire e inviare i log di accesso alla destinazione scelta.

Abilita i log di accesso utilizzando la console

È possibile abilitare i log di accesso per una rete di servizi, un servizio o una configurazione di risorse durante la creazione. È inoltre possibile abilitare i log di accesso dopo aver creato una configurazione di rete di servizio, servizio o risorsa, come descritto nella procedura seguente.

Per creare un servizio di base utilizzando la console
  1. Apri la console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/.

  2. Seleziona la configurazione della rete di assistenza, del servizio o delle risorse.

  3. Scegli Azioni, Modifica le impostazioni del registro.

  4. Attiva l'interruttore a levetta dei registri degli accessi.

  5. Aggiungi una destinazione di consegna per i tuoi log di accesso come segue:

    • Seleziona CloudWatch Log group e scegli un gruppo di log. Per creare un gruppo di log, scegli Crea un gruppo di log in CloudWatch.

    • Seleziona il bucket S3 e inserisci il percorso del bucket S3, incluso qualsiasi prefisso. Per cercare nei bucket S3, scegli Browse S3.

    • Seleziona il flusso di consegna di Kinesis Data Firehose e scegli un flusso di consegna. Per creare un flusso di consegna, scegli Crea un flusso di consegna in Kinesis.

  6. Scegli Save changes (Salva modifiche).

Abilita i log di accesso utilizzando AWS CLI

Usa il comando CLI create-access-log-subscription per abilitare i log di accesso per reti o servizi di servizio.

Richiedi il tracciamento

VPC Lattice supporta il tracciamento e la correlazione delle richieste tra client, target e log per l'osservabilità e il debug con l'intestazione x-amzn-requestid. Questa intestazione può essere impostata e inviata dal client o generata da VPC Lattice e viene inviata alle destinazioni ed è disponibile anche nei log di accesso.

Comportamento predefinito
  • VPC Lattice genera automaticamente questa intestazione per ogni richiesta.

  • Il valore è un identificatore generato casualmente (per impostazione predefinita). UUID-style

  • L'identificatore generato è:

    • Propagato ai bersagli a valle.

    • Restituito nelle intestazioni delle risposte ai client.

    • Registri degli accessi registrati

Esempio (risposta predefinita)

Di seguito è riportato un esempio di risposta inviata al client con il comportamento predefinito di VPC Lattice che genera un valore casuale per il valore dell'intestazione x-amzn-requestid.

{ "HTTP/1.1 200 OK x-amzn-requestid: a9f2c7a1-6b4f-4c79-9e87-ff5a1234a001" }
Client che imposta il valore
  • I clienti possono facoltativamente impostare questa intestazione sulle richieste in arrivo per sovrascrivere il valore generato automaticamente.

  • Considerazioni

    • Il valore dell'intestazione non deve necessariamente seguire un formato UUID.

    • Se il valore dell'intestazione supera i 512 byte, VPC Lattice lo troncherà a 512.

  • Se sovrascritto con successo, il valore dell'intestazione fornito sarà:

    • Comparirà nelle intestazioni delle risposte

    • Essere propagati ai bersagli

    • Compaiono nei log e nelle metriche di accesso

Esempio (sovrascrivere la richiesta del cliente)

Di seguito è riportato un esempio di richiesta inviata dal client con un valore di intestazione.

{ "GET /my-service/endpoint HTTP/1.1 Host: my-api.example.com x-amzn-requestid: trace-request-foobar" }
Esempio (risposta di sostituzione predefinita)

Di seguito è riportato un esempio di risposta inviata al client con il valore sovrascritto.

{ "HTTP/1.1 200 OK x-amzn-requestid: trace-request-foobar" }

Contenuti del log di accesso

La seguente tabella descrive i campi di una voce di un log di accesso.

Campo Description Formato
callerPrincipalTags

Il PrincipalTags contenuto della richiesta.

JSON

hostHeader

L'intestazione dell'autorità della richiesta.

stringa

sslCipher

Il nome OpenSSL per il set di cifrari utilizzato per stabilire la connessione TLS del client.

stringa

serviceNetworkArn

La rete di servizi ARN.

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

resolvedUser

L'ARN dell'utente quando l'autenticazione è abilitata e l'autenticazione è completata.

null | ARN | «Anonimo» | «Sconosciuto»

authDeniedReason

Motivo per cui l'accesso viene negato quando l'autenticazione è abilitata.

null | «Servizio» | «Rete» | «Identità»

requestMethod

L'intestazione del metodo della richiesta.

stringa

targetGroupArn

Il gruppo host di destinazione a cui appartiene l'host di destinazione.

stringa

tlsVersion

La versione TLS.

TLSv x

userAgent

L'intestazione user-agent.

stringa

serverNameIndication

[Solo HTTPS] Il valore impostato sul socket di connessione ssl per Server Name Indication (SNI).

stringa

destinationVpcId

L'ID VPC di destinazione.

vpc- xxxxxxxx

sourceIpPort

L'indirizzo IP e:porta della sorgente.

ip:port

targetIpPort

L'indirizzo IP e la porta della destinazione.

ip:port

serviceArn

Il servizio ARN.

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

sourceVpcId

L'ID VPC di origine.

vpc- xxxxxxxx

requestPath

Il percorso della richiesta.

LatticePath?:path

startTime

L'ora di inizio della richiesta.

YYYYMM- DD T HHMM: SS Z

protocol

Il protocollo. Attualmente uno HTTP/1.1 o HTTP/2.

stringa

responseCode

Il codice di risposta HTTP. Viene registrato solo il codice di risposta per le intestazioni finali. Per ulteriori informazioni, consulta Risolvi i problemi relativi ai log di accesso.

intero

bytesReceived

I byte del corpo e dell'intestazione ricevuti.

intero

bytesSent

I byte del corpo e dell'intestazione inviati.

intero

duration

Durata totale in millisecondi della richiesta dall'ora di inizio all'ultimo byte in uscita.

intero

requestToTargetDuration

Durata totale in millisecondi della richiesta dall'ora di inizio all'ultimo byte inviato alla destinazione.

intero

responseFromTargetDuration

Durata totale in millisecondi della richiesta dal primo byte letto dall'host di destinazione all'ultimo byte inviato al client.

intero

grpcResponseCode

Il codice di risposta gRPC. Per ulteriori informazioni, vedere Codici di stato e loro utilizzo in gRPC. Questo campo viene registrato solo se il servizio supporta gRPC.

intero

requestId

Si tratta di un identificatore univoco incluso automaticamente nelle risposte come valore dell'intestazione x-amzn-requestid. Consente la correlazione delle richieste tra client, destinazioni e log per l'osservabilità e il debug.

stringa

callerPrincipal

Il principale autenticato.

stringa

callerX509SubjectCN

Il nome del soggetto (CN).

stringa

callerX509IssuerOU

L'emittente (OU).

stringa

callerX509SANNameCN

L'alternativa all'emittente ()Name/CN.

stringa

callerX509SANDNS

Il nome alternativo del soggetto (DNS).

stringa

callerX509SANURI

Il nome alternativo dell'oggetto (URI).

stringa

sourceVpcArn

L'ARN del VPC da cui ha avuto origine la richiesta.

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

failureReason

Indica il motivo per cui una richiesta non è riuscita. Di seguito sono riportati i valori possibili:

  • TargetConnectionError- La richiesta non è riuscita a connettersi a una destinazione nel gruppo di destinazione.

  • TargetProtocolError- La destinazione non ha risposto con dati validi. Ciò potrebbe indicare che la destinazione ha record TLS non validi o ha utilizzato un protocollo di gruppo di destinazione non valido.

  • TargetDataTimeout- È stato raggiunto il timeout di inattività.

  • TargetConnectionClosed- L'obiettivo ha chiuso la connessione prima di completare la risposta.

  • ClientConnectionClosed- Il client ha chiuso la connessione prima di ricevere la risposta completa.

  • ClientRateLimited- Il client ha superato il limite di connessione e VPC Lattice ha limitato la velocità.

  • ClientAccessDenied- VPC Lattice ha negato l'accesso alla risorsa. Utilizza il link authDeniedReason per ulteriori informazioni sul motivo per cui VPC Lattice ha negato l'accesso.

  • ClientProtocolError- Il cliente ha inviato dati che non sono stati compresi. Ciò potrebbe indicare che il client ha utilizzato record TLS non validi o un protocollo non valido.

  • ConnectionDurationExceeded- La connessione ha raggiunto il limite massimo di durata della connessione.

  • InternalError- Si è verificato un errore interno durante l'elaborazione della richiesta.

stringa
Esempio

Nell'esempio seguente viene mostrata una voce di log.

{ "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" }

Contenuto del registro di accesso alle risorse

La tabella seguente descrive i campi di una voce del registro di accesso alle risorse.

Campo Description Formato
serviceNetworkArn

L'ARN della rete di servizi.

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

serviceNetworkResourceAssociationId

L'ID della risorsa della rete di servizio.

snra-xxx

vpcEndpointId

L'ID dell'endpoint utilizzato per accedere alla risorsa.

stringa

sourceVpcArn

L'ARN del VPC di origine o il VPC da cui è stata avviata la connessione.

stringa

resourceConfigurationArn

L'ARN della configurazione della risorsa a cui è stato effettuato l'accesso.

stringa

protocol

Il protocollo utilizzato per comunicare con la configurazione della risorsa. Attualmente è supportato solo tcp.

stringa

sourceIpPort

L'indirizzo IP e la porta della fonte che ha avviato la connessione.

ip:port

destinationIpPort

L'indirizzo IP e la porta da cui è stata avviata la connessione. Questo sarà l'IP di. SN-E/SN-A

ip:port

gatewayIpPort

L'indirizzo IP e la porta utilizzati dal gateway delle risorse per accedere alla risorsa.

ip:port

resourceIpPort

L'indirizzo IP e la porta della risorsa.

ip:port

Esempio

Nell'esempio seguente viene mostrata una voce di log.

{ "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" }

Risolvi i problemi relativi ai log di accesso

Questa sezione contiene una spiegazione dei codici di errore HTTP che potresti visualizzare nei log degli accessi.

Codice di errore Possibili cause

HTTP 400: Bad Request

  • Il client ha inviato una richiesta non valida che non soddisfa le specifiche HTTP.

  • L'intestazione della richiesta ha superato i 60.000 per l'intera intestazione della richiesta o più di 100 intestazioni.

  • Il client ha chiuso la connessione prima di inviare l'intero corpo della richiesta.

HTTP 403: Forbidden

L'autenticazione è stata configurata per il servizio, ma la richiesta in arrivo non è autenticata o autorizzata.

HTTP 404: servizio inesistente

Stai tentando di connetterti a un servizio che non esiste o non è registrato nella rete di servizi corretta.

HTTP 500: Internal Server Error

VPC Lattice ha riscontrato un errore, ad esempio una mancata connessione alle destinazioni.

HTTP 502: Bad Gateway

VPC Lattice ha riscontrato un errore.