Log akses untuk Penyeimbang Beban Jaringan Anda - Elastic Load Balancing

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

Log akses untuk Penyeimbang Beban Jaringan Anda

Elastic Load Balancing menyediakan log akses yang menangkap informasi terperinci tentang koneksi TLS yang dibuat dengan Network Load Balancer Anda. Anda dapat menggunakan log akses ini untuk menganalisis pola lalu lintas dan memecahkan masalah.

penting

Log akses dibuat hanya jika penyeimbang beban memiliki pendengar TLS, dan log hanya berisi informasi tentang permintaan TLS. Akses log merekam permintaan dengan upaya terbaik. Sebaiknya gunakan log akses untuk memahami sifat permintaan, bukan sebagai penghitungan lengkap semua permintaan.

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

Anda dapat mengaktifkan enkripsi sisi server dengan kunci enkripsi terkelola Amazon S3 (SSE-S3), atau menggunakan Layanan Manajemen Kunci dengan Kunci Terkelola Pelanggan (SSE-KMS CMK) untuk bucket S3 Anda. Setiap file log akses dienkripsi secara otomatis sebelum disimpan dalam bucket S3 Anda dan didekripsi ketika Anda mengaksesnya. Anda tidak perlu melakukan tindakan apapun karena tidak ada perbedaan dalam cara Anda mengakses file log terenkripsi atau tidak terenkripsi. Setiap file log dienkripsi dengan kunci unik, yang dienkripsi dengan kunci KMS yang diputar secara teratur. Untuk informasi selengkapnya, lihat Menentukan enkripsi Amazon S3 (SSE-S3) dan Menentukan enkripsi sisi server dengan (SSE-KMS) di Panduan Pengguna Amazon AWS KMS S3.

Tidak ada biaya tambahan untuk log akses. 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.

Mengakses file log

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 akses menggunakan format berikut:

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

Nama bucket S3 Anda.

prefix

Prefiks (hierarki logis) di bucket. Jika Anda tidak menentukan prefiks, log ditempatkan pada tingkat akar bucket.

aws-account-id

Akun AWS ID 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 logging berakhir. Misalnya, waktu akhir 20181220T2340Z berisi entri untuk permintaan yang dibuat antara 23:35 dan 23:40.

string acak

String acak yang dihasilkan sistem.

Berikut ini adalah contoh nama berkas 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

Anda dapat menyimpan berkas log dalam bucket selama yang diinginkan, tetapi Anda juga dapat menentukan aturan siklus hidup Amazon S3 untuk mengarsipkan atau menghapus berkas log secara otomatis. Untuk informasi selengkapnya, lihat Mengelola siklus hidup penyimpanan Anda di Panduan Pengguna Amazon S3.

Entri akses log

Tabel berikut menjelaskan bidang entri log akses, dalam urutan. Semua bidang dibatasi oleh spasi. Ketika bidang baru diperkenalkan, mereka ditambahkan ke akhir entri log. Ketika memproses berkas log, Anda harus mengabaikan bidang apapun pada akhir entri log yang Anda tidak mengharapkan.

Bidang Deskripsi

jenis

Jenis pendengar. Satu-satunya nilai yang didukung adalah tls.

versi

Versi entri log. Versi saat ini adalah 2.0.

time

Waktu yang direkam pada akhir koneksi TLS, dalam format ISO 8601.

elb

ID sumber daya penyeimbang beban.

pendengar

ID sumber daya pendengar TLS untuk koneksi.

klien:port

Alamat IP dan port klien.

tujuan: port

Alamat IP dan port tujuan. Jika klien terhubung langsung ke penyeimbang beban, tujuannya adalah pendengar. Jika klien menghubungkan menggunakan layanan VPC endpoint, tujuannya adalah VPC endpoint.

connection_time

Total waktu untuk koneksi selesai, dari awal sampai penutupan, dalam milidetik.

tls_handshake_time

Total waktu untuk jabat tangan TLS untuk menyelesaikan setelah sambungan TCP didirikan, termasuk penundaan clinent-side, dalam milidetik. Kali ini termasuk dalam bidang connection_time.

received_bytes

Hitungan byte yang diterima oleh penyeimbang beban dari klien, setelah dekripsi.

sent_bytes

Hitungan byte yang dikirim oleh penyeimbang beban ke klien, sebelum enkripsi.

incoming_tls_alert

Nilai integer peringatan TLS yang diterima oleh penyeimbang beban dari klien, jika ada. Jika tidak, nilai ini diatur ke -.

chosen_cert_arn

Sertifikat ARN yang disajikan kepada klien. Jika tidak ada klien pesan hello yang valid dikirim, nilai ini diatur ke -.

chosen_cert_serial

Dicadangkan untuk penggunaan masa depan. Nilai ini selalu diatur ke -.

tls_cipher

Suite penyandian dinegosiasikan dengan klien, dalam format OpenSSL. Jika negosiasi TLS tidak lengkap, nilai ini diatur ke -.

tls_protocol_version

Protokol TLS dinegosiasikan dengan klien, dalam format string. Nilai yang mungkin adalahtlsv10,tlsv11,tlsv12, dantlsv13. Jika negosiasi TLS tidak lengkap, nilai ini diatur ke -.

tls_named_group

Dicadangkan untuk penggunaan masa depan. Nilai ini selalu diatur ke -.

domain_name

Nilai ekstensi server_name di klien pesan hello. Nilai ini adalah URL-encoded. Jika tidak ada klien pesan hello yang valid dikirim atau ekstensi tidak hadir, nilai ini diatur ke -.

alpn_fe_protocol

Protokol aplikasi dinegosiasikan dengan klien, dalam format string. Nilai yang mungkin untukadalah h2, http/1.1, dan http/1.0. Jika tidak ada kebijakan ALPN dikonfigurasi dalam pendengar TLS, protokol pencocokan tidak ditemukan, atau tidak ada daftar protokol yang valid dikirim, nilai ini diatur ke -.

alpn_be_protocol

Protokol aplikasi dinegosiasikan dengan target, dalam format string. Nilai yang mungkin untukadalah h2, http/1.1, dan http/1.0. Jika tidak ada kebijakan ALPN dikonfigurasi dalam pendengar TLS, protokol pencocokan tidak ditemukan, atau tidak ada daftar protokol yang valid dikirim, nilai ini diatur ke -.

alpn_client_preference_list

Nilai ekstensi dari application_layer_protocol_negotiation dalam klien pesan hello. Nilai ini adalah URL-encoded. Setiap protokol tertutup dalam tanda kutip ganda dan protokol dipisahkan dengan koma. Jika kebijakan ALPN tidak dikonfigurasi dalam pendengar TLS, klien pesan hello tidak valid dikirim, atau ekstensi tidak ada, nilai ini diatur ke -. String dipotong jika lebih panjang dari 256 byte.

tls_connection_creation_time

Waktu yang direkam pada awal koneksi TLS, dalam format ISO 8601.

Contoh Entri log

Berikut ini adalah contoh entri log. Perhatikan bahwa teks muncul pada beberapa baris hanya untuk memudahkan Anda membaca.

Berikut ini adalah contoh bagi pendengar TLS tanpa kebijakan 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

Berikut ini adalah contoh bagi pendengar TLS dengan kebijakan ALPN.

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

Persyaratan bucket

Bila Anda mengaktifkan akses pencatatan log, Anda harus menentukan bucket S3 untuk log akses. Bucket dapat dimiliki oleh akun yang berbeda dari akun yang memiliki penyeimbang beban. Bucket harus memenuhi persyaratan berikut.

Persyaratan
  • Bucket harus ditempatkan di Wilayah yang sama dengan penyeimbang beban.

  • Awalan yang Anda tentukan tidak boleh disertakanAWSLogs. Kami menambahkan bagian dari nama file dimulai dengan AWSLogs setelah nama bucket dan awalan yang Anda tentukan.

  • Bucket harus memiliki kebijakan bucket yang memberikan izin untuk menulis log akses ke bucket Anda. Kebijakan bucket adalah kumpulan pernyataan JSON yang ditulis dalam bahasa kebijakan akses untuk menentukan izin akses untuk bucket Anda. Berikut ini adalah contoh kebijakan.

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

Dalam kebijakan sebelumnya, untukaws:SourceAccount, tentukan daftar nomor akun yang log dikirimkan ke bucket ini. Untukaws:SourceArn, tentukan daftar ARN dari sumber daya yang menghasilkan log, dalam formulirarn:aws:logs:source-region:source-account-id:*.

Enkripsi

Anda dapat mengaktifkan enkripsi sisi server untuk bucket log akses Amazon S3 Anda dengan salah satu cara berikut:

  • Tombol yang Dikelola Amazon S3 (SSE-S3)

  • AWS KMS kunci yang disimpan di AWS Key Management Service (SSE-KMS) †

† Dengan log akses Network Load Balancer, Anda tidak dapat menggunakan kunci AWS terkelola, Anda harus menggunakan kunci terkelola pelanggan.

Untuk informasi selengkapnya, lihat Menentukan enkripsi Amazon S3 (SSE-S3) dan Menentukan enkripsi sisi server dengan (SSE-KMS) di Panduan Pengguna Amazon AWS KMS S3.

Kebijakan utama harus mengizinkan layanan untuk mengenkripsi dan mendekripsi log. Berikut ini adalah contoh kebijakan.

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

Mengaktifkan pencatatan akses

Saat mengaktifkan pencatatan akses untuk penyeimbang beban, Anda harus menentukan bucket S3 tempat penyeimbang beban akan menyimpan log. Pastikan Anda memiliki bucket ini dan mengonfigurasi kebijakan bucket yang diperlukan untuk bucket ini. Untuk informasi selengkapnya, lihat Persyaratan bucket.

Untuk mengaktifkan Zona Lokal menggunakan konsol
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Load Balancers.

  3. Pilih nama penyeimbang beban Anda untuk membuka halaman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Pada halaman Edit load balancer attributes, lakukan hal berikut:

    1. Untuk Monitoring, aktifkan Access logs.

    2. Pilih Browse S3 dan pilih bucket untuk digunakan. Atau, masukkan lokasi bucket S3 Anda, termasuk awalan apa pun.

    3. Pilih Simpan perubahan.

Untuk mengaktifkan pencatatan akses menggunakan AWS CLI

Gunakan perintah modify-load-balancer-attributes.

Menonaktifkan pengelogan akses

Anda dapat menonaktifkan pengelogan akses untuk penyeimbang beban kapan saja. Setelah menonaktifkan pencatatan akses, log akses Anda tetap berada di bucket S3 sampai Anda menghapusnya. Untuk informasi selengkapnya, lihat Bekerja dengan bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Untuk menonaktifkan pengelogan akses menggunakan konsol
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Load Balancers.

  3. Pilih nama penyeimbang beban Anda untuk membuka halaman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Untuk Monitoring, matikan log Access.

  6. Pilih Simpan perubahan.

Untuk menonaktifkan pencatatan akses menggunakan AWS CLI

Gunakan perintah modify-load-balancer-attributes.

Memproses berkas log akses

Berkas log akses terkompresi. 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 akses: