

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

# Lacak permintaan bucket penyimpanan objek dengan log akses
<a name="amazon-lightsail-bucket-access-logs"></a>

Pencatatan akses menyediakan catatan terperinci untuk permintaan yang dibuat ke bucket di layanan penyimpanan objek Amazon Lightsail. Informasi ini dapat mencakup jenis permintaan, sumber daya yang ditentukan dalam permintaan, dan waktu serta tanggal pemrosesan permintaan. Log akses berguna untuk banyak aplikasi. Misalnya, informasi log akses dapat berguna dalam audit keamanan dan akses. Ini juga dapat membantu Anda mempelajari basis pelanggan Anda.

**Daftar Isi**
+ [Apa yang saya perlukan untuk mengaktifkan pengiriman log](#access-log-delivery)
+ [Format kunci objek log](#log-object-key-format)
+ [Bagaimana log dikirimkan?](#how-are-logs-delivered)
+ [Upaya terbaik mengakses pengiriman log](#best-effort-access-log-delivery)
+ [Perubahan status pencatatan bucket mulai berlaku seiring waktu](#bucket-logging-status-changes)

## Apa yang saya perlukan untuk mengaktifkan pengiriman log?
<a name="access-log-delivery"></a>

Pertimbangkan hal berikut sebelum mengaktifkan pengiriman log. Untuk detailnya, lihat [Mengaktifkan pencatatan akses bucket](amazon-lightsail-enabling-bucket-access-logs.md).

1. **Identifikasi ember target untuk log.** Bucket ini adalah tempat Anda ingin Lightsail menyimpan log akses sebagai objek. Bucket sumber dan target harus berada di Wilayah AWS yang sama dan dimiliki oleh akun yang sama.

   Anda dapat memiliki catatan yang dikirimkan ke bucket apa pun yang Anda miliki yang berada dalam Wilayah yang sama dengan bucket sumber, termasuk bucket sumber itu sendiri. Tetapi untuk manajemen log yang lebih sederhana, kami sarankan agar Anda menyimpan log akses dalam bucket yang berbeda.

   Apabila bucket sumber dan bucket target Anda merupakan bucket yang sama, maka akan dibuat log tambahan untuk log yang ditulis ke bucket. Ini mungkin tidak ideal karena dapat menghasilkan peningkatan kecil dalam konsumsi penyimpanan Anda. Selain itu, catatan tambahan tentang log mungkin akan menyulitkan Anda menemukan log yang Anda cari. Jika Anda memilih untuk menyimpan log akses di bucket sumber, sebaiknya tentukan awalan untuk kunci objek log sehingga nama objek dimulai dengan string umum dan objek log lebih mudah diidentifikasi. [Awalan kunci](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix) juga berguna untuk membedakan bucket sumber jika beberapa bucket mencatat ke bucket target yang sama.

1. **(Opsional) Identifikasi awalan untuk kunci objek log.** Awalan menjadikan pencarian objek log lebih mudah. Misalnya, jika Anda menentukan nilai awalan`logs/`, setiap objek log yang dibuat Lightsail dimulai dengan awalan `logs/` di kuncinya. Garis miring `/` diperlukan untuk menunjukkan akhir awalan. Berikut ini adalah contoh kunci objek log dengan `logs/` awalan:

   ```
   logs/2021-11-31-21-32-16-E568B2907131C0C0
   ```

## Format kunci objek log
<a name="log-object-key-format"></a>

Lightsail menggunakan format kunci objek berikut untuk objek log yang diunggah di bucket target:

```
TargetPrefix/YYYY-mm-DD-HH-MM-SS-UniqueString
```

Pada kunci, `YYYY`, `mm`, `DD`, `HH`, `MM`, dan `SS` adalah digit tahun, bulan, hari, jam, menit, dan detik (masing-masingnya) ketika berkas log dikirimkan. Tanggal dan waktu ini berada dalam Waktu Universal Terkoordinasi (UTC).

Berkas log yang dikirimkan pada waktu tertentu dapat berisi catatan yang ditulis kapan pun sebelum waktu tersebut. Tidak ada cara untuk mengetahui apakah semua catatan log untuk interval waktu tertentu telah dikirim atau tidak.

Komponen `UniqueString` pada kunci ada untuk mencegah penimpaan file. Tidak memiliki makna, dan perangkat lunak pemroses log harus mengabaikannya.

## Bagaimana log dikirimkan?
<a name="how-are-logs-delivered"></a>

Lightsail secara berkala mengumpulkan catatan log akses, mengkonsolidasikan catatan dalam file log, lalu mengunggah file log ke bucket target Anda sebagai objek log. Jika Anda mengaktifkan logging pada beberapa bucket sumber yang dikirimkan ke bucket target yang sama, bucket target akan memiliki log akses untuk semua bucket sumber tersebut. Namun demikian, setiap objek catatan melaporkan arsip log akses untuk bucket sumber spesifik.

## Upaya terbaik mengakses pengiriman log
<a name="best-effort-access-log-delivery"></a>

Catatan log akses dikirimkan atas dasar upaya terbaik. Sebagian besar permintaan bucket yang dikonfigurasi dengan benar untuk mencatat hasil dalam catatan log yang dikirim. Sebagian besar catatan log dikirim dalam beberapa jam setelah log dicatat, tetapi dapat dikirimkan lebih sering.

Kelengkapan dan ketepatan waktu akses logging tidak dijamin. Catatan log untuk permintaan tertentu mungkin dikirim dalam waktu lama setelah permintaan diproses, atau mungkin tidak dikirimkan sama sekali. Tujuan dari log akses adalah untuk memberi Anda gambaran tentang sifat lalu lintas terhadap ember Anda. Sangat jarang kehilangan catatan log, tetapi pencatatan akses tidak dimaksudkan untuk menjadi akuntansi lengkap dari semua permintaan.

## Perubahan status pencatatan log bucket memerlukan waktu
<a name="bucket-logging-status-changes"></a>

Perubahan status pencatatan log pada bucket memerlukan waktu untuk benar-benar memengaruhi pengiriman berkas log. Misalnya, jika Anda mengaktifkan pencatatan log untuk bucket, beberapa permintaan yang dilakukan di jam berikutnya mungkin akan dicatat, sementara yang lainnya mungkin tidak. Jika Anda mengubah bucket target untuk pencatatan log dari bucket A ke bucket B, beberapa catatan untuk jam berikutnya mungkin akan terus dikirimkan ke bucket A, sementara yang lain mungkin dikirimkan ke bucket target B baru. Dalam semua kasus, pengaturan baru tersebut pada akhirnya akan berlaku tanpa tindakan lebih lanjut dari pihak Anda.

**Topics**
+ [Apa yang saya perlukan untuk mengaktifkan pengiriman log?](#access-log-delivery)
+ [Format kunci objek log](#log-object-key-format)
+ [Bagaimana log dikirimkan?](#how-are-logs-delivered)
+ [Upaya terbaik mengakses pengiriman log](#best-effort-access-log-delivery)
+ [Perubahan status pencatatan log bucket memerlukan waktu](#bucket-logging-status-changes)
+ [Akses format log](amazon-lightsail-bucket-access-log-format.md)
+ [Mengelola log akses](amazon-lightsail-enabling-bucket-access-logs.md)
+ [Gunakan log akses](amazon-lightsail-using-bucket-access-logs.md)

# Analisis akses penyimpanan objek dengan log bucket Lightsail
<a name="amazon-lightsail-bucket-access-log-format"></a>

Pencatatan akses menyediakan catatan terperinci untuk permintaan yang dibuat ke bucket di layanan penyimpanan objek Amazon Lightsail. Anda dapat menggunakan log akses untuk audit keamanan dan akses, atau mempelajari basis pelanggan Anda. Bagian ini menjelaskan format dan detail lainnya tentang file log akses. Untuk informasi selengkapnya tentang dasar-dasar pencatatan, lihat [Log akses Bucket](amazon-lightsail-bucket-access-logs.md).

File log akses terdiri dari urutan catatan log yang dibatasi baris baru. Setiap catatan log mewakili satu permintaan dan terdiri dari bidang dengan ruang terbatas.

Berikut ini adalah contoh log yang terdiri dari lima catatan log.

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /amzn-s3-demo-bucket?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /amzn-s3-demo-bucket?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /amzn-s3-demo-bucket/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

**catatan**  
Setiap bidang catatan log dapat diatur ke `–` (tanda hubung) untuk menunjukkan bahwa data tidak diketahui atau tidak tersedia, atau bahwa bidang tersebut tidak berlaku untuk permintaan.

**Daftar Isi**
+ [Kolom catatan log](#log-record-fields)
+ [Pencatatan tambahan untuk operasi penyalinan](#additional-logging-for-copy-operations)
+ [Informasi log akses kustom](#custom-access-log-information)
+ [Pertimbangan pemrograman untuk format log akses yang dapat diperluas](#programing-considerations)

## Bidang catatan log
<a name="log-record-fields"></a>

Daftar berikut menjelaskan bidang catatan log.

**Titik Akses ARN (Nama Sumber Daya Amazon)**

Amazon Resource Name (ARN) dari titik akses permintaan. Jika titik akses ARN salah bentuk atau tidak digunakan, bidang akan berisi '-'. Untuk informasi selengkapnya tentang titik akses, lihat [Menggunakan titik akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html). Untuk informasi selengkapnya ARNs, lihat topik di [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) di *AWS General* Reference.

Entri contoh

```
arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
```

**Pemilik Bucket**

ID pengguna resmi dari pemilik bucket sumber. ID pengguna resmi adalah bentuk lain dari ID akun AWS. Untuk informasi selengkapnya tentang ID pengguna kanonik, lihat pengenal [akun AWS di *AWS* General](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) Reference. Untuk informasi tentang cara menemukan ID pengguna kanonik untuk akun Anda, lihat [Menemukan ID pengguna kanonik untuk akun AWS Anda](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId).

Entri contoh

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**Bucket**

Nama bucket tempat permintaan diproses untuk dibandingkan. Jika sistem menerima permintaan yang salah dan tidak dapat menentukan bucket, permintaan tidak akan muncul di log akses apa pun.

Entri contoh

```
amzn-s3-demo-bucket
```

**Waktu**

Waktu pada saat permintaan diterima; tanggal dan waktu ini berada dalam Waktu Universal Terkoordinasi (UTC). Formatnya, menggunakan terminologi *strftime()*, yaitu sebagai berikut: *[%d/%b/%Y:%H:%M:%S %z]*

Entri contoh

```
[06/Feb/2019:00:00:38 +0000]
```

**IP jarak jauh**

Alamat internet yang jelas dari pemohon. Proxy perantara dan firewall mungkin mengaburkan alamat aktual mesin yang membuat permintaan.

Entri contoh

```
192.0.2.3
```

**Pemohon**

ID pengguna resmi pemohon, atau `-` untuk permintaan tidak terautentikasi. Jika pemohon adalah pengguna IAM, bidang ini mengembalikan nama pengguna IAM pemohon bersama dengan akun akar AWS tempat pengguna IAM berada. Pengidentifikasi ini sama dengan yang digunakan untuk tujuan kontrol akses.

Entri contoh

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**Permintaan ID**

String yang dihasilkan oleh Lightsail untuk mengidentifikasi setiap permintaan secara unik.

Entri contoh

```
3E57427F33A59F07
```

**Operasi**

Operasi yang tercantum di sini dinyatakan sebagai `SOAP.operation`, `REST.HTTP_method.resource_type`, `WEBSITE.HTTP_method.resource_type`, atau `BATCH.DELETE.OBJECT`.

Entri contoh

```
REST.PUT.OBJECT
```

**Kunci**

Bagian "kunci" pada permintaan, URL yang dienkodekan, atau "-" jika operasi tidak mengambil parameter kunci.

Entri contoh

```
/photos/2019/08/puppy.jpg
```

**Permintaan**

Bagian URI-Permintaan dari pesan permintaan HTTP.

Entri Contoh

```
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
```

**Status HTTP**

Kode status HTTP numerik dari respons.

Entri contoh

```
200
```

**Kode Kesalahan**

[Kode Kesalahan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingRESTError.html#ErrorCode) Amazon S3, atau “-” jika tidak terjadi kesalahan.

Entri contoh

```
NoSuchBucket
```

**Bytes Dikirim**

Jumlah byte respons yang dikirim, tidak termasuk overhead protokol HTTP, atau "-" jika nol.

Entri contoh

```
2662992
```

**Ukuran Objek**

Ukuran total objek yang dimaksud.

Entri contoh

```
3462992
```

**Total Waktu**

Jumlah milidetik permintaan itu terbang dari sudut pandang ember. Nilai ini diukur dari waktu permintaan Anda diterima hingga waktu byte terakhir respons dikirim. Pengukuran yang dibuat dari perspektif klien mungkin lebih lama karena latensi jaringan.

Entri contoh

```
70
```

**Waktu Turn-Around**

Jumlah milidetik yang dihabiskan Lightsail untuk memproses permintaan Anda. Nilai ini diukur dari waktu byte terakhir permintaan Anda diterima hingga saat byte pertama respons dikirim.

Entri contoh

```
10
```

**Perujuk**

Nilai header HTTP Perujuk, jika ada. Agen pengguna HTTP (misalnya, peramban) biasanya mengatur header ini ke URL dari halaman penautan atau penanaman saat membuat permintaan.

Entri contoh

```
"http://www.amazon.com/webservices"
```

**Agen Pengguna**

Nilai header Agen Pengguna HTTP.

Entri contoh

```
"curl/7.15.1"
```

**Id Versi**

ID versi dalam permintaan, atau `-` jika operasi tidak mengambil `versionId` parameter.

Entri contoh

```
3HL4kqtJvjVBH40Nrjfkd
```

**Id Tuan Rumah**

ID permintaan x-amz-id diperpanjang -2 atau Lightsail.

Entri contoh

```
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
```

**Versi Tanda Tangan**

Versi tanda tangan, `SigV2` atau `SigV4`, yang digunakan untuk mengautentikasi permintaan atau `-` untuk permintaan tidak terautentikasi.

Entri contoh

```
SigV2
```

**Suite Cipher**

Cipher Lapisan Soket Aman (SSL) yang dinegosiasikan untuk permintaan HTTPS atau `-` untuk HTTP.

Entri contoh

```
ECDHE-RSA-AES128-GCM-SHA256
```

**Jenis otentikasi**

Jenis autentikasi permintaan yang digunakan, `AuthHeader` untuk header autentikasi, `QueryString` untuk string kueri (URL yang ditandatangani sebelumnya) atau `-` untuk permintaan tidak terautentikasi.

Entri contoh

```
AuthHeader
```

**Header Host**

Titik akhir yang digunakan untuk terhubung ke Lightsail.

Entri contoh

```
s3.us-west-2.amazonaws.com
```

**Versi TLS**

Versi Transport Layer Security (TLS) yang dinegosiasikan oleh klien. Nilai tersebut adalah salah satu dari berikut ini :`TLSv1`, `TLSv1.1`, `TLSv1.2`; atau `-` jika TLS tidak digunakan.

Entri contoh

```
TLSv1.2
```

## Pencatatan Tambahan untuk operasi penyalinan
<a name="additional-logging-for-copy-operations"></a>

Sebuah operasi penyalinan melibatkan `GET` dan sebuah `PUT`. Karena alasan tersebut, kami mencatat dua catatan saat melakukan operasi penyalinan. Bagian sebelumnya menguraikan bidang yang terkait dengan bagian `PUT` dari operasi. Daftar berikut menjelaskan kolom dalam catatan yang berhubungan dengan bagian `GET` dari operasi penyalinan.

**Pemilik Bucket**

ID pengguna resmi dari bucket yang menyimpan objek yang disalin. ID pengguna resmi adalah bentuk lain dari ID akun AWS. Untuk informasi selengkapnya tentang ID pengguna kanonik, lihat pengenal [akun AWS di *AWS* General](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) Reference. Untuk informasi tentang cara menemukan ID pengguna kanonik untuk akun Anda, lihat [Menemukan ID pengguna kanonik untuk akun AWS Anda](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId).

Entri contoh

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**Bucket**

Nama bucket yang menyimpan objek yang disalin.

Entri contoh

```
amzn-s3-demo-bucket
```

**Waktu**

Waktu saat permintaan diterima; tanggal dan waktu ini berada dalam Waktu Universal Terkoordinasi (UTC). Formatnya, menggunakan terminologi `strftime()`, yaitu sebagai berikut: `[%d/%B/%Y:%H:%M:%S %z]`

Entri contoh

```
[06/Feb/2019:00:00:38 +0000]
```

**IP jarak jauh**

Alamat internet yang jelas dari pemohon. Proxy perantara dan firewall mungkin mengaburkan alamat aktual mesin yang membuat permintaan.

Entri contoh

```
192.0.2.3
```

**Pemohon**

ID pengguna resmi pemohon, atau `-` untuk permintaan tidak terautentikasi. Jika pemohon adalah pengguna IAM, bidang ini akan mengembalikan nama pengguna IAM pemohon bersama dengan akun akar AWS tempat pengguna IAM berada. Pengidentifikasi ini sama dengan yang digunakan untuk tujuan kontrol akses.

Entri contoh

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**Permintaan ID**

String yang dihasilkan oleh Lightsail untuk mengidentifikasi setiap permintaan secara unik.

Entri contoh

```
3E57427F33A59F07
```

**Operasi**

Operasi yang tercantum di sini dinyatakan sebagai `SOAP.operation`, `REST.HTTP_method.resource_type`, `WEBSITE.HTTP_method.resource_type`, atau `BATCH.DELETE.OBJECT`.

Entri contoh

```
REST.COPY.OBJECT_GET
```

**Kunci**

"Kunci" dari objek yang disalin atau "-" jika operasi tidak mengambil parameter kunci.

Entri contoh

```
/photos/2019/08/puppy.jpg
```

**Permintaan**

Bagian URI-Permintaan dari pesan permintaan HTTP.

Entri contoh

```
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar"
```

**Status HTTP**

Kode status HTTP numerik dari bagian `GET` dari operasi penyalinan.

Entri contoh

```
200
```

**Kode Kesalahan**

Kode Kesalahan Amazon S3, dari `GET` bagian operasi penyalinan atau `-` jika tidak ada kesalahan yang terjadi.

Entri contoh

```
NoSuchBucket
```

**Bytes Dikirim**

Jumlah byte respons yang dikirim, tidak termasuk overhead protokol HTTP, atau "-" jika nol.

Entri contoh

```
2662992
```

**Ukuran Objek**

Ukuran total objek yang dimaksud.

Entri contoh

```
3462992
```

**Total Waktu**

Jumlah milidetik permintaan itu terbang dari sudut pandang ember. Nilai ini diukur dari waktu permintaan Anda diterima hingga waktu byte terakhir respons dikirim. Pengukuran yang dibuat dari perspektif klien mungkin lebih lama karena latensi jaringan.

Entri contoh

```
70
```

**Waktu Turn-Around**

Jumlah milidetik yang dihabiskan Lightsail untuk memproses permintaan Anda. Nilai ini diukur dari waktu byte terakhir permintaan Anda diterima hingga saat byte pertama respons dikirim.

Entri contoh

```
10
```

**Perujuk**

Nilai header HTTP Perujuk, jika ada. Agen pengguna HTTP (misalnya, peramban) biasanya mengatur header ini ke URL dari halaman penautan atau penanaman saat membuat permintaan.

Entri contoh

```
"http://www.amazon.com/webservices"
```

**Agen Pengguna**

Nilai header Agen Pengguna HTTP.

Entri contoh

```
"curl/7.15.1"
```

**Id Versi**

ID versi objek yang disalin atau `-` jika `x-amz-copy-source` header tidak menentukan `versionId` parameter sebagai bagian dari sumber salinan.

Entri contoh

```
3HL4kqtJvjVBH40Nrjfkd
```

**Id Tuan Rumah**

ID permintaan x-amz-id diperpanjang -2 atau Lightsail.

Entri contoh

```
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
```

**Versi Tanda Tangan**

Versi tanda tangan, `SigV2` atau `SigV4`, yang digunakan untuk mengautentikasi permintaan atau `-` untuk permintaan tidak terautentikasi.

Entri contoh

```
SigV2
```

**Suite Cipher**

Cipher Lapisan Soket Aman (SSL) yang dinegosiasikan untuk permintaan HTTPS atau `-` untuk HTTP.

Entri contoh

```
ECDHE-RSA-AES128-GCM-SHA256
```

**Jenis otentikasi**

Jenis autentikasi permintaan yang digunakan, `AuthHeader` untuk header autentikasi, `QueryString` untuk string kueri (URL yang ditandatangani sebelumnya) atau `-` untuk permintaan tidak terautentikasi.

Entri contoh

```
AuthHeader
```

**Header Host**

Titik akhir yang digunakan untuk terhubung ke Lightsail.

Entri contoh

```
s3.us-west-2.amazonaws.com
```

**Versi TLS**

Versi Transport Layer Security (TLS) yang dinegosiasikan oleh klien. Nilai tersebut adalah salah satu dari berikut ini :`TLSv1`, `TLSv1.1`, `TLSv1.2`; atau `-` jika TLS tidak digunakan.

Entri contoh

```
TLSv1.2
```

## Informasi log akses kustom
<a name="custom-access-log-information"></a>

Anda dapat menyertakan informasi kustom untuk disimpan dalam catatan log akses untuk permintaan. Untuk melakukannya, menambahkan parameter string kueri kustom ke URL untuk permintaan tersebut. Lightsail mengabaikan parameter kueri-string yang dimulai dengan “x-”, tetapi menyertakan parameter tersebut dalam catatan log akses untuk permintaan, sebagai bagian dari `Request-URI` bidang catatan log.

Contohnya, permintaan `GET` untuk `"s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-user=johndoe"` bekerja dengan cara yang sama seperti permintaan untuk `"s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg"`, kecuali bahwa string `"x-user=johndoe"` termasuk dalam bidang `Request-URI` untuk catatan log terkait. Fungsi ini tersedia di antarmuka REST saja.

## Pertimbangan pemrograman untuk format log akses yang dapat diperluas
<a name="programing-considerations"></a>

Dari waktu ke waktu, kami dapat memperluas format catatan log akses dengan menambahkan bidang baru ke akhir setiap baris. Oleh karena itu, Anda harus menulis kode apa pun yang mem-parsing log akses untuk menangani bidang tambahan yang mungkin tidak dimengerti.

# Aktifkan pencatatan akses bucket di Lightsail
<a name="amazon-lightsail-enabling-bucket-access-logs"></a>

Pencatatan akses menyediakan catatan terperinci untuk permintaan yang dibuat ke bucket di layanan penyimpanan objek Amazon Lightsail. Log akses berguna untuk banyak aplikasi. Misalnya, informasi log akses dapat berguna dalam audit keamanan dan akses. Ini juga dapat membantu Anda mempelajari basis pelanggan Anda.

Secara default, Lightsail tidak mengumpulkan log akses untuk bucket Anda. Saat mengaktifkan logging, Lightsail mengirimkan log akses untuk bucket sumber ke bucket target yang Anda pilih. Bucket sumber dan target harus sama Wilayah AWS dan dimiliki oleh akun yang sama.

Catatan log akses berisi detail tentang permintaan yang dilakukan ke bucket. Informasi ini dapat mencakup jenis permintaan, sumber daya yang ditentukan dalam permintaan, dan waktu serta tanggal pemrosesan permintaan. Dalam panduan ini, kami menunjukkan cara mengaktifkan atau menonaktifkan pencatatan akses untuk bucket Anda dengan menggunakan Lightsail API,AWS CLI(), atau AWS Command Line Interface AWS. SDKs

Untuk informasi selengkapnya tentang dasar-dasar pencatatan, lihat [Log akses Bucket](amazon-lightsail-bucket-access-logs.md).

**Daftar Isi**
+ [Biaya untuk pencatatan akses](#costs-for-access-logging)
+ [Aktifkan pencatatan akses menggunakan AWS CLI](#enabling-access-logging)
+ [Nonaktifkan pencatatan akses menggunakan AWS CLI](#disabling-access-logging)

## Biaya untuk pencatatan akses
<a name="costs-for-access-logging"></a>

Tidak ada biaya tambahan untuk mengaktifkan akses masuk pada ember. Namun, file log yang dikirimkan sistem ke bucket akan menghabiskan ruang penyimpanan. Anda dapat menghapus file log kapan saja. Kami tidak menilai biaya transfer data untuk pengiriman file log ketika transfer data bucket log berada dalam tunjangan bulanan yang dikonfigurasi.

Bucket target Anda seharusnya tidak mengaktifkan pencatatan akses. Anda dapat mengirimkan log ke bucket mana pun milik Anda yang berada di Wilayah yang sama dengan bucket sumber, termasuk bucket sumber itu sendiri. Namun, untuk pengelolaan log yang lebih sederhana, kami menyarankan Anda menyimpan log akses di bucket yang berbeda.

## Aktifkan pencatatan akses menggunakan AWS CLI
<a name="enabling-access-logging"></a>

Untuk mengaktifkan pencatatan akses untuk bucket Anda, kami sarankan Anda membuat bucket logging khusus di setiap bucket Wilayah AWS yang Anda miliki. Kemudian minta log akses dikirimkan ke bucket logging khusus itu.

Selesaikan prosedur berikut untuk mengaktifkan pencatatan akses menggunakan file AWS CLI.

**catatan**  
Anda harus menginstal AWS CLI dan mengkonfigurasinya untuk Lightsail sebelum melanjutkan prosedur ini. Untuk informasi selengkapnya, lihat [Mengkonfigurasi AWS CLI untuk bekerja dengan Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

1. Buka jendela Command Prompt atau Terminal di komputer lokal Anda.

1. Masukkan perintah berikut untuk mengaktifkan logging akses.

   ```
   aws lightsail update-bucket --bucket-name SourceBucketName --access-log-config "{\"enabled\": true, \"destination\": \"TargetBucketName\", \"prefix\": \"ObjectKeyNamePrefix/\"}"
   ```

   Dalam perintah tersebut, ganti teks contoh berikut dengan teks Anda sendiri:
   + *SourceBucketName*- Nama bucket sumber tempat log aksesnya akan dibuat.
   + *TargetBucketName*— Nama bucket target tempat log akses akan disimpan.
   + *ObjectKeyNamePrefix/*- Awalan nama kunci objek opsional untuk log akses. Perhatikan bahwa awalan harus diakhiri dengan garis miring ()`/`.

   **Contoh**

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket1 --access-log-config "{\"enabled\": true, \"destination\": \"amzn-s3-demo-bucket2\", \"prefix\": \"logs/amzn-s3-demo-bucket1/\"}"
   ```

   Dalam contoh, *amzn-s3-demo-bucket1* adalah bucket sumber tempat log aksesnya akan dibuat, *amzn-s3-demo-bucket2* adalah bucket tujuan tempat log akses akan disimpan, dan *logs/amzn-s3-demo-bucket1/* merupakan awalan nama kunci objek untuk log akses.

   Anda akan melihat hasil yang mirip dengan contoh berikut setelah menjalankan perintah. Bucket sumber diperbarui, dan log akses harus mulai dibuat dan disimpan di bucket tujuan.  
![\[Akses logging untuk bucket diaktifkan\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/amazon-lightsail-enable-access-logging-for-a-bucket.png)

## Menonaktifkan pencatatan akses menggunakan AWS CLI
<a name="disabling-access-logging"></a>

Selesaikan prosedur berikut untuk menonaktifkan logging akses menggunakan file AWS CLI.

**catatan**  
Anda harus menginstal AWS CLI dan mengkonfigurasinya untuk Lightsail sebelum melanjutkan prosedur ini. Untuk informasi selengkapnya, lihat [Mengkonfigurasi AWS CLI untuk bekerja dengan Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

1. Buka jendela Command Prompt atau Terminal di komputer lokal Anda.

1. Masukkan perintah berikut untuk menonaktifkan logging akses.

   ```
   aws lightsail update-bucket --bucket-name SourceBucketName --access-log-config "{\"enabled\": false}"
   ```

   Dalam perintah, ganti *SourceBucketName* dengan nama bucket sumber untuk menonaktifkan logging akses.

   **Contoh**

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --access-log-config "{\"enabled\": false}"
   ```

   Anda akan melihat hasil yang mirip dengan contoh berikut setelah menjalankan perintah.  
![\[Akses logging untuk bucket dinonaktifkan\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/amazon-lightsail-disable-access-logging-for-a-bucket.png)

# Analisis log akses bucket dengan Amazon Athena di Lightsail
<a name="amazon-lightsail-using-bucket-access-logs"></a>

Dalam panduan ini, kami menunjukkan cara mengidentifikasi permintaan ke bucket menggunakan log akses. Untuk informasi selengkapnya, lihat [Log akses Bucket](amazon-lightsail-bucket-access-logs.md).

**Daftar Isi**
+ [Log akses kueri untuk permintaan menggunakan Amazon Athena](#querying-access-logs-for-requests)
+ [Identifikasi permintaan akses objek menggunakan log akses Amazon S3](#identifying-object-access-requests)

## Log akses kueri untuk permintaan menggunakan Amazon Athena
<a name="querying-access-logs-for-requests"></a>

Anda dapat menggunakan Amazon Athena untuk menanyakan dan mengidentifikasi permintaan ke bucket di log akses.

Lightsail menyimpan log akses sebagai objek dalam ember Lightsail. Seringkali lebih mudah menggunakan alat yang dapat menganalisis log. Athena mendukung analisis objek dan dapat digunakan untuk query log akses.

**Contoh**

Contoh berikut menunjukkan bagaimana Anda dapat melakukan kueri log akses server bucket di Amazon Athena.

**catatan**  
Untuk menentukan lokasi bucket dalam kueri Athena, Anda perlu memformat nama bucket target dan awalan target tempat log Anda dikirimkan sebagai URI S3, sebagai berikut: `s3://amzn-s3-demo-bucket1-logs/prefix/`

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. Di **Query Editor**, jalankan perintah yang mirip dengan berikut ini.

   ```
   create database bucket_access_logs_db
   ```
**catatan**  
Ini adalah praktik terbaik untuk membuat database yang Wilayah AWS sama dengan bucket S3 Anda.

1. Di **Query Editor**, jalankan perintah yang mirip dengan berikut ini untuk membuat skema tabel dalam database yang Anda buat di langkah 2. Nilai tipe data `STRING` dan `BIGINT` adalah properti log akses. Anda dapat mencari properti ini di Athena. Untuk`LOCATION`, masukkan bucket dan jalur awalan seperti yang disebutkan sebelumnya.

   ```
   CREATE EXTERNAL TABLE `s3_access_logs_db.amzn-s3-demo-bucket_logs`(
     `bucketowner` STRING, 
     `bucket_name` STRING, 
     `requestdatetime` STRING, 
     `remoteip` STRING, 
     `requester` STRING, 
     `requestid` STRING, 
     `operation` STRING, 
     `key` STRING, 
     `request_uri` STRING, 
     `httpstatus` STRING, 
     `errorcode` STRING, 
     `bytessent` BIGINT, 
     `objectsize` BIGINT, 
     `totaltime` STRING, 
     `turnaroundtime` STRING, 
     `referrer` STRING, 
     `useragent` STRING, 
     `versionid` STRING, 
     `hostid` STRING, 
     `sigv` STRING, 
     `ciphersuite` STRING, 
     `authtype` STRING, 
     `endpoint` STRING, 
     `tlsversion` STRING)
   ROW FORMAT SERDE 
     'org.apache.hadoop.hive.serde2.RegexSerDe' 
   WITH SERDEPROPERTIES ( 
     'input.regex'='([^ ]*) ([^ ]*) \\[(.*?)\\] ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) (\"[^\"]*\"|-) (-|[0-9]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) (\"[^\"]*\"|-) ([^ ]*)(?: ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*))?.*$') 
   STORED AS INPUTFORMAT 
     'org.apache.hadoop.mapred.TextInputFormat' 
   OUTPUTFORMAT 
     'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
   LOCATION
     's3://amzn-s3-demo-bucket1-logs/prefix/'
   ```

1. Dalam panel navigasi, pada **Basis Data**, pilih basis data Anda.

1. Pada **Tabel**, pilih **Tabel pratinjau** di sebelah nama tabel Anda.

   Di panel **Hasil**, Anda akan melihat data dari log akses server, seperti `bucketowner`, `bucket`, `requestdatetime`, dan sebagainya. Ini berarti Anda berhasil membuat tabel Athena. Anda sekarang dapat menanyakan log akses server bucket.

**Contoh - Tampilkan siapa yang menghapus objek dan kapan (stempel waktu, alamat IP, dan pengguna IAM)**

```
SELECT RequestDateTime, RemoteIP, Requester, Key 
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs 
WHERE key = 'images/picture.jpg' AND operation like '%DELETE%';
```

**Contoh - Tampilkan semua operasi yang dilakukan oleh pengguna IAM**

```
SELECT * 
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs 
WHERE requester='arn:aws:iam::123456789123:user/user_name';
```

**Contoh - Tampilkan semua operasi yang dilakukan pada objek dalam periode waktu tertentu**

```
SELECT *
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE Key='prefix/images/picture.jpg' 
    AND parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z')
    BETWEEN parse_datetime('2017-02-18:07:00:00','yyyy-MM-dd:HH:mm:ss')
    AND parse_datetime('2017-02-18:08:00:00','yyyy-MM-dd:HH:mm:ss');
```

**Contoh - Menunjukkan berapa banyak data yang ditransfer oleh alamat IP tertentu dalam periode waktu tertentu**

```
SELECT SUM(bytessent) AS uploadTotal,
      SUM(objectsize) AS downloadTotal,
      SUM(bytessent + objectsize) AS Total
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE RemoteIP='1.2.3.4'
AND parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z')
BETWEEN parse_datetime('2017-06-01','yyyy-MM-dd')
AND parse_datetime('2017-07-01','yyyy-MM-dd');
```

## Identifikasi permintaan akses objek menggunakan log akses Amazon S3
<a name="identifying-object-access-requests"></a>

Anda dapat menggunakan kueri pada log akses untuk mengidentifikasi permintaan akses objek, untuk operasi seperti *GET*, *PUT*, dan *DELETE*, dan menemukan informasi lebih lanjut tentang permintaan tersebut.

Contoh kueri Amazon Athena berikut menunjukkan cara mendapatkan semua permintaan `PUT` objek untuk bucket dari log akses server.

**Contoh - Tampilkan semua pemohon yang mengirim permintaan objek PUT dalam periode tertentu**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db
WHERE Operation='REST.PUT.OBJECT' AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

Contoh kueri Amazon Athena berikut menunjukkan cara mendapatkan semua permintaan objek GET untuk Amazon S3 dari log akses server.

**Contoh - Tampilkan semua pemohon yang mengirim permintaan objek GET dalam periode tertentu**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db
WHERE Operation='REST.GET.OBJECT' AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

Contoh kueri Amazon Athena berikut menunjukkan cara mendapatkan semua permintaan anonim ke bucket S3 Anda dari log akses server.

**Contoh - Tampilkan semua pemohon anonim yang membuat permintaan ke bucket dalam periode tertentu**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE Requester IS NULL AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

**catatan**  
Anda dapat memodifikasi rentang tanggal sesuai dengan kebutuhan Anda.
Contoh kueri ini juga dapat berguna untuk pemantauan keamanan. Anda dapat meninjau hasil untuk `PutObject` atau `GetObject` panggilan dari IP yang tidak terduga atau tidak sah addresses/requesters dan untuk mengidentifikasi permintaan anonim apa pun ke bucket Anda.
Kueri ini hanya mengambil informasi dari waktu saat pencatatan log diaktifkan.