AWS MSK Kurulumu
AWS MSK ile başlamadan önce bir AWS hesabı oluşturun. AWS’yi ilk kez kullanıyorsanız, kapsamlı eğitimimizle AWS hesabınızı nasıl kurup yapılandıracağınızı öğrenin.
AWS Management Console’a giriş yapın ve MSK konsolunu açın. Kurulum sürecini başlatmak için "Create cluster"a tıklayın.

AWS MSK ile çalışmaya başlama. Görsel kaynağı: AWS
Varsayılan ayarlar için "Quick create"i seçin, sonra açıklayıcı bir küme adı girin.
Bundan sonra, kümenize ilişkin gereksinimlerinize bağlı olarak seçebileceğiniz birçok ek seçenek vardır. İşte seçeneklerin hızlı bir özeti:
- Küme türü: “Provisioned” veya “Serverless”
- Apache Kafka sürümü
- Broker türü: “Standard” veya “Express”
- Broker boyutu
- EBS depolama birimi

AWS MSK yapılandırma seçenekleri
Küme her zaman bir Amazon VPC içinde oluşturulur. Varsayılan VPC’yi kullanmayı seçebilir veya özel bir VPC yapılandırıp belirtebilirsiniz.
Şimdi kümenizin etkinleştirilmesini beklemeniz yeterli; bu işlem 15 ila 30 dakika sürebilir. Küme özet sayfasından durumunu izleyebilir ve durumun “Creating”den “Active”e değiştiğini görebilirsiniz.
AWS MSK ile Verileri Alma ve İşleme
MSK kümeniz kurulduktan sonra, bir veya daha fazla konu (topic) arasında veri üretip tüketmek için bir istemci makinesi oluşturmanız gerekir. Apache Kafka birçok veri üreticiyle (web siteleri, IoT cihazları, Amazon EC2 örnekleri vb.) çok iyi entegre olduğundan, MSK de bu avantajı paylaşır.
Apache Kafka, veriyi topic adı verilen yapılarda organize eder. Her topic tek veya çok sayıda bölümden (partition) oluşur. Partitionlar, Apache Kafka’daki paralellik derecesidir. Veriler, veri bölümlendirmesi kullanılarak broker’lar arasında dağıtılır.
Apache Kafka kümeleriyle çalışırken bilmeniz gereken temel terimler:
- Topic’ler, Kafka’da veriyi organize etmenin temel yoludur.
- Producer’lar topic’lere veri yayımlayan uygulamalardır—Kafka’ya veri üretir ve yazarlar. Belirli topic ve partition’lara yazarlar.
- Consumer’lar topic’lerden veri okuyan ve işleyen uygulamalardır. Abone oldukları topic’lerden veriyi çekerler.
AWS MSK ile olay odaklı bir mimari kurarken, MSK’nin ana veri alma bileşeni olduğu birkaç katmanı yapılandırmanız gerekir. Gerekebilecek katmanlara genel bir bakış:
- Veri alma kurulumu
- İşleme katmanı
- Depolama katmanı
- Analitik katmanı

Amazon MSK ve Amazon EventBridge ile olay odaklı mimariye bir örnek. Görsel kaynağı: AWS
Veri hattı iş akışlarınızda Python’dan yararlanmakla ilgileniyorsanız Introduction to AWS Boto in Python kursumuza göz atın.
AWS MSK Kullanımı için En İyi Uygulamalar
AWS MSK, kurulumu nispeten basit ve hemen kullanıma hazırdır. Ancak bazı temel en iyi uygulamalar, kümelerinizin performansını artıracak ve ileride size zaman kazandıracaktır.
Kümenizi doğru boyutlandırın
Broker başına doğru partition sayısını ve küme başına doğru broker sayısını seçmeniz gerekecektir.
Buradaki kararlarınızı etkileyebilecek birçok faktör vardır; ancak AWS bu süreçte size yol gösterecek kullanışlı öneriler ve kaynaklar sunar.
Buna ek olarak AWS, kümenizin doğru boyutunu ve AWS MSK kullanmanın benzer bir kendi kendine yönetilen EC2 Kafka kümesine kıyasla ilişik maliyetlerini tahmin etmenize yardımcı olacak kullanımı kolay bir boyutlandırma ve fiyatlandırma hesap tablosu sağlar.
Yüksek erişilebilir kümeler oluşturun
AWS, kümelerinizi yüksek erişilebilir olacak şekilde kurmanızı önerir. Bu, bir güncelleme (örneğin Apache Kafka sürümünü güncelleme) yaparken veya AWS bir broker’ı değiştirirken özellikle önemlidir.
Kümelerinizin yüksek erişilebilir olmasını sağlamak için yapmanız gereken üç şey vardır:
- Kümelerinizi üç erişilebilirlik alanına (üç-AZ küme olarak da adlandırılır) dağıtın.
- Çoğaltma faktörünü 3 veya daha fazla ayarlayın.
- Senkron kopya (in-sync replicas) sayısını en az RF-1 olarak belirleyin.
AWS’nin güzel yanı, çoklu AZ dağıtımları için katı SLA’lere bağlı kalmalarıdır; aksi halde kredilerinizi geri alırsınız.
Disk ve CPU kullanımını izleyin
AWS CloudWatch üzerinden izlemeniz gereken iki temel metrik disk ve CPU kullanımidir. Bunu yapmak yalnızca sisteminizin sorunsuz çalışmasını sağlamakla kalmaz, maliyetleri de düşük tutmaya yardımcı olur.
Disk kullanımını ve ilişkili depolama maliyetlerini yönetmenin en iyi yolu, disk kullanımının belirli bir değeri (örneğin %85) aştığında sizi uyaran bir CloudWatch alarmı kurmak ve saklama ilkelerinizi ayarlamaktır. Günlüklerinizdeki iletiler için bir saklama süresi belirlemek, disk alanını otomatik olarak boşaltmaya büyük katkı sağlar.
Ayrıca, kümenizin performansını korumak ve darboğazları önlemek için AWS, broker’larınızın toplam CPU kullanımını %60’ın altında tutmanızı önerir. Bunu AWS CloudWatch ile izleyebilir ve örneğin broker boyutunu güncelleyerek düzeltici önlem alabilirsiniz.
Verinizi aktarım sırasında şifreleme ile koruyun
Varsayılan olarak AWS, MSK kümeniz içindeki broker’lar arasında aktarım halindeki verileri şifreler. Sisteminiz yüksek CPU kullanımı veya gecikme yaşıyorsa bunu devre dışı bırakabilirsiniz. Ancak, aktarım sırasındaki şifrelemeyi her zaman etkin tutmanız ve performans bir sorun ise bunu iyileştirmenin başka yollarını bulmanız şiddetle tavsiye edilir.
AWS bulut ortamınızı nasıl güvence altına alıp optimize edeceğiniz ve AWS’de maliyetleri ile kaynakları nasıl yöneteceğiniz hakkında daha fazla bilgi edinmek için AWS Security and Cost Management kursumuza göz atın.
AWS MSK Fiyatlandırmasını Anlamak
AWS MSK fiyatlandırması kullandıkça öde modelindedir; yani yalnızca kullandığınız kaynaklar için ödeme yaparsınız. Ancak fiyatlandırma, küme türüne, broker örnek boyutuna, depolamaya ve veri aktarımına göre değişir. Aşağıda temel maliyet bileşenlerini ve MSK harcamanızı nasıl optimize edebileceğinizi özetliyoruz.
AWS MSK fiyatlandırma bileşenleri
| Maliyet bileşeni | Açıklama | Faturalama yöntemi |
|---|---|---|
| Broker Instance Saatleri | Kümeniz içindeki Kafka broker’larının çalışma süresi | Örnek türüne göre saat başına |
| Depolama | Kafka günlükleri için EBS depolama | Ayda GB başına |
| Veri Aktarımı | Broker’lar ve istemciler arasında taşınan veri | Standart AWS veri aktarım ücretleri |
| Sağlanan Bant Genişliği (İsteğe bağlı) | Okuma/yazma için özel bant genişliği | Saniye başına MB |
| Sunucusuz İstekler (Serverless Kümeler için) | Okuma ve yazma istekleri | Alınan ve getirilen GB başına |
Küme türüne göre AWS MSK fiyatlandırması
AWS MSK, farklı fiyatlandırma modellerine sahip iki küme türü sunar:
Sağlanan MSK kümesi (standart fiyatlandırma modeli)
- Broker örnekleri, depolama ve veri aktarımı için ödeme yaparsınız.
- İnce ayarlı performans kontrolü gereken iş yükleri için en iyisidir.
Sunucusuz MSK kümesi (istek başına ödeme modeli)
- Fiyatlandırma, işlenen veri hacmine (alınan/getirilen GB) göre yapılır.
- Trafik desenleri öngörülemeyen uygulamalar için en iyisi.
Hangisini seçmelisiniz?
- Sağlanan MSK kullanın → Öngörülebilir iş yükleriniz ve örnek boyutları üzerinde kontrol ihtiyacınız varsa.
- Sunucusuz MSK kullanın → İş yükünüz dalgalanıyorsa ve broker yönetiminden kaçınmak istiyorsanız.
Maliyetleri iş yükünüze göre tahmin etmek için AWS Pricing Calculator’ı deneyin.
AWS MSK’nin Diğer Akış Araçlarıyla Karşılaştırılması
Bir proje için hangi aracın en iyi olduğuna karar verirken sıklıkla birkaç seçeneği değerlendirmemiz gerekir. İşte AWS MSK’ye en yaygın alternatifler ve karşılaştırmaları.
AWS MSK vs EC2 üzerinde Apache Kafka
MSK ile EC2 kullanarak kendi barındırdığınız bir seçenek arasındaki temel ödünleşim, rahatlık ile kontrol arasındadır:
- AWS MSK:
- Operasyonel karmaşıklığı azaltan, tamamen yönetilen hizmet.
- Otomatik sağlama ve yapılandırma—peşin altyapı maliyeti yok.
- AWS hizmetleriyle sorunsuz entegrasyon.
- Güçlü güvenlik özellikleri.
- Kendi barındırmaya kıyasla daha az esneklik.
- EC2 üzerinde Kafka:
- Kurulum, yapılandırma ve bakımın manuel yapılmasını gerektirir.
- Altyapı ve özelleştirme üzerinde tam kontrol sunar.
- Potansiyel olarak daha yüksek operasyonel maliyetler.
- Daha fazla uzmanlık ve süreğen yönetim gerektirir.
AWS MSK vs. Kinesis
AWS MSK ile Kinesis arasında seçim önceliklerinize bağlıdır:
- Şunlar için Kinesis kullanın:
- Tamamen sunucusuz bir mimariye ihtiyacınız varsa.
- En az operasyonel yükle AWS tarafından yönetilen bir hizmet.
- Veri akışı için shard kullanır ancak veri saklama sınırlamaları vardır.
- Daha basit veri akışı gereksinimleri için en uygunudur.
- Şunlar için AWS MSK kullanın:
- Kafka’nın topic ve partition modeline ihtiyacınız varsa.
- Neredeyse sınırsız veri saklama (depolamaya bağlıdır).
- Daha esnek ve özelleştirilebilir.
- Gerektiğinde AWS’den taşınmaya olanak tanır.
Kinesis’e aşina değilseniz, AWS Kinesis ve Lambda ile akış verileri üzerinde çalışmayı anlatan bir kursumuz var.
AWS MSK vs. Confluent
AWS MSK ile Confluent arasındaki seçim, özellik gereksinimleri ve bulut stratejisine bağlıdır:
- Şunlar için Confluent kullanın:
- Yerleşik bağlayıcılarla kapsamlı bir özellik setine ihtiyacınız varsa.
- Daha yalın bir dağıtım sürecini tercih ediyorsanız.
- Dinamik ölçeklendirme gerektiren ani tepe yapan iş yüklerini yönetiyorsanız.
- Daha yüksek maliyetlidir ancak sınırlı özelliklere sahip ücretsiz bir katman sunar.
- Şunlar için AWS MSK kullanın:
- Tutarlı iş yükleri için uygun maliyetli bir seçenek istiyorsanız.
- AWS ekosistemiyle derin entegrasyona sahipseniz.
- Kurumiçi Kafka uzmanlığınız varsa.
- Genişletilmiş işlevsellik için ek AWS hizmetlerini entegre etmeye açıksanız.
Aşağıdaki tablo, AWS MSK ve alternatiflerinin bir karşılaştırmasını sunar:
|
Özellik |
AWS MSK |
EC2 üzerinde Apache Kafka |
Kinesis |
Confluent |
|
Dağıtım |
Tamamen yönetilen |
EC2 üzerinde kendi kendine yönetilen |
Tamamen yönetilen |
Tamamen yönetilen veya kendi kendine yönetilen |
|
Kullanım kolaylığı |
Kurulumu ve yönetimi kolay |
Manuel kurulum ve ölçeklendirme gerektirir |
Basit kurulum; AWS-yerel |
Kullanıcı dostu arayüz ve gelişmiş araçlar |
|
Ölçeklenebilirlik |
Manuel ayarlamalarla otomatik ölçeklendirme |
Manuel ölçeklendirme |
Sorunsuz ölçeklendirme |
Esneklikle otomatik ölçeklendirme |
|
Gecikme |
Düşük gecikme |
Düşük gecikme |
Küçük yükler için daha düşük gecikme |
MSK ile karşılaştırılabilir |
|
Protokol desteği |
Kafka API uyumlu |
Kafka API uyumlu |
Sahipli Kinesis protokolü |
Kafka API ve ek protokoller |
|
Veri saklama |
Yapılandırılabilir (varsayılan en fazla 7 gün) |
Yapılandırılabilir |
Yapılandırılabilir (azami 365 gün) |
Yüksek düzeyde yapılandırılabilir |
|
İzleme ve metrikler |
CloudWatch ile entegre |
Özel kurulum gerektirir |
CloudWatch ile entegre |
Gelişmiş izleme araçları |
|
Maliyet |
Kullandıkça öde |
EC2 örnek fiyatlandırmasına dayalı |
Kullandıkça öde |
Abonelik tabanlı |
|
Güvenlik |
Yerleşik AWS güvenlik özellikleri |
Güvenliğin manuel yapılandırılması gerekir |
AWS IAM ile entegre |
Kapsamlı güvenlik özellikleri |
|
Kullanım durumu uygunluğu |
AWS ekosistemindeki Kafka kullanıcıları için en iyisi |
Esnek, ancak bakım yükü yüksek |
AWS-yerel uygulamalar için en iyisi |
Gelişmiş Kafka kullanıcıları ve işletmeler |
Kapanış Düşünceleri
Apache Kafka, veri kaybını göze alamayan ve birden çok veri kaynağını bağlamayı veya karmaşık veri hatları kurmayı gerektiren durumlar için başlıca tercihtir. AWS MSK, Kafka kümelerini kurma ve yapılandırma konusundaki pek çok sorunu ortadan kaldırarak geliştiricilerin altyapı yerine uygulamaları oluşturmaya ve iyileştirmeye daha fazla odaklanmasını sağlar.
AWS sertifikası almak AWS kariyerinize başlamak için mükemmel bir yoldur. kurs kataloğumuza göz atarak AWS becerilerinizi geliştirebilir ve projeler aracılığıyla uygulamalı deneyim kazanabilirsiniz!
SSS
AWS MSK, Lambda ve S3 gibi diğer AWS hizmetleriyle entegre olabilir mi?
Evet, AWS MSK birçok AWS hizmetiyle entegre olur. Tamamen yönetilen Kafka Connect bağlayıcılarını çalıştırmak için MSK Connect’i kullanabilirsiniz. Önceden oluşturulmuş bağlayıcıları kullanabilir veya MSK ile S3, OpenSearch ve RDS gibi hizmetler arasında veri taşımak için özel bağlayıcılar oluşturabilirsiniz. AWS MSK ayrıca Lambda işlevleri için bir olay kaynağı olarak hizmet verebilir. Lambda’yı MSK topic’lerinizi yoklayacak şekilde yapılandırabilir ve yeni iletilere göre işlevleri otomatik olarak tetikleyebilirsiniz; toplu işleme ve hata yönetimi desteği vardır.
Mevcut Kafka kümemi AWS MSK’ye taşıyabilir miyim?
Evet, MSK’ye geçiş birkaç farklı yolla mümkündür. Küme çoğaltması için MirrorMaker 2.0’ı kullanabilir, doğrudan topic geçişi yapabilir veya üçüncü taraf araçları kullanabilirsiniz. AWS, minimum kesinti süresi için ayrıntılı geçiş dokümantasyonu ve en iyi uygulamalar sunar.
AWS MSK kümeleri için hangi izleme ve metrikler mevcut?
MSK, izleme için CloudWatch ile entegre olur ve broker sağlığı, küme performansı ve consumer gecikmesi için metrikler sağlar. Temel metrikler arasında CPU kullanımı, disk alanı, ağ bant genişliği ve partition sayıları yer alır.


