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 |
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 adalah |
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 |
alpn_be_protocol |
Protokol aplikasi dinegosiasikan dengan target, dalam format string. Nilai yang mungkin untukadalah |
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 disertakan
AWSLogs
. Kami menambahkan bagian dari nama file dimulai denganAWSLogs
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
Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/
. -
Di panel navigasi, pilih Load Balancers.
-
Pilih nama penyeimbang beban Anda untuk membuka halaman detailnya.
-
Pada tab Atribut, pilih Edit.
-
Pada halaman Edit load balancer attributes, lakukan hal berikut:
-
Untuk Monitoring, aktifkan Access logs.
-
Pilih Browse S3 dan pilih bucket untuk digunakan. Atau, masukkan lokasi bucket S3 Anda, termasuk awalan apa pun.
-
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
Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/
. -
Di panel navigasi, pilih Load Balancers.
-
Pilih nama penyeimbang beban Anda untuk membuka halaman detailnya.
-
Pada tab Atribut, pilih Edit.
-
Untuk Monitoring, matikan log Access.
-
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:
-
Amazon Athena adalah layanan query interaktif yang membuatnya mudah untuk menganalisis data di Amazon S3 menggunakan SQL standar. Untuk informasi selengkapnya, lihat Membuat queri log Penyeimbang Beban Jaringan di Panduan Pengguna Amazon Athena.