Log di accesso per il Network Load Balancer - Sistema di bilanciamento del carico elastico

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 il Network Load Balancer

Elastic Load Balancing fornisce log di accesso che raccolgono informazioni dettagliate sulle TLS connessioni stabilite con il Network Load Balancer. Puoi utilizzare questi log per analizzare i modelli di traffico e risolvere i problemi che potresti incontrare.

Importante

I log di accesso vengono creati solo se il load balancer dispone di un TLS listener e contengono solo informazioni sulle richieste. TLS I registri di accesso registrano le richieste con la massima diligenza possibile. Ti consigliamo di utilizzare i log di accesso per comprendere la natura delle richieste e non come resoconto completo di tutte le richieste.

La registrazione degli accessi è una funzionalità facoltativa di Elastic Load Balancing che viene disabilitata per impostazione predefinita. Dopo aver abilitato la registrazione degli accessi per il sistema di bilanciamento del carico, Elastic Load Balancing acquisisce i log come file compressi e li archivia nel bucket Amazon S3 specificato. Puoi disabilitare la registrazione degli accessi in qualsiasi momento.

Puoi abilitare la crittografia lato server con le chiavi di crittografia gestite da Amazon S3 (SSE-S3) o utilizzare il servizio di gestione delle chiavi con chiavi gestite dal cliente (SSE- KMSCMK) per il tuo bucket S3. Ogni file di log di accesso viene crittografato automaticamente prima di essere archiviato nel bucket S3 e decrittografato quando vi accedi. Non hai bisogno di intervenire in alcun modo in quanto non vi sono differenze nella modalità in cui accedi ai file di log crittografati e non crittografati. Ogni file di registro è crittografato con una chiave unica, a sua volta crittografata con una chiave che viene ruotata regolarmente. KMS Per ulteriori informazioni, consulta Specificare la crittografia Amazon S3 SSE (-S3) e Specificare la crittografia lato server con ( AWS KMS -SSE) KMS nella Guida per l'utente di Amazon S3.

Non sono previsti costi aggiuntivi per i log di accesso. Vengono addebitati i costi di archiviazione per Amazon S3, ma non per la larghezza di banda utilizzata da Elastic Load Balancing per inviare i file di log ad Amazon S3. Per ulteriori informazioni sui costi di storage, consultare Prezzi di Amazon S3.

File di log di accesso

Elastic Load Balancing pubblica un file di log per ciascun nodo del sistema di bilanciamento del carico ogni 5 minuti. La consegna dei log è caratterizzata da consistenza finale. Il load balancer è in grado di consegnare più log per lo stesso periodo. In genere questo accade se il sito è a traffico elevato.

I nomi dei file di log di accesso utilizzano il formato seguente:

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

Nome del bucket S3.

prefisso

Il prefisso (gerarchia logica) nel bucket. Se non specifichi un prefisso, i log vengono collocati a livello di root del bucket.

aws-account-id

L' Account AWS ID del proprietario.

Regione

La regione del load balancer e del bucket S3.

yyyy/mm/dd

La data in cui il log è stato consegnato.

load-balancer-id

L'ID risorsa del sistema di bilanciamento del carico. Se l'ID risorsa contiene barre (/), queste sono sostituite da punti (.).

end-time

La data e l'ora di fine dell'intervallo dei log. Ad esempio, l'ora di fine 20181220T2340Z contiene le voci delle richieste effettuate tra le 23:35 e le 23:40.

random-string

Una stringa casuale generata dal sistema.

Di seguito è riportato un esempio di nome di file di log:

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

È possibile archiviare i file di log nel bucket per un periodo di tempo indeterminato, ma è anche possibile definire regole per il ciclo di vita di Amazon S3 per archiviare o eliminare automaticamente i file di log. Per ulteriori informazioni, consulta Gestione del ciclo di vita dello storage nella Guida per l'utente di Amazon S3.

Voci dei log di accesso

La seguente tabella descrive, in ordine, i campi di una voce di un log di accesso. Tutti i campi sono delimitati da spazi. Quando ne vengono introdotti di nuovi, i campi vengono aggiunti alla fine della voce del log. Quando si elaborano i file di log, consigliamo di ignorare eventuali campi inattesi alla fine della voce di log.

Campo Descrizione

tipo

Il tipo di listener. Il valore supportato è tls.

version

La versione della voce di log. La versione corrente è 2.0.

time

L'ora registrata alla fine della TLS connessione, in formato ISO 8601.

elb

L'ID risorsa del sistema di bilanciamento del carico.

ascoltatore

L'ID della risorsa del TLS listener per la connessione.

client:port

L'indirizzo IP e la porta del client.

destination:port

L'indirizzo IP e la porta di destinazione. Se il client si connette direttamente al sistema di bilanciamento del carico, la destinazione è il listener. Se il client si connette utilizzando un servizio VPC endpoint, la destinazione è l'VPCendpoint.

connection_time

Il tempo totale per il completamento della connessione, dall'inizio alla chiusura, in millisecondi.

tls_handshake_time

Il tempo totale di completamento dell'TLShandshake dopo aver stabilito la TCP connessione, inclusi i ritardi sul lato client, in millisecondi. Questo tempo è incluso nel campo connection_time.

received_bytes

Il numero di byte ricevuti dal sistema di bilanciamento del carico dal client, dopo la decrittografia.

sent_bytes

Il numero di byte inviati dal sistema di bilanciamento del carico al client, prima della decrittografia.

incoming_tls_alert

Il valore intero degli TLS avvisi ricevuti dal load balancer dal client, se presenti. In caso contrario, questo valore è impostato su -.

chosen_cert_arn

Il ARN certificato fornito al client. Se non viene inviato un messaggio di saluto client valido, questo valore è impostato su -.

chosen_cert_serial

Riservato per uso futuro. Questo valore è sempre impostato su -.

tls_cipher

La suite di crittografia negoziata con il cliente, in formato aperto. SSL Se TLS la negoziazione non viene completata, questo valore viene impostato su -.

tls_protocol_version

Il TLS protocollo negoziato con il client, in formato stringa. I valori possibili sono tlsv10, tlsv11, tlsv12 e tlsv13. Se TLS la negoziazione non viene completata, questo valore viene impostato su -.

tls_named_group

Riservato per uso futuro. Questo valore è sempre impostato su -.

domain_name

Il valore dell'estensione nome_server nel messaggio di saluto client. Questo valore è codificato in base alla URL codifica. Se non viene inviato un messaggio di saluto client valido o l'estensione non è presente, questo valore è impostato su -.

alpn_fe_protocol

Il protocollo dell’applicazione negoziato con il client, in formato stringa. I valori possibili sono h2, http/1.1 e http/1.0. Se non è configurata alcuna ALPN politica nel TLS listener, non viene trovato alcun protocollo corrispondente o non viene inviato un elenco di protocolli valido, questo valore viene impostato su -.

alpn_be_protocol

Il protocollo dell’applicazione negoziato con il client, in formato stringa. I valori possibili sono h2, http/1.1 e http/1.0. Se non è configurata alcuna ALPN politica nel TLS listener, non viene trovato alcun protocollo corrispondente o non viene inviato un elenco di protocolli valido, questo valore viene impostato su -.

alpn_client_preference_list

Il valore dell'estensione application_layer_protocol_negotiation nel messaggio di benvenuto del client. Questo valore è URL codificato. Ogni protocollo è racchiuso tra virgolette e i protocolli sono separati da una virgola. Se non è configurata alcuna ALPN politica nel TLS listener, non viene inviato alcun messaggio di saluto al client valido o l'estensione non è presente, questo valore è impostato su -. La stringa viene troncata se è più lunga di 256 byte.

tls_connection_creation_time

L'ora registrata all'inizio della TLS connessione, in formato ISO 8601.

Voci di log di esempio

Di seguito sono riportati esempi di voci di log; Il testo appare su più linee solo per semplificarne la lettura.

Di seguito è riportato un esempio di TLS ascoltatore senza policy. 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

Di seguito è riportato un esempio di TLS ascoltatore con una ALPN politica.

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

Requisiti del bucket

Quando abiliti la registrazione degli accessi, devi specificare un bucket S3 per i log di accesso. Il bucket può essere di proprietà di un account differente rispetto all'account proprietario del load balancer. Il bucket deve soddisfare i seguenti requisiti.

Requisiti
  • Il bucket deve trovarsi nella stessa regione del load balancer.

  • Il prefisso specificato non deve includere AWSLogs. Aggiungiamo la parte del nome del file che inizia con AWSLogs dopo il nome del bucket e il prefisso specificato.

  • Il bucket deve disporre di una relativa policy che conceda l'autorizzazione a scrivere i log di accesso nel bucket. Le policy dei bucket sono una raccolta di JSON istruzioni scritte nel linguaggio delle policy di accesso per definire le autorizzazioni di accesso per il bucket. Di seguito è riportata una policy di esempio.

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

Nella policy precedente, per aws:SourceAccount, specifica l'elenco dei numeri di account per i quali i log vengono consegnati a questo bucket. Peraws:SourceArn, specifica l'elenco ARNs della risorsa che genera i log, nel modulo. arn:aws:logs:source-region:source-account-id:*

Crittografia

Puoi abilitare la crittografia lato server per il bucket di log di accesso Amazon S3 in uno dei seguenti modi:

  • Chiavi gestite da Amazon S3 (SSE-S3)

  • AWS KMS chiavi memorizzate in AWS Key Management Service (-) † SSE KMS

† Con i log di accesso a Network Load Balancer, non è possibile utilizzare chiavi AWS gestite, ma solo chiavi gestite dal cliente.

Per ulteriori informazioni, consulta Specificare la crittografia Amazon S3 SSE (-S3) e Specificare la crittografia lato server con ( AWS KMS -SSE) KMS nella Guida per l'utente di Amazon S3.

La policy della chiave deve consentire al servizio di crittografare e decrittografare i log. Di seguito è riportata una policy di esempio.

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

Abilitazione della registrazione degli accessi

Quando abiliti la registrazione degli accessi per il sistema di bilanciamento del carico, devi specificare il bucket S3 in cui il sistema archivierà i log. Assicurati di esserne il proprietario e di avere configurato la policy del bucket richiesta. Per ulteriori informazioni, consulta Requisiti del bucket.

Per abilitare la registrazione degli accessi tramite la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Selezionare Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Seleziona il nome del sistema di bilanciamento del carico per aprirne la pagina dei dettagli.

  4. Nella scheda Attributi, scegli Modifica.

  5. Nella pagina Edit load balancer attributes (Modifica gli attributi del sistema di bilanciamento del carico), procedere come segue:

    1. In Monitoraggio, attiva Log di accesso.

    2. Scegli Sfoglia S3 e seleziona il bucket da usare. In alternativa, inserisci il percorso del bucket S3, compreso l'eventuale prefisso.

    3. Scegli Save changes (Salva modifiche).

Per abilitare la registrazione degli accessi utilizzando il AWS CLI

Usare il modify-load-balancer-attributescomando.

Disabilitazione della registrazione degli accessi

Puoi disabilitare la registrazione degli accessi per il tuo sistema di bilanciamento del carico in qualsiasi momento. Dopo avere disabilitato la registrazione degli accessi, i log di accesso rimangono nel tuo bucket S3 finché non li elimini. Per ulteriori informazioni, consulta Utilizzo dei bucket nella Guida per l'utente di Amazon Simple Storage Service.

Per disabilitare la registrazione degli accessi tramite la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Selezionare Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Seleziona il nome del sistema di bilanciamento del carico per aprirne la pagina dei dettagli.

  4. Nella scheda Attributi, scegli Modifica.

  5. In Monitoraggio, disabilita Log di accesso.

  6. Scegli Save changes (Salva modifiche).

Per disabilitare la registrazione degli accessi utilizzando il AWS CLI

Usare il modify-load-balancer-attributescomando.

Elaborazione dei file di log di accesso

I file di log di accesso sono compressi. Se li apri tramite la console Amazon S3, i file vengono decompressi e le informazioni visualizzate. Se scarichi i file, li devi decomprimere per visualizzare le informazioni.

Se il sito Web ha notevole quantità di domanda, il tuo load balancer può generare i file di log con i gigabyte di dati. Potresti non essere in grado di elaborare una quantità così grande di dati utilizzando l' line-by-line elaborazione. Pertanto, potresti dover utilizzare gli strumenti di analisi che offrono soluzioni di elaborazione parallela. Ad esempio, puoi utilizzare i seguenti strumenti per analizzare ed elaborare i log di accesso: