Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan logging standar (v2)
Anda dapat mengaktifkan pencatatan standar saat membuat atau memperbarui distribusi. Pencatatan standar (v2) mencakup fitur-fitur berikut:
-
Kirim log akses ke Amazon CloudWatch Logs, Amazon Data Firehose, dan Amazon Simple Storage Service (Amazon S3).
-
Pilih bidang log yang Anda inginkan. Anda juga dapat memilih subset bidang log real-time.
-
Pilih format file log keluaran tambahan.
Jika Anda menggunakan Amazon S3, Anda memiliki fitur opsional berikut:
-
Kirim log ke opt-in Wilayah AWS.
-
Atur log Anda dengan partisi.
-
Aktifkan nama file yang kompatibel dengan HIVE.
Untuk informasi selengkapnya, lihat Kirim log ke Amazon S3.
Untuk memulai dengan pencatatan standar, selesaikan langkah-langkah berikut:
-
Siapkan izin yang diperlukan untuk yang ditentukan Layanan AWS yang akan menerima log Anda.
-
Konfigurasikan logging standar dari CloudFront konsol atau CloudWatch API.
-
Lihat log akses Anda.
catatan
-
Jika Anda mengaktifkan logging standar (v2), ini tidak memengaruhi atau mengubah logging standar (lama). Anda dapat terus menggunakan logging standar (legacy) untuk distribusi Anda, selain menggunakan logging standar (v2). Untuk informasi selengkapnya, lihat Konfigurasikan logging standar (warisan).
-
Jika Anda sudah mengaktifkan pencatatan standar (lama) dan ingin mengaktifkan pencatatan standar (v2) ke Amazon S3, sebaiknya tentukan bucket Amazon S3 yang berbeda atau gunakan jalur terpisah di bucket yang sama (misalnya, gunakan awalan log atau partisi). Ini membantu Anda melacak file log mana yang terkait dengan distribusi mana dan mencegah file log saling menimpa.
Izin
CloudFront menggunakan log CloudWatch vended untuk mengirimkan log akses. Untuk melakukannya, Anda memerlukan izin untuk yang ditentukan Layanan AWS sehingga Anda dapat mengaktifkan pengiriman logging.
Untuk melihat izin yang diperlukan untuk setiap tujuan pencatatan, pilih dari topik berikut di Panduan Pengguna Amazon CloudWatch Logs.
Setelah menyiapkan izin ke tujuan pencatatan, Anda dapat mengaktifkan pencatatan standar untuk distribusi Anda.
catatan
CloudFront mendukung pengiriman log akses ke yang berbeda Akun AWS (lintas akun). Untuk mengaktifkan pengiriman lintas akun, kedua akun (akun Anda dan akun penerima) harus memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat Aktifkan pencatatan standar untuk pengiriman lintas akun bagian atau contoh pengiriman lintas akun di Panduan Pengguna CloudWatch Log Amazon.
Aktifkan pencatatan standar
Untuk mengaktifkan logging standar, Anda dapat menggunakan CloudFront konsol atau CloudWatch API.
Aktifkan logging standar (CloudFrontkonsol)
Untuk mengaktifkan pencatatan standar untuk CloudFront distribusi (konsol)
-
Gunakan CloudFront konsol untuk memperbarui distribusi yang ada.
-
Pilih tab Logging.
Pilih Tambah, lalu pilih layanan untuk menerima log Anda:
-
CloudWatch Log
-
Firehose
-
Amazon S3
-
-
Untuk Tujuan, pilih sumber daya untuk layanan Anda. Jika Anda belum membuat sumber daya, Anda dapat memilih Buat atau melihat dokumentasi berikut.
-
Untuk CloudWatch Log, masukkan nama grup Log.
-
Untuk Firehose, masuk ke aliran pengiriman Firehose.
-
Untuk Amazon S3, masukkan nama Bucket.
Tip
Untuk menentukan awalan, masukkan awalan setelah nama bucket, seperti.
amzn-s3-demo-bucket.s3.amazonaws.com/
Jika Anda tidak menentukan awalan, secara otomatis CloudFront akan menambahkan satu untuk Anda. Untuk informasi selengkapnya, lihat Kirim log ke Amazon S3.MyLogPrefix
-
-
Untuk Pengaturan tambahan - opsional, Anda dapat menentukan opsi berikut:
-
Untuk pemilihan Bidang, pilih nama bidang log yang ingin Anda kirimkan ke tujuan Anda. Anda dapat memilih bidang log akses dan subset bidang log waktu nyata.
-
(Hanya Amazon S3) Untuk Partisi, tentukan jalur untuk mempartisi data file log Anda.
-
(Hanya Amazon S3) Untuk format file yang kompatibel dengan HIVE, Anda dapat memilih kotak centang untuk menggunakan jalur S3 yang kompatibel dengan HIVE. Ini membantu menyederhanakan pemuatan data baru ke alat yang kompatibel dengan HIVE Anda.
-
Untuk format Output, tentukan format pilihan Anda.
catatan
Jika Anda memilih Parket, opsi ini CloudWatch dikenakan biaya untuk mengonversi log akses Anda ke Apache Parquet. Untuk informasi selengkapnya, lihat bagian Log Penjual untuk CloudWatch harga
. -
Untuk pembatas bidang, tentukan cara memisahkan bidang log.
-
-
Selesaikan langkah-langkah untuk memperbarui atau membuat distribusi Anda.
-
Untuk menambahkan tujuan lain, ulangi langkah 3—6.
-
Dari halaman Log, verifikasi bahwa status log standar Diaktifkan di sebelah distribusi.
(Opsional) Untuk mengaktifkan pencatatan cookie, pilih Kelola, Pengaturan, dan aktifkan Pencatatan cookie, lalu pilih Simpan perubahan.
Tip
Cookie logging adalah pengaturan global yang berlaku untuk semua pencatatan standar untuk distribusi Anda. Anda tidak dapat mengganti pengaturan ini untuk tujuan pengiriman terpisah.
Untuk informasi selengkapnya tentang pengiriman logging standar dan bidang log, lihatReferensi logging standar.
Aktifkan logging standar (CloudWatchAPI)
Anda juga dapat menggunakan CloudWatch API untuk mengaktifkan logging standar untuk distribusi Anda.
Catatan
-
Saat memanggil CloudWatch API untuk mengaktifkan pencatatan standar, Anda harus menentukan Wilayah AS Timur (Virginia Utara) (
us-east-1
), meskipun Anda ingin mengaktifkan pengiriman lintas Wilayah ke tujuan lain. Misalnya, jika Anda ingin mengirim log akses ke bucket S3 di Wilayah Eropa (Irlandia) (eu-west-1
), gunakan CloudWatch API dius-east-1
Wilayah. -
Ada opsi tambahan untuk memasukkan cookie dalam pencatatan standar. Di CloudFront API, ini adalah
IncludeCookies
parameternya. Jika Anda mengonfigurasi pencatatan akses dengan menggunakan CloudWatch API dan Anda menentukan bahwa Anda ingin menyertakan cookie, Anda harus menggunakan CloudFront konsol atau CloudFront API untuk memperbarui distribusi Anda untuk menyertakan cookie. Jika tidak, tidak CloudFront dapat mengirim cookie ke tujuan log Anda. Untuk informasi selengkapnya, lihat Pencatatan cookie.
Untuk mengaktifkan logging standar untuk distribusi (CloudWatch API)
-
Setelah Anda membuat distribusi, dapatkan Amazon Resource Name (ARN).
Anda dapat menemukan ARN dari halaman Distribusi di CloudFront konsol atau Anda dapat menggunakan operasi GetDistributionAPI. Sebuah distribusi ARN mengikuti format:
arn:aws:cloudfront::123456789012:distribution/d111111abcdef8
-
Selanjutnya, gunakan operasi CloudWatch PutDeliverySourceAPI untuk membuat sumber pengiriman untuk distribusi.
-
Masukkan nama untuk sumber pengiriman.
-
resourceArn
Lewati distribusi. -
Untuk
logType
, tentukanACCESS_LOGS
sebagai jenis log yang dikumpulkan. -
contoh Contoh AWS CLI put-delivery-source perintah
Berikut ini adalah contoh konfigurasi sumber pengiriman untuk distribusi.
aws logs put-delivery-source --name S3-delivery --resource-arn arn:aws:cloudfront::123456789012:distribution/d111111abcdef8 --log-type ACCESS_LOGS
Keluaran
{ "deliverySource": { "name": "S3-delivery", "arn": "arn:aws:logs:us-east-1:123456789012:delivery-source:S3-delivery", "resourceArns": [ "arn:aws:cloudfront::123456789012:distribution/d111111abcdef8" ], "service": "cloudfront", "logType": "ACCESS_LOGS" } }
-
-
Gunakan operasi PutDeliveryDestinationAPI untuk mengonfigurasi tempat menyimpan log Anda.
-
Untuk
destinationResourceArn
, tentukan ARN tujuan. Ini bisa berupa grup CloudWatch log Log, aliran pengiriman Firehose, atau bucket Amazon S3. -
Untuk
outputFormat
, tentukan format output untuk log Anda. -
contoh Contoh AWS CLI put-delivery-destination perintah
Berikut ini adalah contoh mengonfigurasi tujuan pengiriman ke bucket Amazon S3.
aws logs put-delivery-destination --name S3-destination --delivery-destination-configuration destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket
Keluaran
{ "name": "S3-destination", "arn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination", "deliveryDestinationType": "S3", "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket" } }
catatan
Jika mengirimkan log lintas akun, Anda harus menggunakan operasi PutDeliveryDestinationPolicyAPI untuk menetapkan kebijakan AWS Identity and Access Management (IAM) ke akun tujuan. Kebijakan IAM memungkinkan pengiriman dari satu akun ke akun lain.
-
-
Gunakan operasi CreateDeliveryAPI untuk menautkan sumber pengiriman ke tujuan yang Anda buat di langkah sebelumnya. Operasi API ini mengaitkan sumber pengiriman dengan tujuan akhir.
-
Untuk
deliverySourceName
, tentukan nama sumbernya. -
Untuk
deliveryDestinationArn
, tentukan ARN untuk tujuan pengiriman. -
Untuk
fieldDelimiter
, tentukan string untuk memisahkan setiap bidang log. -
Untuk
recordFields
, tentukan bidang log yang Anda inginkan. -
Jika Anda menggunakan S3, tentukan apakah akan menggunakan
enableHiveCompatiblePath
dansuffixPath
.
contoh Contoh perintah AWS CLI buat-pengiriman
Berikut ini adalah contoh pembuatan pengiriman.
aws logs create-delivery --delivery-source-name cf-delivery --delivery-destination-arn arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination
Keluaran
{ "id": "abcNegnBoTR123", "arn": "arn:aws:logs:us-east-1:123456789012:delivery:abcNegnBoTR123", "deliverySourceName": "cf-delivery", "deliveryDestinationArn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination", "deliveryDestinationType": "S3", "recordFields": [ "date", "time", "x-edge-location", "sc-bytes", "c-ip", "cs-method", "cs(Host)", "cs-uri-stem", "sc-status", "cs(Referer)", "cs(User-Agent)", "cs-uri-query", "cs(Cookie)", "x-edge-result-type", "x-edge-request-id", "x-host-header", "cs-protocol", "cs-bytes", "time-taken", "x-forwarded-for", "ssl-protocol", "ssl-cipher", "x-edge-response-result-type", "cs-protocol-version", "fle-status", "fle-encrypted-fields", "c-port", "time-to-first-byte", "x-edge-detailed-result-type", "sc-content-type", "sc-content-len", "sc-range-start", "sc-range-end", "c-country", "cache-behavior-path-pattern" ], "fieldDelimiter": "" }
-
-
Dari CloudFront konsol, pada halaman Log, verifikasi bahwa status log standar Diaktifkan di sebelah distribusi.
Untuk informasi selengkapnya tentang pengiriman logging standar dan bidang log, lihatReferensi logging standar.
catatan
Untuk mengaktifkan logging standar (v2) CloudFront dengan menggunakan AWS CloudFormation, Anda dapat menggunakan properti CloudWatch Log berikut:
ResourceArn
Ini adalah CloudFront distribusi dan LogType
harus ACCESS_LOGS
sebagai jenis log yang didukung.
Aktifkan pencatatan standar untuk pengiriman lintas akun
Jika Anda mengaktifkan pencatatan standar untuk Anda Akun AWS dan Anda ingin mengirimkan log akses Anda ke akun lain, pastikan Anda mengonfigurasi akun sumber dan akun tujuan dengan benar. Akun sumber dengan CloudFront distribusi mengirimkan log aksesnya ke akun tujuan.
Dalam contoh prosedur ini, akun sumber111111111111
) mengirimkan log aksesnya ke bucket Amazon S3 di akun tujuan ()222222222222
. Untuk mengirim log akses ke bucket Amazon S3 di akun tujuan, gunakan file. AWS CLI
Konfigurasikan akun tujuan
Untuk akun tujuan, selesaikan prosedur berikut.
Untuk mengkonfigurasi akun tujuan
-
Untuk membuat tujuan pengiriman log, Anda dapat memasukkan AWS CLI perintah berikut. Contoh ini menggunakan
string untuk membuat awalan untuk log akses Anda.MyLogPrefix
aws logs put-delivery-destination --name
cloudfront-delivery-destination
--delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs
/MyLogPrefix
"Keluaran
{ "deliveryDestination": { "name": "cloudfront-delivery-destination", "arn": "arn:aws:logs:us-east-1:
222222222222
:delivery-destination:cloudfront-delivery-destination
", "deliveryDestinationType": "S3", "deliveryDestinationConfiguration": {"destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/
"} } }MyLogPrefix
catatan
Jika Anda menentukan bucket S3 tanpa awalan, secara otomatis CloudFront akan menambahkan
AWSLogs/
sebagai awalan yang muncul di tujuan pengiriman<account-ID>
/CloudFrontsuffixPath
S3. Untuk informasi lebih lanjut, lihat S3 DeliveryConfiguration. -
Tambahkan kebijakan sumber daya untuk tujuan pengiriman log agar akun sumber dapat membuat pengiriman log.
Dalam kebijakan berikut, ganti
111111111111
dengan ID akun sumber dan tentukan ARN tujuan pengiriman dari output pada langkah 1.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDelivery", "Effect": "Allow", "Principal": {"AWS": "
111111111111
"}, "Action": ["logs:CreateDelivery"], "Resource": "arn:aws:logs:us-east-1:222222222222
:delivery-destination:cloudfront-delivery-destination
" } ] } -
Simpan file, seperti
deliverypolicy.json
. -
Untuk melampirkan kebijakan sebelumnya ke tujuan pengiriman, masukkan AWS CLI perintah berikut.
aws logs put-delivery-destination-policy --delivery-destination-name
cloudfront-delivery-destination
--delivery-destination-policy file://deliverypolicy.json -
Tambahkan pernyataan di bawah ini ke kebijakan bucket Amazon S3 tujuan, menggantikan ARN sumber daya dan ID akun sumber. Kebijakan ini memungkinkan kepala
delivery.logs.amazonaws.com
layanan untuk melakukans3:PutObject
tindakan.{ "Sid": "AWSLogsDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket-cloudfront-logs
/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "111111111111
" }, "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111
:delivery-source:*"} } } -
Jika Anda menggunakan AWS KMS bucket, tambahkan pernyataan berikut ke kebijakan kunci KMS untuk memberikan izin kepada prinsipal
delivery.logs.amazonaws.com
layanan.{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": {"aws:SourceAccount": "
111111111111
"}, "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111
:delivery-source:*"} } }
Konfigurasikan akun sumber
Setelah Anda mengonfigurasi akun tujuan, ikuti prosedur ini untuk membuat sumber pengiriman dan mengaktifkan pencatatan untuk distribusi di akun sumber.
Untuk mengkonfigurasi akun sumber
-
Buat sumber pengiriman untuk pencatatan CloudFront standar sehingga Anda dapat mengirim file log ke CloudWatch Log.
Anda dapat memasukkan AWS CLI perintah berikut, mengganti nama dan ARN distribusi Anda.
aws logs put-delivery-source --name
s3-cf-delivery
--resource-arn arn:aws:cloudfront::111111111111
:distribution/E1TR1RHV123ABC
--log-type ACCESS_LOGSKeluaran
{ "deliverySource": { "name": "s3-cf-delivery", "arn": "arn:aws:logs:us-east-1:
111111111111
:delivery-source:s3-cf-delivery
", "resourceArns": ["arn:aws:cloudfront::111111111111
:distribution/E1TR1RHV123ABC
"], "service": "cloudfront", "logType": "ACCESS_LOGS" } } -
Buat pengiriman untuk memetakan sumber pengiriman log akun sumber dan tujuan pengiriman log akun tujuan.
Dalam AWS CLI perintah berikut, tentukan ARN tujuan pengiriman dari output di Langkah 1: Konfigurasikan akun tujuan.
aws logs create-delivery --delivery-source-name
s3-cf-delivery
--delivery-destination-arn arn:aws:logs:us-east-1:222222222222
:delivery-destination:cloudfront-delivery-destination
Keluaran
{ "delivery": { "id": "OPmOpLahVzhx1234", "arn": "arn:aws:logs:us-east-1:111111111111:delivery:OPmOpLahVzhx1234", "deliverySourceName": "s3-cf-delivery", "deliveryDestinationArn": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination", "deliveryDestinationType": "S3", "recordFields": [ "date", "time", "x-edge-location", "sc-bytes", "c-ip", "cs-method", "cs(Host)", "cs-uri-stem", "sc-status", "cs(Referer)", "cs(User-Agent)", "cs-uri-query", "cs(Cookie)", "x-edge-result-type", "x-edge-request-id", "x-host-header", "cs-protocol", "cs-bytes", "time-taken", "x-forwarded-for", "ssl-protocol", "ssl-cipher", "x-edge-response-result-type", "cs-protocol-version", "fle-status", "fle-encrypted-fields", "c-port", "time-to-first-byte", "x-edge-detailed-result-type", "sc-content-type", "sc-content-len", "sc-range-start", "sc-range-end", "c-country", "cache-behavior-path-pattern" ], "fieldDelimiter": "\t" } }
-
Pastikan pengiriman lintas akun Anda berhasil.
-
Dari
source
akun, masuk ke CloudFront konsol dan pilih distribusi Anda. Pada tab Logging, di bawah Type, Anda akan melihat entri yang dibuat untuk pengiriman log lintas akun S3. -
Dari
destination
akun, masuk ke konsol Amazon S3 dan pilih bucket Amazon S3 Anda. Anda akan melihat awalan
di nama bucket dan log akses apa pun yang dikirimkan ke folder itu.MyLogPrefix
-
Format berkas keluaran
Bergantung pada tujuan pengiriman yang Anda pilih, Anda dapat menentukan salah satu format berikut untuk file log:
-
JSON
-
Polos
-
w3c
-
Mentah
-
Parket (hanya Amazon S3)
catatan
Anda hanya dapat mengatur format output saat pertama kali membuat tujuan pengiriman. Ini tidak dapat diperbarui nanti. Untuk mengubah format output, hapus pengiriman dan buat yang lain.
Untuk informasi selengkapnya, lihat PutDeliveryDestinationdi Referensi API Amazon CloudWatch Logs.
Edit pengaturan logging standar
Anda dapat mengaktifkan atau menonaktifkan logging dan memperbarui pengaturan log lainnya dengan menggunakan CloudFront konsol
Untuk informasi selengkapnya, lihat topik berikut:
-
Untuk memperbarui distribusi menggunakan CloudFront konsol, lihatPerbarui distribusi.
-
Untuk memperbarui distribusi menggunakan CloudFront API, lihat UpdateDistributiondi Referensi Amazon CloudFront API.
-
Untuk informasi selengkapnya tentang operasi API CloudWatch Log, lihat Referensi API Amazon CloudWatch Logs.
Akses bidang log
Anda dapat memilih bidang log yang sama yang didukung oleh pencatatan standar (lama). Untuk informasi selengkapnya, lihat bidang file log.
Selain itu, Anda dapat memilih bidang log real-time berikut.
-
timestamp(ms)
— Timestamp dalam milidetik. -
origin-fbl
— Jumlah detik latensi byte pertama antara CloudFront dan asal Anda. -
origin-lbl
— Jumlah detik latensi byte terakhir antara CloudFront dan asal Anda. -
asn
— Nomor sistem otonom (ASN) dari pemirsa. c-country
— Kode negara yang mewakili lokasi geografis pemirsa, sebagaimana ditentukan oleh alamat IP pemirsa. Untuk daftar kode negara, lihat ISO 3166-1 alpha-2. cache-behavior-path-pattern
— Pola jalur yang mengidentifikasi perilaku cache yang cocok dengan permintaan penampil.
Kirim log ke CloudWatch Log
Untuk mengirim CloudWatch log ke Log, buat atau gunakan grup CloudWatch log Log yang ada. Untuk informasi selengkapnya tentang mengonfigurasi grup CloudWatch log Log, lihat Bekerja dengan Grup Log dan Aliran Log.
Setelah membuat grup log, Anda harus memiliki izin yang diperlukan untuk mengizinkan pencatatan standar. Untuk informasi selengkapnya tentang izin yang diperlukan, lihat Log yang dikirim ke CloudWatch Log di Panduan Pengguna CloudWatch Log Amazon.
Catatan
-
Saat Anda menentukan nama grup CloudWatch log Log, hanya gunakan pola regex.
[\w-]
Untuk informasi selengkapnya, lihat operasi PutDeliveryDestinationAPI di Referensi API Amazon CloudWatch Logs. -
Pastikan kebijakan sumber daya grup log Anda tidak melebihi batas ukuran. Lihat bagian Pertimbangan batas ukuran kebijakan sumber daya grup log di topik CloudWatch Log.
Contoh log akses dikirim ke CloudWatch Log
{ "date": "2024-11-14", "time": "21:34:06", "x-edge-location": "SOF50-P2", "asn": "16509", "timestamp(ms)": "1731620046814", "origin-fbl": "0.251", "origin-lbl": "0.251", "x-host-header": "d111111abcdef8.cloudfront.net", "cs(Cookie)": "examplecookie=value" }
Kirim log ke Firehose
Untuk mengirim log ke Firehose, buat atau gunakan aliran pengiriman Firehose yang ada.
Untuk informasi tentang membuat aliran pengiriman, lihat Membuat aliran pengiriman Amazon Data Firehose.
Setelah membuat aliran pengiriman, Anda harus memiliki izin yang diperlukan untuk mengizinkan pencatatan standar. Untuk informasi selengkapnya, lihat Log yang dikirim ke Firehose di Panduan Pengguna Amazon CloudWatch Logs.
catatan
Saat Anda menentukan nama aliran Firehose, hanya gunakan pola regex. [\w-]
Untuk informasi selengkapnya, lihat operasi PutDeliveryDestinationAPI di Referensi API Amazon CloudWatch Logs.
Contoh log akses dikirim ke Firehose
{"date":"2024-11-15","time":"19:45:51","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699951183","origin-fbl":"0.254","origin-lbl":"0.254","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"} {"date":"2024-11-15","time":"19:45:52","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699952950","origin-fbl":"0.125","origin-lbl":"0.125","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"}
Kirim log ke Amazon S3
Untuk mengirim log akses ke Amazon S3, buat atau gunakan bucket S3 yang sudah ada. Saat Anda mengaktifkan login CloudFront, tentukan nama bucket. Untuk informasi tentang membuat bucket, lihat Membuat bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Setelah membuat bucket, Anda harus memiliki izin yang diperlukan untuk mengizinkan pencatatan standar. Untuk informasi selengkapnya, lihat Log yang dikirim ke Amazon S3 di Panduan Pengguna Amazon CloudWatch Logs.
-
Setelah mengaktifkan pencatatan, AWS secara otomatis menambahkan kebijakan bucket yang diperlukan untuk Anda.
-
Anda juga dapat menggunakan bucket S3 dalam opt-in. Wilayah AWS
catatan
Jika Anda sudah mengaktifkan pencatatan standar (lama) dan ingin mengaktifkan pencatatan standar (v2) ke Amazon S3, sebaiknya tentukan bucket Amazon S3 yang berbeda atau gunakan jalur terpisah di bucket yang sama (misalnya, gunakan awalan log atau partisi). Ini membantu Anda melacak file log mana yang terkait dengan distribusi mana dan mencegah file log saling menimpa.
Topik
Tentukan ember S3
Saat Anda menentukan bucket S3 sebagai tujuan pengiriman, perhatikan hal berikut.
Nama bucket S3 hanya dapat menggunakan pola regex. [\w-]
Untuk informasi selengkapnya, lihat operasi PutDeliveryDestinationAPI di Referensi API Amazon CloudWatch Logs.
Jika Anda menetapkan awalan untuk bucket S3 Anda, log Anda akan muncul di bawah jalur itu. Jika Anda tidak menentukan awalan, secara otomatis CloudFront akan menambahkan AWSLogs/
awalan untuk Anda. {account-id}
/CloudFront
Untuk informasi selengkapnya, lihat Contoh jalur untuk mengakses log.
Partisi
Anda dapat menggunakan partisi untuk mengatur log akses Anda saat CloudFront mengirimkannya ke bucket S3 Anda. Ini membantu Anda mengatur dan menemukan log akses Anda berdasarkan jalur yang Anda inginkan.
Anda dapat menggunakan variabel berikut untuk membuat jalur folder.
-
{DistributionId}
atau{distributionid}
-
{yyyy}
-
{MM}
-
{dd}
-
{HH}
-
{accountid}
Anda dapat menggunakan sejumlah variabel dan menentukan nama folder di jalur Anda. CloudFrontkemudian gunakan jalur ini untuk membuat struktur folder untuk Anda di ember S3.
Contoh
-
my_distribution_log_data
/{DistributionId}/logs
-
/
cloudfront
/{DistributionId}/my_distribution_log_data
/{yyyy}/{MM}/{dd}/{HH}/logs
catatan
Anda dapat menggunakan salah satu variabel untuk ID distribusi di jalur sufiks. Namun, jika Anda mengirim log akses ke AWS Glue, Anda harus menggunakan {distributionid}
variabel karena AWS Glue mengharapkan nama partisi berada dalam huruf kecil. Perbarui konfigurasi log Anda yang ada CloudFront untuk menggantikan {DistributionId}
dengan{distributionid}
.
Format nama file yang kompatibel dengan HIVE
Anda dapat menggunakan opsi ini sehingga objek S3 yang berisi log akses terkirim menggunakan struktur awalan yang memungkinkan integrasi dengan Apache Hive. Untuk informasi selengkapnya, lihat operasi API CreateDelivery.
contoh Contoh
/
cloudfront
/DistributionId={DistributionId}/my_distribution_log_data
/year={yyyy}/month={MM}/day={dd}/hour={HH}/logs
Untuk informasi selengkapnya tentang partisi dan opsi yang kompatibel dengan HIVE, lihat elemen S3 DeliveryConfiguration di Referensi API Amazon Logs. CloudWatch
Contoh jalur untuk mengakses log
Saat menentukan bucket S3 sebagai tujuan, Anda dapat menggunakan opsi berikut untuk membuat jalur ke log akses Anda:
-
Bucket Amazon S3, dengan atau tanpa awalan
-
Partisi, dengan menggunakan variabel yang CloudFront disediakan atau memasukkan variabel Anda sendiri
-
Mengaktifkan opsi yang kompatibel dengan HIVE
Tabel berikut menunjukkan bagaimana log akses Anda muncul di bucket, tergantung pada opsi yang Anda pilih.
Bucket Amazon S3 dengan awalan
Nama ember Amazon S3 | Partisi yang Anda tentukan di jalur sufiks | Jalur sufiks yang diperbarui | Kompatibel dengan HIVE diaktifkan? | Log akses dikirim ke |
---|---|---|---|---|
amzn-s3-demo-bucket/MyLogPrefix |
Tidak ada | Tidak ada | Tidak | amzn-s3-demo-bucket/MyLogPrefix/ |
amzn-s3-demo-bucket/MyLogPrefix |
myFolderA/ |
myFolderA/ |
Tidak | amzn-s3-demo-bucket/MyLogPrefix/myFolderA/ |
amzn-s3-demo-bucket/MyLogPrefix |
myFolderA/{yyyy} |
myFolderA/{yyyy} |
Ya | amzn-s3-demo-bucket/MyLogPrefix/myFolderA/year=2025 |
Bucket Amazon S3 tanpa awalan
Nama ember Amazon S3 | Partisi yang Anda tentukan di jalur sufiks | Jalur sufiks yang diperbarui | Kompatibel dengan HIVE diaktifkan? | Log akses dikirim ke |
---|---|---|---|---|
amzn-s3-demo-bucket |
Tidak ada | AWSLogs/{account-id}/CloudFront/ |
Tidak | amzn-s3-demo-bucket/AWSLogs/ |
amzn-s3-demo-bucket |
myFolderA/ |
AWSLogs/{account-id}/CloudFront/myFolderA/ |
Tidak | amzn-s3-demo-bucket/AWSLogs/ |
amzn-s3-demo-bucket |
myFolderA/ |
AWSLogs/{account-id}/CloudFront/myFolderA/ |
Ya | amzn-s3-demo-bucket/AWSLogs/aws-account-id= |
amzn-s3-demo-bucket |
myFolderA/{yyyy} |
AWSLogs/{account-id}/CloudFront/myFolderA/{yyyy} |
Ya | amzn-s3-demo-bucket/AWSLogs/aws-account-id= |
Akun AWS ID sebagai partisi
Nama ember Amazon S3 | Partisi yang Anda tentukan di jalur sufiks | Jalur sufiks yang diperbarui | Kompatibel dengan HIVE diaktifkan? | Log akses dikirim ke |
---|---|---|---|---|
amzn-s3-demo-bucket |
Tidak ada | AWSLogs/{account-id}/CloudFront/ |
Ya | amzn-s3-demo-bucket/AWSLogs/aws-account-id= |
amzn-s3-demo-bucket |
myFolderA/{accountid} |
AWSLogs/{account-id}/CloudFront/myFolderA/{accountid} |
Ya | amzn-s3-demo-bucket/AWSLogs/aws-account-id= |
Catatan
-
{account-id}
Variabel dicadangkan untuk CloudFront. CloudFrontsecara otomatis menambahkan variabel ini ke jalur sufiks jika Anda menentukan bucket Amazon S3 tanpa awalan. Jika log Anda kompatibel dengan HIVE, variabel ini muncul sebagai.aws-account-id
-
Anda dapat menggunakan
{accountid}
variabel sehingga CloudFront menambahkan ID akun Anda ke jalur akhiran. Jika log Anda kompatibel dengan HIVE, variabel ini muncul sebagai.accountid
-
Untuk informasi selengkapnya tentang jalur sufiks, lihat DeliveryConfigurationS3.
Contoh log akses dikirim ke Amazon S3
#Fields: date time x-edge-location asn timestamp(ms) x-host-header cs(Cookie) 2024-11-14 22:30:25 SOF50-P2 16509 1731623425421 d111111abcdef8.cloudfront.net examplecookie=value2
Nonaktifkan logging standar
Anda dapat menonaktifkan pencatatan standar untuk distribusi Anda jika Anda tidak lagi membutuhkannya.
Untuk menonaktifkan logging standar
-
Masuk ke CloudFront konsol.
-
Pilih Distribusi dan kemudian pilih ID distribusi Anda.
-
Pilih Logging dan kemudian di bawah Tujuan log standar, pilih tujuan.
-
Pilih Kelola dan kemudian pilih Hapus.
-
Ulangi langkah sebelumnya jika Anda memiliki lebih dari satu logging standar.
catatan
Saat Anda menghapus logging standar dari CloudFront konsol, tindakan ini hanya menghapus pengiriman dan tujuan pengiriman. Itu tidak menghapus sumber pengiriman dari Anda Akun AWS. Untuk menghapus sumber pengiriman, tentukan nama sumber pengiriman dalam aws logs delete-delivery-source --name DeliverySourceName
perintah. Untuk informasi selengkapnya, lihat DeleteDeliverySourcedi Referensi API Amazon CloudWatch Logs.
Pemecahan Masalah
Gunakan informasi berikut untuk memperbaiki masalah umum saat Anda bekerja dengan logging CloudFront standar (v2).
Sumber pengiriman sudah ada
Saat mengaktifkan pencatatan standar untuk distribusi, Anda membuat sumber pengiriman. Anda kemudian menggunakan sumber pengiriman tersebut untuk membuat pengiriman ke jenis tujuan yang Anda inginkan: CloudWatch Log, Firehose, Amazon S3. Saat ini, Anda hanya dapat memiliki satu sumber pengiriman per distribusi. Jika Anda mencoba membuat sumber pengiriman lain untuk distribusi yang sama, pesan galat berikut akan muncul.
This ResourceId has already been used in another Delivery Source in this account
Untuk membuat sumber pengiriman lain, hapus yang sudah ada terlebih dahulu. Untuk informasi selengkapnya, lihat DeleteDeliverySourcedi Referensi API Amazon CloudWatch Logs.
Saya mengubah jalur sufiks dan ember Amazon S3 tidak dapat menerima log saya
Jika Anda mengaktifkan pencatatan standar (v2) dan menentukan ARN bucket tanpa awalan, CloudFront akan menambahkan default berikut ke jalur sufiks:. AWSLogs/{account-id}/CloudFront
Jika Anda menggunakan CloudFront konsol atau operasi UpdateDeliveryConfigurationAPI untuk menentukan jalur sufiks yang berbeda, Anda harus memperbarui kebijakan bucket Amazon S3 untuk menggunakan jalur yang sama.
contoh Contoh: Memperbarui jalur sufiks
-
Jalur sufiks default Anda adalah
AWSLogs/{account-id}/CloudFront
dan Anda menggantinya denganmyFolderA
. -
Karena jalur akhiran baru Anda berbeda dari jalur yang ditentukan dalam kebijakan bucket Amazon S3, log akses Anda tidak akan dikirimkan.
-
Anda dapat melakukan salah satu langkah berikut:
-
Perbarui izin bucket Amazon S3 dari ke
amzn-s3-demo-bucket/AWSLogs/
.<your-account-ID>
/CloudFront/*amzn-s3-demo-bucket/myFolderA/*
-
Perbarui konfigurasi logging Anda untuk menggunakan akhiran default lagi:
AWSLogs/{account-id}/CloudFront
-
Untuk informasi selengkapnya, lihat Izin.
Hapus file log
CloudFront tidak secara otomatis menghapus file log dari tujuan Anda. Untuk informasi tentang menghapus file log, lihat topik berikut:
Amazon S3
-
Menghapus objek di Panduan Pengguna Konsol Layanan Penyimpanan Sederhana Amazon
CloudWatch Log
-
Bekerja dengan grup log dan aliran log di Panduan Pengguna Amazon CloudWatch Logs
-
DeleteLogGroupdi Referensi API Amazon CloudWatch Logs
Firehose
-
DeleteDeliveryStreamdi Referensi API Firehose Data Amazon
Harga
CloudFront tidak mengenakan biaya untuk mengaktifkan log standar. Namun, Anda dapat dikenakan biaya untuk pengiriman, konsumsi, penyimpanan, atau akses, tergantung pada tujuan pengiriman log yang Anda pilih. Untuk informasi selengkapnya, lihat Harga CloudWatch Log Amazon
Untuk informasi selengkapnya tentang harga untuk masing-masing Layanan AWS, lihat topik berikut:
-
catatan
Tidak ada biaya tambahan untuk pengiriman log ke Amazon S3, meskipun Anda dikenakan biaya Amazon S3 untuk menyimpan dan mengakses file log. Jika Anda mengaktifkan opsi Parket untuk mengonversi log akses Anda ke Apache Parquet, opsi ini dikenakan biaya. CloudWatch Untuk informasi selengkapnya, lihat bagian Log Penjual untuk CloudWatch harga
.