Birçok şirket, Apache Kafka kümelerini yönetmenin getirdiği operasyonel zorluklardan kaçınmak için AWS MSK'ye geçmeyi tercih ediyor.
Bu eğitimde, AWS MSK'nin özelliklerini, avantajlarını ve en iyi uygulamalarını inceleyeceğiz. Ayrıca AWS MSK'yi kurmanın temel adımlarını ele alacak ve Kinesis ile Confluent gibi diğer popüler hizmetlerle nasıl karşılaştırıldığını göreceğiz.
AWS MSK nedir?
Önce Apache Kafka'yı ve veri akışı için neden bu kadar faydalı olduğunu anlayalım.
Apache Kafka, gerçek zamanlı veri akışlarını işleyen ve olay odaklı uygulamalar oluşturabilen, açık kaynaklı, dağıtık bir akış platformudur. Veriyi oluştuğu anda içeri alıp işleyebilir.
Kafka’nın web sitesine göre Fortune 100 şirketlerinin %80’inden fazlası Kafka’ya güveniyor ve onu kullanıyor.
En önemlisi, Kafka ölçeklenebilirdir ve çok hızlıdır. Bu da tek bir makineye sığmayacak kadar fazla veriyi son derece düşük gecikmeyle işleyebileceği anlamına gelir.
Veri akışı için Kafka’yı nasıl oluşturacağınızı, yöneteceğinizi ve sorun gidereceğinizi öğrenmek isterseniz Introduction to Kafka kursunu inceleyin.
Apache Kafka’yı ne zaman kullanmak en uygundur?
Bununla birlikte, Kafka örneklerini yönetmek pek çok baş ağrısıyla gelebilir. Tam bu noktada AWS MSK devreye girer.
Görsel: Yazar
AWS MSK (Managed Streaming for Kafka), Kafka kümelerinin sağlanması, yapılandırılması, ölçeklendirilmesi ve bakımıyla ilgilenen tamamen yönetilen bir hizmettir. Veri akışlarına anında tepki veren uygulamalar geliştirmek için kullanabilirsiniz.
Kafka çoğu zaman daha büyük bir veri işleme yapısının parçası olarak kullanılır ve AWS MSK, farklı sistemler arasında veri taşıyan gerçek zamanlı veri hatları oluşturmayı daha da kolaylaştırır.
Amazon MSK nasıl çalışır. Görsel kaynağı: AWS
AWS’ye yeniyseniz, temelleri öğrenmek için Introduction to AWS kursumuzu düşünebilirsiniz. Hazır olduğunuzda, işletmelerin kullandığı hizmetlerin tamamını keşfetmek için AWS Cloud Technology and Services kursumuza geçebilirsiniz.
AWS MSK'nin Özellikleri
AWS MSK, tamamen yönetilen bir hizmet olduğu için rakiplerinden ayrılır. Sunucu kurulumlarıyla veya güncellemelerle uğraşmanız gerekmez.
Ancak mesele sadece bu değildir. AWS MSK'nin bu beş temel özelliği onu değerli bir yatırım haline getirir:
AWS MSK kullanmanın faydaları
Gördüğümüz gibi AWS MSK, erişilebilirlik, ölçeklenebilirlik, güvenlik ve entegrasyon kolaylığı sayesinde anında değer sağlar. Bu temel avantajlar, bulutta Kafka iş yüklerini çalıştıran şirketler için onu başlıca tercih haline getirmiştir.
AWS MSK, her veri akışı projesinin karşılaştığı dört kritik sorunu çözer: