Kursus
Banyak perusahaan memilih beralih ke AWS MSK untuk menghindari kerepotan operasional yang terkait dengan pengelolaan klaster Apache Kafka.
Dalam tutorial ini, kita akan membahas fitur, manfaat, dan praktik terbaik AWS MSK. Kita juga akan menelusuri langkah dasar untuk menyiapkan AWS MSK dan melihat perbandingannya dengan layanan populer lainnya seperti Kinesis dan Confluent.
Apa itu AWS MSK?
Pertama, mari pahami Apache Kafka dan mengapa ini sangat berguna untuk streaming data.
Apache Kafka adalah platform streaming terdistribusi open source yang menangani aliran data real-time dan dapat membangun aplikasi berbasis peristiwa (event-driven). Kafka dapat mengumpulkan dan memproses data streaming saat data itu terjadi.
Menurut situs web Kafka, lebih dari 80% perusahaan Fortune 100 mempercayai dan menggunakan Kafka.
Yang terpenting, Kafka berskala besar dan sangat cepat. Artinya, Kafka dapat menangani data jauh lebih banyak daripada yang muat di satu mesin saja dengan latensi yang sangat rendah.
Jika Anda ingin mempelajari cara membuat, mengelola, dan memecahkan masalah Kafka untuk streaming data, pertimbangkan untuk mengikuti kursus Introduction to Kafka.
Kapan waktu terbaik menggunakan Apache Kafka?
- Saat Anda perlu menangani data dalam jumlah besar secara real-time, seperti menangani aliran data perangkat IoT.
- Saat Anda memerlukan pemrosesan dan analisis data segera, seperti pelacakan aktivitas pengguna secara langsung atau sistem deteksi penipuan.
- Dalam skenario event-sourcing di mana Anda memerlukan jejak audit dengan persyaratan kepatuhan dan regulasi.
Namun, mengelola instance Kafka dapat menimbulkan banyak kerepotan. Di sinilah AWS MSK berperan.

Gambar oleh Penulis
AWS MSK (Managed Streaming for Kafka) adalah layanan terkelola penuh yang menangani provisioning, konfigurasi, penskalaan, dan pemeliharaan klaster Kafka. Anda dapat menggunakannya untuk membangun aplikasi yang merespons aliran data seketika.
Kafka sering digunakan sebagai bagian dari rangkaian pemrosesan data yang lebih besar, dan AWS MSK membuatnya makin mudah untuk membuat pipeline data real-time yang memindahkan data antar sistem.

Cara kerja Amazon MSK. Sumber gambar: AWS
Jika Anda baru di AWS, pertimbangkan untuk mengikuti kursus Introduction to AWS untuk memahami dasar-dasarnya. Saat siap, Anda dapat melanjutkan ke kursus AWS Cloud Technology and Services untuk mengeksplorasi rangkaian layanan lengkap yang digunakan bisnis.
Fitur AWS MSK
AWS MSK menonjol dari kompetitor karena merupakan layanan terkelola penuh. Anda tidak perlu repot menyiapkan server atau menangani pembaruan.
Namun, tidak hanya itu. Lima fitur utama AWS MSK ini membuatnya layak dipertimbangkan:
- MSK sangat tersedia (highly available), dan AWS menjamin pemenuhan SLA yang ketat. MSK secara otomatis mengganti komponen yang gagal tanpa downtime untuk aplikasi Anda.
- MSK memiliki opsi penskalaan otomatis untuk penyimpanan, sehingga kapasitas tumbuh mengikuti kebutuhan Anda. Anda juga dapat dengan cepat menambah atau mengurangi penyimpanan atau menambahkan broker sesuai kebutuhan.
- Dari sisi keamanan, MSK adalah solusi komprehensif yang menyediakan enkripsi saat disimpan (at rest) dan saat transit. MSK juga terintegrasi dengan AWS IAM untuk kontrol akses.
- Jika Anda sudah menggunakan Kafka, Anda dapat beralih ke MSK tanpa mengubah kode karena MSK mendukung semua API dan alat Kafka standar.
- MSK merupakan opsi hemat biaya yang tidak memerlukan perekrutan satu tim engineering lengkap untuk memantau dan mengelola klaster. AWS bahkan mengklaim bahwa MSK dapat hingga 40% lebih murah daripada Kafka yang dikelola sendiri.
Manfaat menggunakan AWS MSK
Seperti yang sudah kita lihat, AWS MSK memberikan nilai langsung berkat ketersediaan, skalabilitas, keamanan, dan kemudahan integrasinya. Keunggulan inti ini menjadikannya pilihan utama bagi perusahaan yang menjalankan beban kerja Kafka di cloud.
AWS MSK memecahkan empat tantangan kritis yang dihadapi setiap proyek streaming data:
- MSK adalah layanan terkelola penuh, memungkinkan Anda berfokus pada pembangunan aplikasi alih-alih mengelola infrastruktur.
- MSK sangat tersedia dan andal, yang kian krusial saat ini karena pengguna mengharapkan akses layanan dan aplikasi 24/7.
- MSK memiliki kapabilitas keamanan komprehensif yang penting.
- MSK memiliki integrasi native dengan AWS, sehingga jauh lebih mudah membangun solusi data streaming lengkap dalam ekosistem AWS.
Menyiapkan AWS MSK
Untuk mulai menggunakan AWS MSK, pertama-tama buat akun AWS Anda. Jika ini pertama kalinya Anda menggunakan AWS, pelajari cara menyiapkan dan mengonfigurasi akun AWS Anda dengan tutorial komprehensif kami.
Masuk ke AWS Management Console dan buka konsol MSK. Klik "Create cluster" untuk memulai proses penyiapan.

Memulai dengan AWS MSK. Sumber gambar: AWS
Pilih "Quick create" untuk pengaturan default, lalu masukkan nama klaster yang deskriptif.
Setelah itu, Anda memiliki banyak opsi tambahan untuk dipilih, yang semuanya bergantung pada kebutuhan Anda untuk klaster tersebut. Berikut ringkasan singkat pilihannya:
- Jenis klaster: “Provisioned” atau “Serverless”
- Versi Apache Kafka
- Jenis broker: “Standard” atau “Express”
- Ukuran broker
- Volume penyimpanan EBS

Opsi konfigurasi AWS MSK
Klaster selalu dibuat dalam Amazon VPC. Anda dapat memilih menggunakan VPC default atau mengonfigurasi dan menentukan VPC khusus.
Sekarang, Anda hanya perlu menunggu klaster Anda aktif, yang dapat memakan waktu 15 hingga 30 menit. Anda dapat memantau status klaster dari halaman ringkasan klaster, di mana Anda akan melihat status berubah dari “Creating” menjadi “Active”.
Mengambil dan Memproses Data dengan AWS MSK
Setelah klaster MSK Anda siap, Anda perlu membuat mesin klien untuk memproduksi dan mengonsumsi data di satu atau lebih topik. Karena Apache Kafka sangat mudah berintegrasi dengan banyak produsen data (seperti situs web, perangkat IoT, instance Amazon EC2, dll.), MSK juga mendapatkan manfaat ini.
Apache Kafka mengorganisasi data dalam struktur yang disebut topic. Setiap topic terdiri dari satu atau banyak partisi. Partisi adalah tingkat paralelisme di Apache Kafka. Data didistribusikan ke broker menggunakan pemartisian data.
Istilah kunci yang perlu diketahui saat menangani klaster Apache Kafka:
- Topic adalah cara fundamental untuk mengorganisasi data di Kafka.
- Producer adalah aplikasi yang memublikasikan data ke topic—mereka menghasilkan dan menulis data ke Kafka. Mereka menulis data pada topic dan partisi tertentu.
- Consumer adalah aplikasi yang membaca dan memproses data dari topic. Mereka menarik data dari topic yang mereka langgani.
Saat membangun arsitektur berbasis peristiwa dengan AWS MSK, Anda perlu mengonfigurasi beberapa lapisan, di mana MSK adalah komponen utama pengambilan data. Berikut gambaran umum lapisan yang mungkin diperlukan:
- Pengaturan pengambilan data
- Lapisan pemrosesan
- Lapisan penyimpanan
- Lapisan analitik

Contoh arsitektur berbasis peristiwa dengan Amazon MSK dan Amazon EventBridge. Sumber gambar: AWS
Jika Anda tertarik memanfaatkan Python dalam alur kerja pipeline data Anda, lihat kursus Introduction to AWS Boto in Python kami.
Praktik Terbaik Menggunakan AWS MSK
AWS MSK relatif mudah disiapkan dan langsung digunakan. Namun, beberapa praktik terbaik penting akan meningkatkan kinerja klaster Anda dan menghemat waktu di kemudian hari.
Menentukan ukuran klaster yang tepat
Anda perlu memilih jumlah partisi per broker yang tepat dan jumlah broker per klaster yang tepat.
Sejumlah faktor dapat memengaruhi keputusan Anda; namun, AWS telah menyediakan rekomendasi dan sumber daya yang berguna untuk memandu proses ini.
Selain itu, AWS menyediakan lembar kerja sizing dan pricing yang mudah digunakan untuk membantu Anda memperkirakan ukuran klaster yang tepat dan biaya terkait penggunaan AWS MSK dibandingkan klaster Kafka EC2 yang dikelola sendiri dengan spesifikasi serupa.
Membangun klaster dengan ketersediaan tinggi
AWS merekomendasikan agar Anda menyiapkan klaster dengan ketersediaan tinggi. Ini sangat penting saat melakukan pembaruan (seperti memperbarui versi Apache Kafka) atau saat AWS mengganti broker.
Untuk memastikan klaster Anda sangat tersedia, ada tiga hal yang harus Anda lakukan:
- Siapkan klaster Anda di tiga Availability Zone (disebut juga klaster tiga-AZ).
- Tetapkan replication factor minimal 3.
- Tetapkan minimum in-sync replicas ke RF-1.
Yang bagus dari AWS adalah mereka berkomitmen pada SLA ketat untuk deployment multi-AZ; jika tidak, Anda akan mendapatkan kredit kembali.
Memantau penggunaan disk dan CPU
Dua metrik kunci untuk dipantau melalui AWS CloudWatch adalah penggunaan disk dan CPU. Melakukannya tidak hanya memastikan sistem berjalan lancar tetapi juga membantu menekan biaya.
Cara terbaik mengelola penggunaan disk dan biaya penyimpanan terkait adalah menyiapkan alarm CloudWatch yang memberi tahu Anda saat penggunaan disk melebihi nilai tertentu, misalnya 85%, dan menyesuaikan kebijakan retensi Anda. Menetapkan waktu retensi untuk pesan dalam log Anda dapat sangat membantu mengosongkan ruang disk secara otomatis.
Selain itu, untuk menjaga kinerja klaster dan menghindari bottleneck, AWS merekomendasikan agar Anda mempertahankan total penggunaan CPU broker di bawah 60%. Anda dapat memantau ini menggunakan AWS CloudWatch dan kemudian mengambil tindakan korektif, misalnya dengan memperbarui ukuran broker.
Lindungi data Anda dengan enkripsi saat transit
Secara default, AWS mengenkripsi data saat transit antar broker dalam klaster MSK Anda. Anda dapat menonaktifkannya jika sistem Anda mengalami penggunaan CPU tinggi atau latensi. Namun, sangat disarankan agar Anda tetap mengaktifkan enkripsi saat transit setiap saat dan mencari cara lain untuk meningkatkan kinerja jika itu menjadi masalah.
Lihat kursus AWS Security and Cost Management kami untuk mempelajari lebih lanjut cara mengamankan dan mengoptimalkan lingkungan cloud AWS Anda serta mengelola biaya dan sumber daya di AWS.
Memahami Harga AWS MSK
Harga AWS MSK bersifat pay-as-you-go, artinya Anda hanya membayar sumber daya yang Anda gunakan. Namun, harga bervariasi berdasarkan jenis klaster, ukuran instance broker, penyimpanan, dan transfer data. Di bawah ini, kami menguraikan faktor biaya utama dan cara mengoptimalkan pengeluaran MSK Anda.
Komponen harga AWS MSK
| Komponen biaya | Deskripsi | Cara penagihan |
|---|---|---|
| Jam Instance Broker | Waktu broker Kafka berjalan di klaster Anda | Per jam, berdasarkan jenis instance |
| Penyimpanan | Penyimpanan EBS untuk log Kafka | Per GB per bulan |
| Transfer Data | Data yang dipindahkan antara broker dan klien | Tarif transfer data standar AWS |
| Throughput Tersedia (Opsional) | Throughput khusus untuk baca/tulis | Per MB per detik |
| Permintaan Serverless (Untuk Klaster Serverless) | Permintaan baca dan tulis | Per GB yang diinjeksikan dan diambil |
Harga AWS MSK berdasarkan jenis klaster
AWS MSK menawarkan dua jenis klaster dengan model harga berbeda:
Klaster MSK provisioned (model harga standar)
- Anda membayar instance broker, penyimpanan, dan transfer data.
- Terbaik untuk beban kerja yang memerlukan kontrol performa yang presisi.
Klaster MSK serverless (model bayar per permintaan)
- Harga didasarkan pada volume data yang diproses (GB yang diinjeksikan/diambil).
- Terbaik untuk aplikasi dengan pola trafik yang tidak dapat diprediksi.
Mana yang harus Anda pilih?
- Gunakan MSK provisioned → Jika Anda memiliki beban kerja yang dapat diprediksi dan memerlukan kontrol atas ukuran instance.
- Gunakan MSK serverless → Jika beban kerja Anda berfluktuasi dan Anda ingin menghindari pengelolaan broker.
Coba AWS Pricing Calculator untuk memperkirakan biaya berdasarkan beban kerja Anda.
Membandingkan AWS MSK dengan Alat Streaming Lain
Saat memutuskan alat mana yang terbaik untuk suatu proyek, kita sering perlu mengevaluasi beberapa opsi. Berikut alternatif paling umum untuk AWS MSK dan perbandingannya.
AWS MSK vs Apache Kafka di EC2
Pertukaran utama antara MSK dan opsi self-hosted menggunakan EC2 adalah antara kemudahan dan kontrol:
- AWS MSK:
- Layanan terkelola penuh, mengurangi kompleksitas operasional.
- Provisioning dan konfigurasi otomatis—tanpa biaya infrastruktur di awal.
- Integrasi mulus dengan layanan AWS.
- Fitur keamanan yang tangguh.
- Lebih sedikit fleksibilitas dibanding self-hosting.
- Kafka di EC2:
- Memerlukan penyiapan, konfigurasi, dan pemeliharaan manual.
- Memberikan kontrol penuh atas infrastruktur dan kustomisasi.
- Berpotensi memiliki biaya operasional lebih tinggi.
- Memerlukan keahlian dan manajemen berkelanjutan.
AWS MSK vs. Kinesis
Memilih antara AWS MSK dan Kinesis bergantung pada prioritas Anda:
- Gunakan Kinesis jika:
- Anda membutuhkan arsitektur yang sepenuhnya serverless.
- Layanan yang dikelola AWS dengan beban operasional minimal.
- Menggunakan shard untuk streaming data namun memiliki batas retensi data.
- Paling cocok untuk kebutuhan streaming data yang sederhana.
- Gunakan AWS MSK jika:
- Anda memerlukan model topic dan partisi ala Kafka.
- Retensi data nyaris tak terbatas (bergantung penyimpanan).
- Lebih fleksibel dan dapat dikustomisasi.
- Memungkinkan migrasi keluar dari AWS jika diperlukan.
Jika Anda belum familiar dengan Kinesis, kami memiliki kursus yang memandu Anda bekerja dengan data streaming menggunakan AWS Kinesis dan Lambda.
AWS MSK vs. Confluent
Pilihan antara AWS MSK dan Confluent bergantung pada kebutuhan fitur dan strategi cloud:
- Gunakan Confluent jika:
- Anda membutuhkan rangkaian fitur luas dengan konektor bawaan.
- Anda lebih memilih proses deployment yang lebih sederhana.
- Anda menangani beban kerja yang naik-turun dan memerlukan penskalaan dinamis.
- Biaya lebih tinggi tetapi menawarkan tier gratis dengan fitur terbatas.
- Gunakan AWS MSK jika:
- Anda menginginkan opsi hemat biaya untuk beban kerja yang konsisten.
- Anda sangat terintegrasi dalam ekosistem AWS.
- Anda memiliki keahlian Kafka internal.
- Anda siap mengintegrasikan layanan AWS tambahan untuk fungsionalitas lanjutan.
Tabel berikut menawarkan perbandingan AWS MSK dan alternatifnya:
|
Fitur |
AWS MSK |
Apache Kafka di EC2 |
Kinesis |
Confluent |
|
Penyebaran |
Terkelola penuh |
Dikelola sendiri di EC2 |
Terkelola penuh |
Terkelola penuh atau dikelola sendiri |
|
Kemudahan penggunaan |
Mudah disiapkan dan dikelola |
Memerlukan penyiapan dan penskalaan manual |
Penyiapan sederhana; native AWS |
UI ramah pengguna dan alat canggih |
|
Skalabilitas |
Auto-scaling dengan penyesuaian manual |
Penskalaan manual |
Penskalaan mulus |
Auto-scaling yang fleksibel |
|
Latensi |
Latensi rendah |
Latensi rendah |
Latensi lebih rendah untuk payload kecil |
Sebanding dengan MSK |
|
Dukungan protokol |
Kompatibel API Kafka |
Kompatibel API Kafka |
Protokol Kinesis proprietari |
API Kafka dan protokol tambahan |
|
Retensi data |
Dapat dikonfigurasi (hingga 7 hari default) |
Dapat dikonfigurasi |
Dapat dikonfigurasi (maks 365 hari) |
Sangat dapat dikonfigurasi |
|
Pemantauan dan metrik |
Terintegrasi dengan CloudWatch |
Memerlukan penyiapan khusus |
Terintegrasi dengan CloudWatch |
Alat pemantauan lanjutan |
|
Biaya |
Pay-as-you-go |
Berdasarkan harga instance EC2 |
Pay-as-you-go |
Berbasis langganan |
|
Keamanan |
Fitur keamanan bawaan AWS |
Harus mengonfigurasi keamanan secara manual |
Terintegrasi dengan AWS IAM |
Fitur keamanan komprehensif |
|
Kesesuaian kasus penggunaan |
Terbaik untuk pengguna Kafka di ekosistem AWS |
Fleksibel, tetapi perawatan tinggi |
Terbaik untuk aplikasi native AWS |
Pengguna Kafka tingkat lanjut dan perusahaan |
Penutup
Apache Kafka adalah pilihan utama untuk situasi yang membutuhkan solusi andal berskala besar yang tidak boleh kehilangan data dan memerlukan penghubung berbagai sumber data atau membangun pipeline data yang kompleks. AWS MSK mencegah banyak kerepotan dalam menyiapkan dan mengonfigurasi klaster Kafka, memungkinkan pengembang lebih fokus membangun dan meningkatkan aplikasi daripada infrastruktur.
Mendapatkan sertifikasi AWS adalah cara yang sangat baik untuk memulai karier AWS Anda. Anda dapat membangun keterampilan AWS dengan melihat katalog kursus kami dan mendapatkan pengalaman langsung melalui proyek!
FAQs
Dapatkah AWS MSK terintegrasi dengan layanan AWS lain seperti Lambda dan S3?
Ya, AWS MSK terintegrasi dengan banyak layanan AWS. Anda dapat menggunakan MSK Connect untuk menjalankan konektor Kafka Connect terkelola penuh. Anda dapat menggunakan konektor siap pakai atau membuat konektor khusus untuk memindahkan data antara MSK dan layanan seperti S3, OpenSearch, dan RDS. AWS MSK juga dapat berfungsi sebagai sumber peristiwa untuk fungsi Lambda. Anda dapat mengonfigurasi Lambda untuk melakukan polling topik MSK Anda dan secara otomatis memanggil fungsi berdasarkan pesan baru, dengan dukungan pemrosesan batch dan penanganan kesalahan.
Dapatkah saya memigrasikan klaster Kafka yang sudah ada ke AWS MSK?
Ya, migrasi ke MSK dimungkinkan dengan beberapa cara. Anda dapat menggunakan MirrorMaker 2.0 untuk replikasi klaster, melakukan migrasi topik secara langsung, atau menggunakan alat pihak ketiga. AWS menyediakan dokumentasi migrasi terperinci dan praktik terbaik untuk meminimalkan downtime.
Metrik dan pemantauan apa yang tersedia untuk klaster AWS MSK?
MSK terintegrasi dengan CloudWatch untuk pemantauan, menyediakan metrik untuk kesehatan broker, kinerja klaster, dan consumer lag. Metrik kunci mencakup penggunaan CPU, ruang disk, throughput jaringan, dan jumlah partisi.

