Log Query Network Load Balancer - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Log Query Network Load Balancer

Gunakan Athena untuk menganalisis dan memproses log dari Network Load Balancer. Log ini menerima informasi rinci tentang permintaan Transport Layer Security (TLS) yang dikirim ke Network Load Balancer. Anda dapat menggunakan log akses ini untuk menganalisis pola lalu lintas dan memecahkan masalah.

Sebelum Anda menganalisis log akses Network Load Balancer, aktifkan dan konfigurasikan untuk disimpan di bucket Amazon S3 tujuan. Untuk informasi selengkapnya, dan untuk informasi tentang setiap entri log akses Network Load Balancer, lihat Log akses untuk Network Load Balancer Anda.

Untuk membuat tabel untuk log Network Load Balancer Anda
  1. Salin dan tempel DDL pernyataan berikut ke konsol Athena. Periksasintaksdari catatan log Network Load Balancer. Perbarui pernyataan sebagaimana diperlukan untuk menyertakan kolom dan regex yang sesuai dengan catatan log Anda.

    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';
  2. MemodifikasiLOCATIONBucket Amazon S3 untuk menentukan tujuan log Network Load Balancer Anda.

  3. Jalankan kueri di konsol Athena. Setelah kueri selesai, Athena registernlb_tls_logstabel, membuat data di dalamnya siap untuk mengkueri.

Kueri contoh

Untuk melihat berapa kali sertifikat yang digunakan, gunakan kueri yang mirip dengan contoh ini:

SELECT count(*) AS ct, cert_arn FROM "nlb_tls_logs" GROUP BY cert_arn;

Kueri berikut menunjukkan berapa banyak pengguna yang menggunakan TLS versi lebih awal dari 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;

Gunakan kueri berikut untuk mengidentifikasi koneksi yang membutuhkan waktu TLS berjabat tangan lama:

SELECT * FROM "nlb_tls_logs" ORDER BY tls_handshake_time_ms DESC LIMIT 10;

Gunakan kueri berikut untuk mengidentifikasi dan menghitung versi TLS protokol dan cipher suite mana yang telah dinegosiasikan dalam 30 hari terakhir.

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;