Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan logging terpusat pada skala perusahaan dengan menggunakan Terraform
Aarti Rajput, Yashwant Patel, dan Nishtha Yadav, Amazon Web Services
Ringkasan
Pencatatan terpusat sangat penting untuk infrastruktur cloud organisasi, karena memberikan visibilitas ke dalam operasi, keamanan, dan kepatuhannya. Saat organisasi Anda menskalakan AWS lingkungannya di beberapa akun, strategi manajemen log terstruktur menjadi dasar untuk menjalankan operasi keamanan, memenuhi persyaratan audit, dan mencapai keunggulan operasional.
Pola ini menyediakan kerangka kerja yang dapat diskalakan dan aman untuk memusatkan log dari beberapa Akun AWS dan layanan, untuk memungkinkan manajemen logging skala perusahaan di seluruh penerapan yang kompleks. AWS Solusinya otomatis dengan menggunakan Terraform, yang merupakan alat infrastruktur sebagai kode (IAc) HashiCorp yang memastikan penerapan yang konsisten dan berulang, serta meminimalkan konfigurasi manual. Dengan menggabungkan Amazon CloudWatch Logs, Amazon Data Firehose, dan Amazon Simple Storage Service (Amazon S3), Anda dapat menerapkan alur agregasi dan analisis log yang kuat yang memberikan:
Manajemen log terpusat di seluruh organisasi Anda di AWS Organizations
Pengumpulan log otomatis dengan kontrol keamanan bawaan
Pemrosesan log yang dapat diskalakan dan penyimpanan yang tahan lama
Pelaporan kepatuhan dan jejak audit yang disederhanakan
Wawasan dan pemantauan operasional waktu nyata
Solusi ini mengumpulkan log dari wadah, fungsi, dan instans database Amazon Elastic Kubernetes Service (Amazon EKS AWS Lambda ), dan instans database Amazon Relational Database Service (Amazon RDS) melalui Log. CloudWatch Secara otomatis meneruskan log ini ke akun logging khusus dengan menggunakan filter CloudWatch berlangganan. Firehose mengelola pipeline streaming log throughput tinggi ke Amazon S3 untuk penyimpanan jangka panjang. Amazon Simple Queue Service (Amazon Simple Service) dikonfigurasi untuk menerima pemberitahuan peristiwa Amazon S3 setelah pembuatan objek. Ini memungkinkan integrasi dengan layanan analitik, termasuk:
OpenSearch Layanan Amazon untuk penelusuran log, visualisasi, dan analitik waktu nyata
Amazon Athena untuk kueri berbasis SQL
Amazon EMR untuk pemrosesan skala besar
Lambda untuk transformasi kustom
Amazon QuickSight untuk dasbor
Semua data dienkripsi dengan menggunakan AWS Key Management Service (AWS KMS), dan seluruh infrastruktur diterapkan dengan menggunakan Terraform untuk konfigurasi yang konsisten di seluruh lingkungan.
Pendekatan logging terpusat ini memungkinkan organisasi untuk meningkatkan postur keamanan mereka, mempertahankan persyaratan kepatuhan, dan mengoptimalkan efisiensi operasional di seluruh AWS infrastruktur mereka.
Prasyarat dan batasan
Prasyarat
Sebuah landing zone untuk organisasi Anda yang dibangun dengan menggunakan AWS Control Tower
Account Factory for Terraform (AFT), digunakan dan dikonfigurasi dengan akun yang diperlukan
Terraform
untuk penyediaan infrastruktur AWS Identity and Access Management (IAM) peran dan kebijakan untuk akses lintas akun
Untuk petunjuk pengaturan AWS Control Tower, AFT, dan akun Aplikasi, lihat bagian Epik.
Akun yang diperlukan
Organisasi Anda AWS Organizations harus menyertakan akun-akun ini:
Akun aplikasi - Satu atau beberapa akun sumber tempat Layanan AWS (Amazon EKS, Lambda, dan Amazon RDS) menjalankan dan menghasilkan log
Akun Arsip Log - Akun khusus untuk penyimpanan dan manajemen log terpusat
Versi produk
AWS Control Tower versi 3.1 atau yang lebih baru
Terraform versi 0.15.0
atau yang lebih baru
Arsitektur
Diagram berikut menggambarkan arsitektur logging AWS terpusat yang menyediakan solusi terukur untuk mengumpulkan, memproses, dan menyimpan log dari beberapa akun Aplikasi ke akun Arsip Log khusus. Arsitektur ini secara efisien menangani log dari Layanan AWS, termasuk Amazon RDS, Amazon EKS, dan Lambda, dan merutekkannya melalui proses yang disederhanakan ke bucket Regional S3 di akun Arsip Log.

Alur kerja mencakup lima proses:
Proses aliran log
Proses alur log dimulai di akun Aplikasi, di mana Layanan AWS menghasilkan berbagai jenis log, seperti umum, kesalahan, audit, log kueri lambat dari Amazon RDS, log bidang kontrol dari Amazon EKS, dan eksekusi fungsi dan log kesalahan dari Lambda.
CloudWatch berfungsi sebagai titik pengumpulan awal. Ini mengumpulkan log ini di tingkat grup log dalam setiap akun aplikasi.
Di CloudWatch, filter langganan menentukan log mana yang harus diteruskan ke akun pusat. Filter ini memberi Anda kontrol granular atas penerusan log, sehingga Anda dapat menentukan pola log yang tepat atau aliran log lengkap untuk sentralisasi.
Transfer log lintas akun
Log pindah ke akun Arsip Log. CloudWatch filter berlangganan memfasilitasi transfer lintas akun dan mempertahankan konteks Regional.
Arsitektur menetapkan beberapa aliran paralel untuk menangani sumber log yang berbeda secara efisien, untuk memastikan kinerja dan skalabilitas yang optimal.
Pemrosesan log di akun Arsip Log
Di akun Arsip Log, Firehose memproses aliran log yang masuk.
Setiap Wilayah mengelola aliran pengiriman Firehose khusus yang dapat mengubah, mengonversi, atau memperkaya log sesuai kebutuhan.
Aliran Firehose ini mengirimkan log yang diproses ke bucket S3 di akun Arsip Log, yang terletak di Wilayah yang sama dengan akun Aplikasi sumber (Wilayah A dalam diagram) untuk mempertahankan persyaratan kedaulatan data.
Pemberitahuan dan alur kerja tambahan
Saat log mencapai bucket S3 tujuan, arsitektur mengimplementasikan sistem notifikasi dengan menggunakan Amazon SQS.
Antrian SQS Regional memungkinkan pemrosesan asinkron dan dapat memicu alur kerja tambahan, analitik, atau sistem peringatan berdasarkan log yang disimpan.
AWS KMS untuk keamanan
Arsitektur menggabungkan AWS KMS untuk keamanan. AWS KMS menyediakan kunci enkripsi untuk bucket S3. Ini memastikan bahwa semua log yang disimpan mempertahankan enkripsi saat istirahat sambil menjaga enkripsi Regional untuk memenuhi persyaratan residensi data.
Alat
Layanan AWS
Amazon CloudWatch adalah layanan pemantauan dan observabilitas yang mengumpulkan data pemantauan dan operasional dalam bentuk log, metrik, dan peristiwa. Ini memberikan tampilan terpadu AWS sumber daya, aplikasi, dan layanan yang berjalan di AWS dan server lokal.
CloudWatch Filter langganan log adalah ekspresi yang cocok dengan pola dalam peristiwa log masuk dan mengirimkan peristiwa log yang cocok ke AWS sumber daya yang ditentukan untuk diproses atau dianalisis lebih lanjut.
AWS Control Tower Account Factory For Terraform (AFT) menyiapkan pipeline Terraform untuk membantu Anda menyediakan dan menyesuaikan akun. AWS Control Tower AFT menyediakan penyediaan akun berbasis Terraform sambil memungkinkan Anda untuk mengatur akun Anda. AWS Control Tower
Amazon Data Firehose memberikan data streaming real-time ke tujuan seperti Amazon S3, Amazon Redshift, dan Amazon Service. OpenSearch Ini secara otomatis menskalakan agar sesuai dengan throughput data Anda dan tidak memerlukan administrasi yang berkelanjutan.
Amazon Elastic Kubernetes Service (Amazon EKS) adalah layanan orkestrasi kontainer terkelola yang memudahkan penerapan, pengelolaan, dan skala aplikasi kontainer dengan menggunakan Kubernetes. Secara otomatis mengelola ketersediaan dan skalabilitas node bidang kontrol Kubernetes.
AWS Key Management Service (AWS KMS) membuat dan mengontrol kunci enkripsi untuk mengenkripsi data Anda. AWS KMS terintegrasi dengan yang lain Layanan AWS untuk membantu Anda melindungi data yang Anda simpan dengan layanan ini.
AWS Lambdaadalah layanan komputasi tanpa server yang memungkinkan Anda menjalankan kode tanpa menyediakan atau mengelola server. Ini secara otomatis menskalakan aplikasi Anda dengan menjalankan kode sebagai respons terhadap setiap pemicu, dan hanya mengenakan biaya untuk waktu komputasi yang Anda gunakan.
Amazon Relational Database Service (Amazon RDS) adalah layanan database relasional terkelola yang memudahkan pengaturan, pengoperasian, dan skala database relasional di cloud. Ini memberikan kapasitas hemat biaya dan dapat diubah ukurannya sambil mengotomatiskan tugas administrasi yang memakan waktu.
Amazon Simple Queue Service (Amazon SQS) adalah layanan antrian pesan yang memungkinkan Anda memisahkan dan menskalakan layanan mikro, sistem terdistribusi, dan aplikasi tanpa server. Ini menghilangkan kompleksitas mengelola dan mengoperasikan middleware berorientasi pesan.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja. Ini dapat menyimpan dan mengambil sejumlah data dari mana saja di web.
Alat-alat lainnya
Terraform
adalah alat infrastruktur sebagai kode (IAc) HashiCorp yang membantu Anda membuat dan mengelola sumber daya cloud dan lokal.
Kode
Kode untuk pola ini tersedia di repositori logging GitHub terpusat
Praktik terbaik
Gunakan beberapa Akun AWS dalam satu organisasi di AWS Organizations. Praktik ini memungkinkan manajemen terpusat dan pencatatan standar di seluruh akun.
Konfigurasikan bucket S3 dengan pembuatan versi, kebijakan siklus hidup, dan replikasi lintas wilayah. Menerapkan enkripsi dan log akses untuk keamanan dan kepatuhan.
Menerapkan standar logging umum dengan menggunakan format JSON dengan stempel waktu dan bidang standar. Gunakan struktur awalan dan korelasi yang konsisten IDs untuk memudahkan pelacakan dan analisis.
Aktifkan kontrol keamanan dengan AWS KMS enkripsi dan akses hak istimewa paling sedikit. Pertahankan AWS CloudTrail pemantauan dan rotasi kunci reguler untuk keamanan yang ditingkatkan.
Siapkan CloudWatch metrik dan peringatan untuk pelacakan pengiriman. Pantau biaya dan kinerja dengan notifikasi otomatis.
Konfigurasikan kebijakan retensi Amazon S3 untuk memenuhi persyaratan kepatuhan dan aktifkan pencatatan akses server Amazon S3 untuk melacak semua permintaan yang dibuat ke bucket S3 Anda. Menjaga dokumentasi untuk kebijakan bucket S3 dan aturan siklus hidup. Melakukan tinjauan berkala terhadap log akses, izin bucket, dan konfigurasi penyimpanan untuk membantu memastikan kepatuhan dan praktik terbaik keamanan.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan AWS Control Tower lingkungan dengan AFT. |
| Administrator AWS |
Aktifkan berbagi sumber daya untuk organisasi. |
| Administrator AWS |
Verifikasi atau berikan akun Aplikasi. | Untuk menyediakan akun Aplikasi baru untuk kasus penggunaan Anda, buat melalui AFT. Untuk informasi selengkapnya, lihat Menyediakan akun baru dengan AFT dalam AWS Control Tower dokumentasi. | Administrator AWS |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Salin isi |
| DevOps insinyur |
Tinjau dan edit parameter input untuk menyiapkan akun Aplikasi. | Pada langkah ini, Anda menyiapkan file konfigurasi untuk membuat sumber daya di akun Aplikasi, termasuk grup CloudWatch log, filter CloudWatch langganan, peran dan kebijakan IAM, serta detail konfigurasi untuk fungsi Amazon RDS, Amazon EKS, dan Lambda. Di
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Salin isi |
| DevOps insinyur |
Tinjau dan edit parameter input untuk menyiapkan akun Arsip Log. | Pada langkah ini, Anda menyiapkan file konfigurasi untuk membuat resource di akun Arsip Log, termasuk aliran pengiriman Firehose, bucket S3, antrian SQS, serta peran dan kebijakan IAM. Di
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Opsi 1 - Menyebarkan file konfigurasi Terraform dari AFT. | Di AFT, pipeline AFT dipicu setelah Anda mendorong kode dengan perubahan konfigurasi ke GitHub Setelah Anda membuat perubahan pada file Terraform (
catatanJika Anda menggunakan cabang yang berbeda (seperti | DevOps insinyur |
Opsi 2 - Menyebarkan file konfigurasi Terraform secara manual. | Jika Anda tidak menggunakan AFT atau ingin menerapkan solusi secara manual, Anda dapat menggunakan perintah Terraform berikut dari folder dan
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Verifikasi filter langganan. | Untuk memverifikasi bahwa langganan memfilter meneruskan log dengan benar dari grup log akun Aplikasi ke akun Arsip Log:
| DevOps insinyur |
Verifikasi aliran Firehose. | Untuk memverifikasi bahwa Firehose melakukan streaming di log aplikasi proses akun Arsip Log berhasil:
| DevOps insinyur |
Validasi bucket S3 terpusat. | Untuk memverifikasi bahwa bucket S3 terpusat menerima dan mengatur log dengan benar:
| DevOps insinyur |
Validasi antrian SQS. | Untuk memverifikasi bahwa antrian SQS menerima pemberitahuan untuk file log baru:
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Opsi 1 - Nonaktifkan file konfigurasi Terraform dari AFT. | Saat Anda menghapus file konfigurasi Terraform dan mendorong perubahan, AFT secara otomatis memulai proses penghapusan sumber daya.
| DevOps insinyur |
Opsi 2 — Bersihkan sumber daya Terraform secara manual. | Jika Anda tidak menggunakan AFT atau Anda ingin membersihkan sumber daya secara manual, gunakan perintah Terraform berikut dari folder
| DevOps insinyur |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Tujuan CloudWatch Log tidak dibuat atau tidak aktif. | Validasi berikut ini:
|
Filter langganan gagal atau macet dalam status tertunda. | Periksa hal-hal berikut:
|
Aliran pengiriman Firehose tidak menunjukkan catatan yang masuk. | Verifikasi hal berikut:
|
Sumber daya terkait
Pengaturan infrastruktur Terraform
(dokumentasi Terraform) Menyebarkan AWS Control Tower Account Factory untuk Terraform (AFT) (dokumentasi)AWS Control Tower
Tutorial IAM: Delegasikan akses di seluruh Akun AWS menggunakan peran IAM () IAMdocumentation