Ekspor data log ke Amazon S3 menggunakan konsol - CloudWatch Log Amazon

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

Ekspor data log ke Amazon S3 menggunakan konsol

Dalam contoh berikut, Anda menggunakan CloudWatch konsol Amazon untuk mengekspor semua data dari grup CloudWatch log Amazon Logs yang diberi nama my-log-group ke bucket Amazon S3 bernama. my-exported-logs

Mengekspor data log ke bucket S3 yang dienkripsi oleh SSE-KMS didukung. Mengekspor ke bucket yang dienkripsi dengan DSSE-KMS tidak didukung.

Detail cara Anda mengatur ekspor tergantung pada apakah bucket Amazon S3 yang ingin Anda ekspor berada di akun yang sama dengan log Anda yang sedang diekspor, atau di akun lain.

Ekspor akun yang sama

Jika bucket Amazon S3 berada di akun yang sama dengan log yang sedang diekspor, gunakan instruksi di bagian ini.

Langkah 1: Buat bucket Amazon S3.

Kami menyarankan Anda menggunakan bucket yang dibuat khusus untuk CloudWatch Log. Namun, jika Anda ingin menggunakan bucket yang sudah ada, Anda dapat melompat ke langkah 2.

catatan

Bucket S3 harus berada di Region yang sama dengan data log yang akan diekspor. CloudWatch Log tidak mendukung ekspor data ke bucket S3 di Wilayah lain.

Untuk membuat bucket S3
  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Jika perlu, ubah Region. Dari bilah navigasi, pilih Wilayah tempat CloudWatch Log Anda berada.

  3. Pilih Create Bucket (Buat Bucket).

  4. Untuk Bucket Name (Nama Bucket), masukkan nama untuk bucket.

  5. Untuk Wilayah, pilih Wilayah tempat data CloudWatch Log Anda berada.

  6. Pilih Buat.

Langkah 2: Siapkan izin akses

Untuk membuat tugas ekspor di langkah 5, Anda harus masuk dengan peran AmazonS3ReadOnlyAccess IAM dan dengan izin berikut:

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Untuk memberikan akses, tambahkan izin ke pengguna, grup, atau peran Anda:

Langkah 3: Tetapkan izin pada bucket S3

Secara default, semua bucket dan objek S3 bersifat pribadi. Hanya pemilik sumber daya, Akun AWS yang membuat ember, yang dapat mengakses ember dan objek apa pun yang dikandungnya. Namun, pemilik sumber daya dapat memilih untuk memberikan izin akses kepada sumber daya dan pengguna lain dengan menulis kebijakan akses.

Ketika Anda menetapkan kebijakan, sebaiknya Anda menyertakan string yang dihasilkan secara acak sebagai prefiks untuk bucket sehingga hanya pengaliran log yang dimaksud yang diekspor ke bucket tersebut.

penting

Untuk membuat ekspor ke bucket S3 lebih aman, kami sekarang meminta Anda untuk menentukan daftar akun sumber yang diizinkan untuk mengekspor data log ke bucket S3 Anda.

Dalam contoh berikut, daftar ID akun di aws:SourceAccount kunci akan menjadi akun dari mana pengguna dapat mengekspor data log ke bucket S3 Anda. aws:SourceArnKuncinya adalah sumber daya tempat tindakan diambil. Anda dapat membatasi ini ke grup log tertentu, atau menggunakan wildcard seperti yang ditunjukkan dalam contoh ini.

Kami menyarankan Anda juga menyertakan ID akun akun tempat bucket S3 dibuat, untuk memungkinkan ekspor dalam akun yang sama.

Untuk mengatur izin bucket Amazon S3
  1. Di konsol Amazon S3, pilih bucket yang Anda buat di langkah 1.

  2. Pilih Permissions (Izin), Bucket policy (Kebijakan bucket).

  3. Di Editor Kebijakan Bucket, tambahkan kebijakan berikut. Ubah my-exported-logs ke nama bucket S3 Anda. Pastikan untuk menentukan titik akhir Wilayah yang benar, sepertius-west-1, untuk Principal.

    { "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/*", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } } ] }
  4. Pilih Save (Simpan) untuk menetapkan kebijakan yang baru saja ditambahkan sebagai kebijakan akses di bucket Anda. Kebijakan ini memungkinkan CloudWatch Log untuk mengekspor data log ke bucket S3 Anda. Pemilik bucket memiliki izin penuh atas semua objek yang diekspor.

    Awas

    Jika bucket yang ada sudah memiliki satu atau beberapa kebijakan yang dilampirkan padanya, tambahkan pernyataan untuk akses CloudWatch Log ke kebijakan atau kebijakan tersebut. Sebaiknya Anda mengevaluasi hasil rangkaian izin untuk memastikan bahwa itu sesuai untuk pengguna yang akan mengakses bucket.

(Opsional) Langkah 4: Mengekspor ke bucket yang dienkripsi dengan SSE-KMS

Langkah ini diperlukan hanya jika Anda mengekspor ke bucket S3 yang menggunakan enkripsi sisi server. AWS KMS keysEnkripsi ini dikenal sebagai SSE-KMS.

Untuk mengekspor ke bucket yang dienkripsi dengan SSE-KMS
  1. Buka AWS KMS konsol di https://console.aws.amazon.com/kms.

  2. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

  3. Di bilah navigasi kiri, pilih Kunci yang dikelola pelanggan.

    Pilih Buat Kunci.

  4. Untuk Tipe Kunci, pilih Simetris.

  5. Untuk penggunaan Kunci, pilih Enkripsi dan dekripsi dan kemudian pilih Berikutnya.

  6. Di bawah Tambahkan label, masukkan alias untuk kunci dan secara opsional tambahkan deskripsi atau tag. Lalu pilih Selanjutnya.

  7. Di bawah Administrator kunci, pilih siapa yang dapat mengelola kunci ini, lalu pilih Berikutnya.

  8. Di bawah Tentukan izin penggunaan kunci, jangan buat perubahan dan pilih Berikutnya.

  9. Tinjau pengaturan dan pilih Selesai.

  10. Kembali ke halaman kunci yang dikelola Pelanggan, pilih nama kunci yang baru saja Anda buat.

  11. Pilih tab Kebijakan kunci dan pilih Beralih ke tampilan kebijakan.

  12. Di bagian Kebijakan kunci, pilih Edit.

  13. Tambahkan pernyataan berikut ke daftar pernyataan kebijakan kunci. Ketika Anda melakukannya, ganti Wilayah dengan Wilayah log Anda dan ganti akun-ARN dengan ARN dari akun yang memiliki kunci KMS.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" } ] }
  14. Pilih Simpan perubahan.

  15. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  16. Temukan bucket yang Anda buat Langkah 1: Buat ember S3 dan pilih nama bucket.

  17. Pilih tab Properti. Kemudian, di bawah Enkripsi Default, pilih Edit.

  18. Di bawah Enkripsi sisi server, pilih Aktifkan.

  19. Di bawah Tipe enkripsi memilih Kunci (SSE-KMS)AWS Key Management Service .

  20. Pilih Pilih dari AWS KMS kunci Anda dan temukan kunci yang Anda buat.

  21. Untuk kunci Bucket, pilih Aktifkan.

  22. Pilih Simpan perubahan.

Langkah 5: Buat tugas ekspor

Di langkah ini, Anda membuat tugas ekspor untuk mengekspor log dari grup log.

Untuk mengekspor data ke Amazon S3 menggunakan konsol CloudWatch
  1. Masuk dengan izin yang memadai seperti yang didokumentasikanLangkah 2: Siapkan izin akses.

  2. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  3. Di panel navigasi, pilih Grup log.

  4. Di layar Log Groups (Grup Log), pilih nama grup log.

  5. Pilih Actions (Tindakan), Export data to Amazon S3 (Ekspor data ke Amazon S3).

  6. Di layar Export data to Amazon S3 (Ekspor data ke Amazon S3), di Define data export (Tentukan ekspor data), atur rentang waktu untuk data yang akan diekspor menggunakan From (Dari) dan To (Sampai).

  7. Jika grup log Anda memiliki beberapa pengaliran log, Anda dapat memberikan prefiks pengaliran log untuk membatasi data grup log ke pengaliran tertentu. Pilih Advanced (Lanjutan), lalu untuk Stream prefix (Prefiks pengaliran), masukkan prefiks pengaliran log.

  8. Di bawah bucket Pilih S3, pilih akun yang terkait dengan bucket S3.

  9. Untuk nama bucket S3, pilih bucket S3.

  10. Untuk S3 Bucket prefix (Prefiks bucket S3), masukkan string yang dihasilkan secara acak yang Anda tentukan dalam kebijakan bucket.

  11. Pilih Export (Ekspor) untuk mengekspor data log ke Amazon S3.

  12. Untuk melihat status data log yang diekspor ke Amazon S3, pilih Actions (Tindakan), lalu View all exports to Amazon S3 (Lihat semua ekspor ke Amazon S3).

Ekspor lintas akun

Jika bucket Amazon S3 berada di akun yang berbeda dari log yang sedang diekspor, gunakan petunjuk di bagian ini.

Langkah 1: Buat bucket Amazon S3.

Kami menyarankan Anda menggunakan bucket yang dibuat khusus untuk CloudWatch Log. Namun, jika Anda ingin menggunakan bucket yang sudah ada, Anda dapat melompat ke langkah 2.

catatan

Bucket S3 harus berada di Region yang sama dengan data log yang akan diekspor. CloudWatch Log tidak mendukung ekspor data ke bucket S3 di Wilayah lain.

Untuk membuat bucket S3
  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Jika perlu, ubah Region. Dari bilah navigasi, pilih Wilayah tempat CloudWatch Log Anda berada.

  3. Pilih Create Bucket (Buat Bucket).

  4. Untuk Bucket Name (Nama Bucket), masukkan nama untuk bucket.

  5. Untuk Wilayah, pilih Wilayah tempat data CloudWatch Log Anda berada.

  6. Pilih Buat.

Langkah 2: Siapkan izin akses

Pertama, Anda harus membuat kebijakan IAM baru untuk mengaktifkan CloudWatch Log agar memiliki s3:PutObject izin untuk bucket Amazon S3 tujuan di akun tujuan.

Kebijakan yang Anda buat bergantung pada apakah bucket tujuan menggunakan AWS KMS enkripsi.

Untuk membuat kebijakan IAM untuk mengekspor log ke bucket Amazon S3
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi sebelah kiri, pilih Kebijakan.

  3. Pilih Buat kebijakan.

  4. Di bagian Editor kebijakan, pilih JSON.

  5. Jika bucket tujuan tidak menggunakan AWS KMS enkripsi, tempelkan kebijakan berikut ke editor.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*" } ] }

    Jika bucket tujuan menggunakan AWS KMS enkripsi, tempelkan kebijakan berikut ke editor.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "ARN_OF_KMS_KEY" } ] }
  6. Pilih Berikutnya.

  7. Masukkan nama kebijakan. Anda akan menggunakan nama ini untuk melampirkan kebijakan ke peran IAM Anda.

  8. Pilih Buat kebijakan untuk menyimpan kebijakan baru.

Untuk membuat tugas ekspor di langkah 5, Anda harus masuk dengan peran AmazonS3ReadOnlyAccess IAM. Anda juga harus masuk dengan kebijakan IAM yang baru saja Anda buat, dan juga dengan izin berikut:

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Untuk memberikan akses, tambahkan izin ke pengguna, grup, atau peran Anda:

Langkah 3: Tetapkan izin pada bucket S3

Secara default, semua bucket dan objek S3 bersifat pribadi. Hanya pemilik sumber daya, Akun AWS yang membuat ember, yang dapat mengakses ember dan objek apa pun yang dikandungnya. Namun, pemilik sumber daya dapat memilih untuk memberikan izin akses kepada sumber daya dan pengguna lain dengan menulis kebijakan akses.

Ketika Anda menetapkan kebijakan, sebaiknya Anda menyertakan string yang dihasilkan secara acak sebagai prefiks untuk bucket sehingga hanya pengaliran log yang dimaksud yang diekspor ke bucket tersebut.

penting

Untuk membuat ekspor ke bucket S3 lebih aman, kami sekarang meminta Anda untuk menentukan daftar akun sumber yang diizinkan untuk mengekspor data log ke bucket S3 Anda.

Dalam contoh berikut, daftar ID akun di aws:SourceAccount kunci akan menjadi akun dari mana pengguna dapat mengekspor data log ke bucket S3 Anda. aws:SourceArnKuncinya adalah sumber daya tempat tindakan diambil. Anda dapat membatasi ini ke grup log tertentu, atau menggunakan wildcard seperti yang ditunjukkan dalam contoh ini.

Kami menyarankan Anda juga menyertakan ID akun akun tempat bucket S3 dibuat, untuk memungkinkan ekspor dalam akun yang sama.

Untuk mengatur izin bucket Amazon S3
  1. Di konsol Amazon S3, pilih bucket yang Anda buat di langkah 1.

  2. Pilih Permissions (Izin), Bucket policy (Kebijakan bucket).

  3. Di Editor Kebijakan Bucket, tambahkan kebijakan berikut. Ubah my-exported-logs ke nama bucket S3 Anda. Pastikan untuk menentukan titik akhir Wilayah yang benar, sepertius-west-1, untuk Principal.

    { "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/*", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::create_export_task_caller_account:role/role_name" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
  4. Pilih Save (Simpan) untuk menetapkan kebijakan yang baru saja ditambahkan sebagai kebijakan akses di bucket Anda. Kebijakan ini memungkinkan CloudWatch Log untuk mengekspor data log ke bucket S3 Anda. Pemilik bucket memiliki izin penuh atas semua objek yang diekspor.

    Awas

    Jika bucket yang ada sudah memiliki satu atau beberapa kebijakan yang dilampirkan padanya, tambahkan pernyataan untuk akses CloudWatch Log ke kebijakan atau kebijakan tersebut. Sebaiknya Anda mengevaluasi hasil rangkaian izin untuk memastikan bahwa itu sesuai untuk pengguna yang akan mengakses bucket.

(Opsional) Langkah 4: Mengekspor ke bucket yang dienkripsi dengan SSE-KMS

Langkah ini diperlukan hanya jika Anda mengekspor ke bucket S3 yang menggunakan enkripsi sisi server. AWS KMS keysEnkripsi ini dikenal sebagai SSE-KMS.

Untuk mengekspor ke bucket yang dienkripsi dengan SSE-KMS
  1. Buka AWS KMS konsol di https://console.aws.amazon.com/kms.

  2. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

  3. Di bilah navigasi kiri, pilih Kunci yang dikelola pelanggan.

    Pilih Buat Kunci.

  4. Untuk Tipe Kunci, pilih Simetris.

  5. Untuk penggunaan Kunci, pilih Enkripsi dan dekripsi dan kemudian pilih Berikutnya.

  6. Di bawah Tambahkan label, masukkan alias untuk kunci dan secara opsional tambahkan deskripsi atau tag. Lalu pilih Selanjutnya.

  7. Di bawah Administrator kunci, pilih siapa yang dapat mengelola kunci ini, lalu pilih Berikutnya.

  8. Di bawah Tentukan izin penggunaan kunci, jangan buat perubahan dan pilih Berikutnya.

  9. Tinjau pengaturan dan pilih Selesai.

  10. Kembali ke halaman kunci yang dikelola Pelanggan, pilih nama kunci yang baru saja Anda buat.

  11. Pilih tab Kebijakan kunci dan pilih Beralih ke tampilan kebijakan.

  12. Di bagian Kebijakan kunci, pilih Edit.

  13. Tambahkan pernyataan berikut ke daftar pernyataan kebijakan kunci. Ketika Anda melakukannya, ganti Wilayah dengan Wilayah log Anda dan ganti akun-ARN dengan ARN dari akun yang memiliki kunci KMS.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM Role Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::create_export_task_caller_account:role/role_name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "ARN_OF_KMS_KEY" } ] }
  14. Pilih Simpan perubahan.

  15. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  16. Temukan bucket yang Anda buat Langkah 1: Buat ember S3 dan pilih nama bucket.

  17. Pilih tab Properti. Kemudian, di bawah Enkripsi Default, pilih Edit.

  18. Di bawah Enkripsi sisi server, pilih Aktifkan.

  19. Di bawah Tipe enkripsi memilih Kunci (SSE-KMS)AWS Key Management Service .

  20. Pilih Pilih dari AWS KMS kunci Anda dan temukan kunci yang Anda buat.

  21. Untuk kunci Bucket, pilih Aktifkan.

  22. Pilih Simpan perubahan.

Langkah 5: Buat tugas ekspor

Di langkah ini, Anda membuat tugas ekspor untuk mengekspor log dari grup log.

Untuk mengekspor data ke Amazon S3 menggunakan konsol CloudWatch
  1. Masuk dengan izin yang memadai seperti yang didokumentasikanLangkah 2: Siapkan izin akses.

  2. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  3. Di panel navigasi, pilih Grup log.

  4. Di layar Log Groups (Grup Log), pilih nama grup log.

  5. Pilih Actions (Tindakan), Export data to Amazon S3 (Ekspor data ke Amazon S3).

  6. Di layar Export data to Amazon S3 (Ekspor data ke Amazon S3), di Define data export (Tentukan ekspor data), atur rentang waktu untuk data yang akan diekspor menggunakan From (Dari) dan To (Sampai).

  7. Jika grup log Anda memiliki beberapa pengaliran log, Anda dapat memberikan prefiks pengaliran log untuk membatasi data grup log ke pengaliran tertentu. Pilih Advanced (Lanjutan), lalu untuk Stream prefix (Prefiks pengaliran), masukkan prefiks pengaliran log.

  8. Di bawah bucket Pilih S3, pilih akun yang terkait dengan bucket S3.

  9. Untuk nama bucket S3, pilih bucket S3.

  10. Untuk S3 Bucket prefix (Prefiks bucket S3), masukkan string yang dihasilkan secara acak yang Anda tentukan dalam kebijakan bucket.

  11. Pilih Export (Ekspor) untuk mengekspor data log ke Amazon S3.

  12. Untuk melihat status data log yang diekspor ke Amazon S3, pilih Actions (Tindakan), lalu View all exports to Amazon S3 (Lihat semua ekspor ke Amazon S3).