Membuat log alur yang menerbitkan ke Amazon S3 - Amazon VPC

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

Membuat log alur yang menerbitkan ke Amazon S3

Arus log dapat menerbitkan data log alur ke Amazon S3.

Ketika menerbitkan ke Amazon S3, data log alur diterbitkan ke bucket Amazon S3 yang ada yang Anda tentukan. Catatan log aliran untuk semua gateway transit yang dipantau dipublikasikan ke serangkaian objek file log yang disimpan di bucket.

Biaya konsumsi data dan arsip diterapkan oleh Amazon CloudWatch untuk log vended saat Anda memublikasikan log aliran ke Amazon S3. Untuk informasi selengkapnya tentang CloudWatch harga untuk log penjual, buka CloudWatchHarga Amazon, pilih Log, lalu temukan Log Terjual.

Untuk membuat bucket Amazon S3 untuk digunakan dengan flow log, lihat Membuat bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Untuk informasi selengkapnya tentang pencatatan beberapa akun, lihat Pencatatan Pusat dalam Perpustakaan Solusi AWS .

Untuk informasi selengkapnya tentang CloudWatch Log, lihat Log yang dikirim ke Amazon S3 di Panduan Pengguna Amazon CloudWatch Logs.

Berkas log alur

VPC Flow Logs adalah fitur yang mengumpulkan catatan log aliran, mengkonsolidasikannya ke dalam file log, dan kemudian menerbitkan file log ke bucket Amazon S3 dengan interval 5 menit. Setiap file berkas log berisi catatan log alur untuk lalu lintas IP yang dicatat dalam lima menit sebelumnya.

Ukuran file maksimum untuk berkas log adalah 75 MB. File berkas log mencapai batas ukuran file dalam periode 5 menit, log alur berhenti menambahkan catatan log alur kepadanya. Kemudian menerbitkan log alur ke bucket Amazon S3, dan membuat file berkas log baru.

Di Amazon S3, bidang terakhir yang dimodifikasi untuk file log alur menunjukkan tanggal dan waktu saat file diunggah ke bucket Amazon S3. Ini lebih lambat dari stempel waktu dalam nama file, dan berbeda dengan jumlah waktu yang dibutuhkan untuk mengunggah file ke bucket Amazon S3.

Format berkas log

Anda dapat menentukan salah satu format berikut untuk file log. Setiap file dikompresi menjadi satu file Gzip.

  • Teks — Teks biasa. Ini adalah format default.

  • Parket - Apache Parquet adalah format data kolumnar. Kueri pada data dalam format Parket 10 hingga 100 kali lebih cepat dibandingkan dengan kueri pada data dalam teks biasa. Data dalam format Parket dengan kompresi Gzip membutuhkan ruang penyimpanan 20 persen lebih sedikit daripada teks biasa dengan kompresi Gzip.

Opsi berkas log

Anda dapat secara opsional menentukan opsi berikut.

  • Awalan S3 yang kompatibel dengan HIVE - Aktifkan awalan yang kompatibel dengan HIVE alih-alih mengimpor partisi ke alat yang kompatibel dengan HIVE Anda. Sebelum Anda menjalankan kueri, gunakan MSCK REPAIR TABLE perintah.

  • Partisi per jam - Jika Anda memiliki volume log yang besar dan biasanya menargetkan kueri ke jam tertentu, Anda bisa mendapatkan hasil yang lebih cepat dan menghemat biaya kueri dengan mempartisi log setiap jam.

Struktur ember S3 file log

File log disimpan ke bucket Amazon S3 yang ditentukan menggunakan struktur folder yang didasarkan pada opsi ID, Wilayah, tanggal pembuatan, dan tujuan log alur.

Secara default, file dikirim ke lokasi berikut.

bucket-and-optional-prefix/AWSLogs/account_id/vpcflowlogs/region/year/month/day/

Jika Anda mengaktifkan awalan S3 yang kompatibel dengan HIVE, file akan dikirim ke lokasi berikut.

bucket-and-optional-prefix/AWSLogs/aws-account-id=account_id/service=vpcflowlogs/aws-region=region/year=year/month=month/day=day/

Jika Anda mengaktifkan partisi per jam, file dikirim ke lokasi berikut.

bucket-and-optional-prefix/AWSLogs/account_id/vpcflowlogs/region/year/month/day/hour/

Jika Anda mengaktifkan partisi yang kompatibel dengan HIVE dan mempartisi log aliran per jam, file dikirim ke lokasi berikut.

bucket-and-optional-prefix/AWSLogs/aws-account-id=account_id/service=vpcflowlogs/aws-region=region/year=year/month=month/day=day/hour=hour/
Nama berkas log

Nama file file log didasarkan pada ID log aliran, Wilayah, dan tanggal dan waktu pembuatan. Nama file menggunakan format berikut.

aws_account_id_vpcflowlogs_region_flow_log_id_YYYYMMDDTHHmmZ_hash.log.gz

Berikut ini adalah contoh file log untuk log aliran yang dibuat oleh Akun AWS 123456789012, untuk sumber daya di us-east-1 Wilayah, June 20, 2018 di16:20 UTC. File berisi catatan log aliran dengan waktu akhir antara 16:20:00 dan16:24:59.

123456789012_vpcflowlogs_us-east-1_fl-1234abcd_20180620T1620Z_fe123456.log.gz

Kebijakan IAM untuk prinsipal IAM yang menerbitkan log alur ke Amazon S3

Prinsipal IAM yang membuat log alur harus memiliki izin berikut, yang diperlukan untuk mempublikasikan log aliran ke bucket Amazon S3 tujuan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*" } ] }

Izin bucket Amazon S3 untuk log alur

Objek dan bucket Amazon S3 secara default bersifat privat. Hanya pemilik bucket yang bisa mengakses bucket dan objek yang tersimpan di dalamnya. Namun, pemilik bucket dapat memberikan akses kepada sumber daya dan pengguna lain dengan menulis kebijakan akses.

Jika pengguna yang membuat log alur memiliki bucket PutBucketPolicy dan memiliki serta GetBucketPolicy izin untuk bucket, kami secara otomatis melampirkan kebijakan berikut ke bucket. Kebijakan ini akan menggantikan kebijakan yang sebelumnya sudah melekat pada bucket.

Jika tidak, pemilik bucket harus menambahkan kebijakan ini ke bucket, menentukan Akun AWS ID pembuat log alur, atau pembuatan log alur gagal. Untuk informasi selengkapnya, lihat Menggunakan kebijakan bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "my-s3-arn", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": account_id }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:region:account_id:*" } } }, { "Sid": "AWSLogDeliveryCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": ["s3:GetBucketAcl", "s3:ListBucket"], "Resource": "arn:aws:s3:::bucket_name", "Condition": { "StringEquals": { "aws:SourceAccount": account_id }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:region:account_id:*" } } } ] }

ARN yang Anda tentukan untuk my-s3-arn bergantung pada apakah Anda menggunakan awalan S3 yang kompatibel dengan HIVE.

  • Awalan default

    arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*
  • Awalan S3 yang kompatibel dengan HIVE

    arn:aws:s3:::bucket_name/optional_folder/AWSLogs/aws-account-id=account_id/*

Sebagai praktik terbaik, sebaiknya Anda memberikan izin ini kepada prinsipal layanan pengiriman log, bukan Akun AWS ARN individual. Ini juga merupakan praktik terbaik untuk menggunakan kunci aws:SourceAccount dan aws:SourceArn kondisi untuk melindungi dari masalah wakil yang membingungkan. Akun sumber adalah pemilik log aliran dan sumber ARN adalah ARN wildcard (*) dari layanan log.

Kebijakan kunci yang diperlukan untuk digunakan dengan SSE-KMS

Anda dapat melindungi data di bucket Amazon S3 dengan mengaktifkan Enkripsi Sisi Server dengan Amazon S3-Managed Keys (SSE-S3) atau Enkripsi Sisi Server dengan Kunci KMS (SSE-KMS). Untuk informasi selengkapnya, lihat Melindungi data menggunakan enkripsi sisi server di Panduan Pengguna Amazon S3.

Dengan SSE-KMS, Anda dapat menggunakan kunci terkelola atau kunci yang AWS dikelola pelanggan. Dengan kunci AWS terkelola, Anda tidak dapat menggunakan pengiriman lintas akun. Log alur dikirim dari akun pengiriman log, sehingga Anda harus memberikan akses untuk pengiriman lintas akun. Untuk memberikan akses lintas akun ke bucket S3 Anda, gunakan kunci yang dikelola pelanggan dan tentukan Nama Sumber Daya Amazon (ARN) kunci terkelola pelanggan saat Anda mengaktifkan enkripsi bucket. Untuk informasi selengkapnya, lihat Menentukan enkripsi sisi server dengan AWS KMS di Panduan Pengguna Amazon S3.

Bila Anda menggunakan SSE-KMS dengan kunci terkelola pelanggan, Anda harus menambahkan yang berikut ini ke kebijakan kunci untuk kunci Anda (bukan kebijakan bucket untuk bucket S3 Anda), sehingga VPC Flow Logs dapat menulis ke bucket S3 Anda.

{ "Sid": "Allow Transit Gateway Flow Logs to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Izin file berkas log Amazon S3

Selain kebijakan bucket yang diperlukan, Amazon S3 menggunakan daftar kontrol akses (ACL) untuk mengelola akses ke berkas log yang dibuat oleh log alur. Secara default, pemilik bucket memiliki izin FULL_CONTROL pada setiap file berkas log. Pemilik pengiriman log, jika berbeda dari pemilik bucket, tidak memiliki izin. Akun pengiriman log memiliki izin READ dan WRITE. Untuk informasi selengkapnya, lihat Ikhtisar Daftar Kontrol Akses (ACL) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Membuat log alur yang menerbitkan ke Amazon S3

Setelah membuat dan mengonfigurasi bucket Amazon S3, Anda dapat membuat log aliran untuk gateway transit.

Untuk membuat log aliran gateway transit yang diterbitkan ke Amazon S3 menggunakan konsol
  1. Buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/.

  2. Di panel navigasi, pilih Gateway transit atau Lampiran gateway Transit.

  3. Pilih kotak centang untuk satu atau beberapa gateway transit atau lampiran gateway transit.

  4. Pilih Tindakan, Buat log alur.

  5. Konfigurasikan pengaturan log aliran. Untuk informasi selengkapnya, lihat Untuk mengonfigurasi setelan log alur.

Untuk mengkonfigurasi pengaturan log aliran menggunakan konsol
  1. Untuk Tujuan, pilih Kirim ke ember S3.

  2. Untuk ARN bucket S3, tentukan Amazon Resource Name (ARN) dari bucket Amazon S3 yang ada. Anda dapat secara opsional menyertakan subfolder. Misalnya, untuk menentukan subfolder bernama my-logs dalam sebuah bucket bernama my-bucket, gunakan ARN berikut:

    arn:aws::s3:::my-bucket/my-logs/

    Bucket tidak dapat menggunakan AWSLogs sebagai nama subfolder, karena ini adalah istilah yang dicadangkan.

    Jika Anda memiliki bucket, kami secara otomatis membuat kebijakan sumber daya dan melampirkannya ke bucket. Untuk informasi selengkapnya, lihat Izin bucket Amazon S3 untuk log alur.

  3. Untuk format catatan Log, tentukan format untuk catatan log aliran.

    • Untuk menggunakan format catatan log alur default, pilih format default AWS .

    • Untuk membuat format kustom, pilih Format kustom. Untuk Format log, pilih bidang untuk disertakan dalam catatan log alur.

  4. Untuk format file Log, tentukan format untuk file log.

    • Teks — Teks biasa. Ini adalah format default.

    • Parket - Apache Parquet adalah format data kolumnar. Kueri pada data dalam format Parket 10 hingga 100 kali lebih cepat dibandingkan dengan kueri pada data dalam teks biasa. Data dalam format Parket dengan kompresi Gzip membutuhkan ruang penyimpanan 20 persen lebih sedikit daripada teks biasa dengan kompresi Gzip.

  5. (Opsional) Untuk menggunakan awalan S3 yang kompatibel dengan HIVE, pilih awalan S3 yang kompatibel dengan HIVE, Aktifkan.

  6. (Opsional) Untuk mempartisi log aliran Anda per jam, pilih Setiap 1 jam (60 menit).

  7. (Opsional) Untuk menambahkan tag ke log aliran, pilih Tambahkan tag baru dan tentukan kunci dan nilai tag.

  8. Pilih Buat log alur.

Untuk membuat log alur yang menerbitkan ke Amazon S3 menggunakan alat baris perintah

Gunakan salah satu perintah berikut ini.

AWS CLI Contoh berikut membuat log aliran yang menangkap semua lalu lintas gateway transit untuk tgw-00112233344556677 VPC dan mengirimkan log aliran ke bucket Amazon S3 yang dipanggil. flow-log-bucket Parameter --log-format menentukan format kustom untuk catatan log alur.

aws ec2 create-flow-logs --resource-type TransitGateway --resource-ids tgw-00112233344556677 --log-destination-type s3 --log-destination arn:aws:s3:::flow-log-bucket/my-custom-flow-logs/'

Catatan log alur proses di Amazon S3

Berkas log dikompresi. Jika Anda membuka berkas log menggunakan konsol Amazon S3, berkas log akan didekompresi dan catatan log alur ditampilkan. Jika Anda mengunduh berkas, Anda harus mendekompresi mereka untuk melihat catatan log alur.