Log koneksi untuk Application Load Balancer - Elastic Load Balancing

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

Log koneksi untuk Application Load Balancer

Elastic Load Balancing menyediakan log koneksi yang menangkap informasi terperinci tentang permintaan yang dikirim ke penyeimbang beban Anda. Setiap log berisi informasi seperti alamat IP dan port klien, port pendengar, sandi dan protokol TLS yang digunakan, latensi jabat tangan TLS, status koneksi, dan detail sertifikat klien. Anda dapat menggunakan log koneksi ini untuk menganalisis pola permintaan dan memecahkan masalah.

Log koneksi adalah fitur opsional Elastic Load Balancing yang dinonaktifkan secara default. Setelah mengaktifkan log koneksi untuk penyeimbang beban, Elastic Load Balancing menangkap log dan menyimpannya di bucket Amazon S3 yang Anda tentukan, sebagai file terkompresi. Anda dapat menonaktifkan log koneksi kapan saja.

Anda dikenakan biaya penyimpanan untuk Amazon S3, tetapi tidak dikenakan biaya untuk bandwidth yang digunakan oleh Elastic Load Balancing untuk mengirim berkas log ke Amazon S3. Untuk informasi selengkapnya tentang biaya penyimpanan, lihat harga Amazon S3.

File log koneksi

Elastic Load Balancing menerbitkan berkas log untuk setiap simpul penyeimbang beban setiap 5 menit. Pengiriman log pada akhirnya konsisten. Penyeimbang beban dapat mengirimkan beberapa log untuk periode yang sama. Hal ini biasanya terjadi jika situs memiliki lalu lintas tinggi.

Nama file log koneksi menggunakan format berikut:

bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/conn_log.aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
bucket

Nama bucket S3 Anda.

prefix

(Opsional) Awalan (hierarki logis) untuk bucket. Awalan yang Anda tentukan tidak boleh menyertakan stringAWSLogs. Untuk informasi selengkapnya, lihat Mengatur objek menggunakan awalan.

AWSLogs

Kami menambahkan bagian dari nama file dimulai dengan AWSLogs setelah nama bucket dan awalan opsional yang Anda tentukan.

aws-account-id

ID AWS akun pemilik.

region

Wilayah untuk penyeimbang beban dan bucket S3 Anda.

yyyy/mm/dd

Tanggal pengiriman log.

load-balancer-id

ID sumber daya penyeimbang beban. Jika ID sumber daya berisi garis miring (/) apa pun, mereka akan diganti dengan titik (.).

akhir zaman

Tanggal dan waktu interval pengelogan berakhir. Misalnya, waktu akhir 20140215T2340Z berisi entri untuk permintaan yang dibuat antara 23:35 dan 23:40 dalam waktu UTC atau Zulu.

alamat ip

Alamat IP simpul penyeimbang beban yang menangani permintaan. Untuk penyeimbang beban internal, ini adalah alamat IP privat.

string acak

String acak yang dihasilkan sistem.

Berikut ini adalah contoh nama file log dengan awalan:

s3://my-bucket/my-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/conn_log.123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

Berikut ini adalah contoh nama file log tanpa awalan:

s3://my-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/conn_log.123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

Anda dapat menyimpan file log dalam bucket selama yang diinginkan, tetapi Anda juga dapat menentukan aturan siklus hidup Amazon S3 untuk mengarsipkan atau menghapus file log secara otomatis. Untuk informasi selengkapnya, lihat Manajemen siklus hidup objek di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Entri log koneksi

Setiap upaya koneksi memiliki entri dalam file log koneksi. Bagaimana permintaan klien dikirim ditentukan oleh koneksi yang persisten, atau tidak persisten. Koneksi nonpersistent memiliki satu permintaan, yang menciptakan satu entri di log akses dan log koneksi. Koneksi persisten memiliki beberapa permintaan, yang membuat beberapa entri di log akses dan satu entri di log koneksi.

Sintaks

Entri log koneksi menggunakan format berikut:

[timestamp] [client_ip] [client_port] [listener_port] [tls_protocol] [tls_cipher] [tls_handshake_latency] [leaf_client_cert_subject] [leaf_client_cert_validity] [leaf_client_cert_serial_number] [tls_verify_status]

Tabel berikut menjelaskan bidang entri log koneksi, secara berurutan. Semua bidang dibatasi oleh spasi. Saat bidang baru diperkenalkan, mereka ditambahkan ke akhir entri log. Anda harus mengabaikan bidang apa pun pada akhir entri log yang tidak Anda harapkan.

Bidang Deskripsi

timestamp

Waktu, dalam format ISO 8601, ketika penyeimbang beban berhasil dibuat atau gagal membuat koneksi.

client_ip

Alamat IP dari klien yang meminta.

client_port

Port klien yang meminta.

listener_port

Port pendengar penyeimbang beban menerima permintaan klien.

tls_protocol

[HTTPS listener] Protokol SSL/TLS yang digunakan selama jabat tangan. Bidang ini diatur - untuk permintaan non-SSL/TLS.

tls_cipher

[HTTPS listener] Protokol SSL/TLS yang digunakan selama jabat tangan. Bidang ini diatur - untuk permintaan non-SSL/TLS.

tls_handshake_latency

[HTTPS listener] Total waktu dalam hitungan detik, dengan presisi milidetik, berlalu saat membuat jabat tangan yang sukses. Bidang ini diatur ke - kapan:

  • Permintaan yang masuk bukan permintaan SSL/TLS.

  • Jabat tangan tidak berhasil dibuat.

leaf_client_cert_subject

[HTTPS listener] Nama subjek dari sertifikat klien daun. Bidang ini diatur ke - kapan:

  • Permintaan yang masuk bukan permintaan SSL/TLS.

  • Pendengar penyeimbang beban tidak dikonfigurasi dengan mTL diaktifkan.

  • Server tidak dapat memuat/mengurai sertifikat klien daun.

leaf_client_cert_validitas

[HTTPS listener] Validitas, dengan not-before dan not-after dalam format ISO 8601, dari sertifikat klien daun. Bidang ini diatur ke - kapan:

  • Permintaan yang masuk bukan permintaan SSL/TLS.

  • Pendengar penyeimbang beban tidak dikonfigurasi dengan mTL diaktifkan.

  • Server tidak dapat memuat/mengurai sertifikat klien daun.

leaf_client_cert_serial_number

[HTTPS listener] Nomor seri sertifikat klien daun. Bidang ini diatur ke - kapan:

  • Permintaan yang masuk bukan permintaan SSL/TLS.

  • Pendengar penyeimbang beban tidak dikonfigurasi dengan mTL diaktifkan.

  • Server tidak dapat memuat/mengurai sertifikat klien daun.

tls_verify_status

[HTTPS listener] Status permintaan koneksi. Nilai ini adalah Success jika koneksi berhasil dibuat. Pada koneksi yang gagal nilainya adalahFailed:$error_code.

conn_trace_id

ID ketertelusuran koneksi adalah ID buram unik yang digunakan untuk mengidentifikasi setiap koneksi. Setelah koneksi dibuat dengan klien, permintaan berikutnya dari klien ini akan berisi ID ini di entri log akses masing-masing. ID ini bertindak sebagai kunci asing untuk membuat tautan antara koneksi dan log akses.

Kode alasan kesalahan

Jika penyeimbang beban tidak dapat membuat koneksi, penyeimbang beban menyimpan salah satu kode alasan berikut di log koneksi.

Kode Deskripsi

ClientCertMaxChainDepthExceeded

Kedalaman rantai sertifikat klien maksimum telah terlampaui

ClientCertMaxSizeExceeded

Ukuran sertifikat klien maksimum telah terlampaui

ClientCertCrlHit

Sertifikat klien telah dicabut oleh CA

ClientCertCrlProcessingError

Kesalahan pemrosesan CRL

ClientCertUntrusted

Sertifikat klien tidak dipercaya

ClientCertNotYetValid

Sertifikat klien belum valid

ClientCertExpired

Sertifikat klien kedaluwarsa

ClientCertTypeUnsupported

Jenis sertifikat klien tidak didukung

ClientCertInvalid

Sertifikat klien tidak valid

ClientCertRejected

Sertifikat klien ditolak oleh validasi server kustom

UnmappedConnectionError

Kesalahan koneksi runtime yang tidak dipetakan

Contoh Entri log

Berikut ini adalah contoh entri log koneksi.

Berikut ini adalah contoh entri log untuk koneksi yang berhasil dengan pendengar HTTPS dengan mode verifikasi TLS timbal balik diaktifkan pada port 443:

2023-10-04T17:05:15.514108Z 203.0.113.1 36280 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 4.036 "CN=amazondomains.com,O=endEntity,L=Seattle,ST=Washington,C=US" NotBefore=2023-09-21T22:43:21Z;NotAfter=2026-06-17T22:43:21Z FEF257372D5C14D4 Success

Berikut ini adalah contoh entri log untuk koneksi yang gagal dengan pendengar HTTPS dengan modus verifikasi TLS timbal balik diaktifkan pada port 443. :

2023-10-04T17:05:15.514108Z 203.0.113.1 36280 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 - "CN=amazondomains.com,O=endEntity,L=Seattle,ST=Washington,C=US" NotBefore=2023-09-21T22:43:21Z;NotAfter=2026-06-17T22:43:21Z FEF257372D5C14D4 Failed:ClientCertUntrusted

Memproses file log koneksi

File log koneksi dikompresi. Jika Anda membuka file menggunakan konsol Amazon S3, file tersebut tidak terkompresi dan informasinya ditampilkan. Jika mengunduh file-nya, Anda harus membatalkan kompresinya untuk melihat informasi.

Jika ada banyak permintaan di situs web Anda, penyeimbang beban Anda dapat menghasilkan berkas log dengan gigabyte data. Anda mungkin tidak dapat memproses data dalam jumlah besar menggunakan line-by-line pemrosesan. Oleh karena itu, Anda mungkin harus menggunakan alat analisis yang memberikan solusi pemrosesan paralel. Misalnya, Anda dapat menggunakan alat analisis berikut untuk menganalisis dan memproses log koneksi:

  • Amazon Athena adalah layanan kueri interaktif yang memudahkan untuk menganalisis data di Amazon S3 menggunakan SQL standar.

  • Loggly

  • Splunk

  • Logika sumo