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à.
Interroga i log di Network Load Balancer
Utilizzare Athena per analizzare ed elaborare i log di Network Load Balancer. Questi registri ricevono informazioni dettagliate sulle richieste Transport Layer Security (TLS) inviate al Network Load Balancer. Puoi utilizzare questi log per analizzare i modelli di traffico e risolvere i problemi che potresti incontrare.
Prima di analizzare i log di accesso di Network Load Balancer, abilitarli e configurali affinché siano salvati nel bucket Amazon S3 di destinazione. Per ulteriori informazioni e per informazioni su ogni voce del log di accesso a Network Load Balancer, consulta Log di accesso al Network Load Balancer.
Per creare la tabella per i log di Network Load Balancer
-
Copia e incolla la seguente DDL dichiarazione nella console Athena. Controlla la sintassi dei record di log di Network Load Balancer. Aggiorna l'istruzione come richiesto per includere le colonne e l'espressione regolare corrispondenti ai record di registro.
CREATE EXTERNAL TABLE IF NOT EXISTS nlb_tls_logs ( type string, version string, time string, elb string, listener_id string, client_ip string, client_port int, target_ip string, target_port int, tcp_connection_time_ms double, tls_handshake_time_ms double, received_bytes bigint, sent_bytes bigint, incoming_tls_alert int, cert_arn string, certificate_serial string, tls_cipher_suite string, tls_protocol_version string, tls_named_group string, domain_name string, alpn_fe_protocol string, alpn_be_protocol string, alpn_client_preference_list string, tls_connection_creation_time string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1', 'input.regex' = '([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*):([0-9]*) ([^ ]*):([0-9]*) ([-.0-9]*) ([-.0-9]*) ([-0-9]*) ([-0-9]*) ([-0-9]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ?([^ ]*)?( .*)?' ) LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/
AWS_account_ID
/elasticloadbalancing/region
'; -
Modifica il bucket Amazon S3
LOCATION
per specificare la destinazione dei tuoi log di Network Load Balancer. -
Eseguire la query nella console Athena. Una volta completata la query, Athena registra la tabella
nlb_tls_logs
, rendendo i dati in essa contenuti pronti per le query.
Query di esempio
Per vedere quante volte viene utilizzato un certificato, utilizzare una query simile a questo esempio:
SELECT count(*) AS ct, cert_arn FROM "nlb_tls_logs" GROUP BY cert_arn;
La seguente query mostra quanti utenti utilizzano una TLS versione precedente alla 1.3:
SELECT tls_protocol_version, COUNT(tls_protocol_version) AS num_connections, client_ip FROM "nlb_tls_logs" WHERE tls_protocol_version < 'tlsv13' GROUP BY tls_protocol_version, client_ip;
Usa la seguente query per identificare le connessioni che richiedono un lungo periodo di TLS handshake:
SELECT * FROM "nlb_tls_logs" ORDER BY tls_handshake_time_ms DESC LIMIT 10;
Utilizzate la seguente query per identificare e contare quali versioni di TLS protocollo e suite di crittografia sono state negoziate negli ultimi 30 giorni.
SELECT tls_cipher_suite, tls_protocol_version, COUNT(*) AS ct FROM "nlb_tls_logs" WHERE from_iso8601_timestamp(time) > current_timestamp - interval '30' day AND NOT tls_protocol_version = '-' GROUP BY tls_cipher_suite, tls_protocol_version ORDER BY ct DESC;