Amazon MSK Serverless, Amazon MSK Connect ve MongoDB Atlas ile sunucusuz bir akış ardışık düzeni oluşturun

Amazon MSK Serverless, Amazon MSK Connect ve MongoDB Atlas ile sunucusuz bir akış ardışık düzeni oluşturun

Kaynak Düğüm: 1903134

Bu gönderi, MongoDB'den Babu Srinivasan ve Robert Walters ile birlikte yazılmıştır.

Apache Kafka için Amazon Tarafından Yönetilen Akış (Amazon MSK), tam olarak yönetilen, yüksek oranda erişilebilir bir Apache Kafka hizmetidir. Amazon MSK, akış verilerini gerçek zamanlı olarak alıp işlemeyi ve bu verileri AWS ekosisteminde kolayca kullanmayı kolaylaştırır. İle Amazon MSK Sunucusuz, uygulamalarınız için isteğe bağlı akış kapasitesi ve depolama sağlamak için gerekli kaynakları otomatik olarak sağlayabilir ve yönetebilirsiniz.

Amazon MSK, MongoDB Atlas gibi veri kaynaklarının entegrasyonunu da destekler. Amazon MSK Bağlantısı. MSK Connect, MongoDB verilerinin Amazon MSK ile sunucusuz entegrasyonuna izin verir. MongoDB Bağlayıcı Apache Kafka için.

MongoDB Atlas Sunucusuz veri boyutu ve verimi ile dinamik olarak yukarı ve aşağı ölçeklenen veritabanı hizmetleri ve buna göre maliyet ölçekleri sağlar. Minimum konfigürasyonla yönetilmesi gereken değişken talepleri olan uygulamalar için en uygunudur. MongoDB Atlas altyapısı ile yerleşik otomatik yükseltme, şifreleme, güvenlik, ölçümler ve yedekleme özellikleri ile yüksek performans ve güvenilirlik sağlar.

MSK Sunucusuz, Amazon MSK için bir küme türüdür. Tıpkı MongoDB Atlas Sunucusuz gibi, MSK Sunucusuz da bilgi işlem ve depolama kaynaklarını otomatik olarak sağlar ve ölçeklendirir. Artık uçtan uca sunucusuz iş akışları oluşturabilirsiniz. MSK Sunucusuz kullanarak sunucusuz alım ve MongoDB Atlas kullanarak sunucusuz depolama ile sunucusuz bir akış ardışık düzeni oluşturabilirsiniz. Ek olarak, MSK Connect artık özel DNS ana bilgisayar adları. Bu, Sunucusuz MSK bulut sunucularının Sunucusuz MongoDB kümelerine şu yollarla bağlanmasına izin verir: AWS Özel Bağlantı, size platformlar arasında güvenli bağlantı sağlar.

Sunucusuz olmayan bir küme kullanmakla ilgileniyorsanız, bkz. MongoDB'yi Amazon Tarafından Yönetilen Akış için Apache Kafka (MSK) ile Entegre Etme.

Bu gönderi, MSK Serverless, MSK Connect ve MongoDB Atlas ile sunucusuz bir akış işlem hattının nasıl uygulanacağını gösterir.

Çözüme genel bakış

Aşağıdaki şema çözüm mimarimizi göstermektedir.

AWS MSK ve MongoDB Atlas arasındaki veri akışı

Veri akışı bir ile başlar Amazon Elastik Bilgi İşlem Bulutu Kayıtları bir MSK konusuna yazan (Amazon EC2) istemci örneği. Veriler geldiğinde, MongoDB Connector for Apache Kafka'nın bir örneği, verileri MongoDB Atlas Serverless kümesindeki bir koleksiyona yazar. İki platform arasında güvenli bağlantı için MongoDB Atlas kümesi ile MSK örneğini içeren VPC arasında bir AWS PrivateLink bağlantısı oluşturulur.

Bu yayın aşağıdaki adımlarda size yol gösterir:

  1. Sunucusuz MSK kümesini oluşturun.
  2. MongoDB Atlas Sunucusuz kümesini oluşturun.
  3. MSK eklentisini yapılandırın.
  4. EC2 istemcisini oluşturun.
  5. Bir MSK konusu yapılandırın.
  6. Apache Kafka için MongoDB Bağlayıcısını havuz olarak yapılandırın.

Sunucusuz MSK kümesini yapılandırma

Sunucusuz bir MSK kümesi oluşturmak için aşağıdaki adımları tamamlayın:

  1. Amazon MSK konsolunda, Kümeleri Gezinti bölmesinde.
  2. Klinik Küme oluştur.
  3. İçin Oluşturma yöntemiseçin özel oluşturma.
  4. İçin Küme adı, girmek MongoDBMSKCluster.
  5. İçin küme türü¸ seç Serverless.
  6. Klinik Sonraki.Sunucusuz MSK Kümesi oluşturma kullanıcı arabirimi
  7. Üzerinde sayfasında, VPC'nizi, Erişilebilirlik Alanlarınızı ve ilgili alt ağları belirtin.
  8. Daha sonra kullanmak üzere Erişilebilirlik Alanlarını ve alt ağları not edin.VPC ve Alt Ağları gösteren küme ayarları
  9. Klinik Sonraki.
  10. Klinik Küme oluştur.

Küme kullanılabilir olduğunda, durumu şu hale gelir: Active.

Küme Kullanıma Hazır

MongoDB Atlas Sunucusuz kümesini oluşturun

Bir MongoDB Atlas kümesi oluşturmak için şu adımları izleyin: Atlas'a Başlarken öğretici. Bu gönderinin amaçları doğrultusunda sunucusuz bir örnek oluşturmanız gerektiğini unutmayın.

Yeni küme iletişim kutusu oluştur

Küme oluşturulduktan sonra aşağıdaki adımlarla bir AWS özel uç noktası yapılandırın:

  1. Üzerinde Güvenlik menü seç Ağ Girişi.Güvenlik menüsündeki Ağ Erişimi konumu
  2. Üzerinde Özel Uç Nokta sekmesini seçin Sunucusuz Örnek.
    Sunucusuz Örnek ağ erişimi
  3. Klinik Yeni uç nokta oluştur.
  4. İçin Sunucusuz Örnek, az önce oluşturduğunuz örneği seçin.
  5. Klinik Onaylamak.Özel Uç Nokta Kullanıcı Arayüzü Oluşturun
  6. VPC uç nokta yapılandırmanızı sağlayın ve seçin Sonraki.VPC Uç Nokta Yapılandırma Kullanıcı Arayüzü
  7. AWS PrivateLink kaynağını oluştururken, daha önce sunucusuz MSK örneği için ağ yapılandırması oluştururken kullandığınız VPC ve alt ağların tamamen aynısını belirttiğinizden emin olun.
  8. Klinik Sonraki.VPC Endpoint Alt Ağ Yapılandırma Kullanıcı Arayüzü
  9. üzerindeki talimatları izleyin. Sonuçlandırmak sayfa, ardından seçin Onaylamak VPC uç noktanız oluşturulduktan sonra.

Başarılı olduktan sonra, aşağıdaki ekran görüntüsünde gösterildiği gibi yeni özel uç nokta listede görünecektir.

Ağ Erişimi Onay Sayfası

MSK Eklentisini Yapılandırma

Ardından, MongoDB Connector for Apache Kafka'yı kullanarak Amazon MSK'de özel bir eklenti oluşturuyoruz. Bağlayıcının bir bilgisayara yüklenmesi gerekiyor Amazon Basit Depolama Hizmeti (Amazon S3) kova eklentisini oluşturmadan önce oluşturabilirsiniz. Apache Kafka için MongoDB Bağlayıcısını indirmek için bkz. Bir Bağlayıcı JAR Dosyası İndirin.

  1. Amazon MSK konsolunda, Özel eklentiler Gezinti bölmesinde.
  2. Klinik Özel eklenti oluştur.
  3. İçin S3 URI'sı, indirilen bağlayıcının S3 konumunu girin.
  4. Klinik Özel eklenti oluştur.

MSK eklentisi ayrıntıları

Bir EC2 istemcisi yapılandırın

Ardından, bir EC2 bulut sunucusu yapılandıralım. Konuyu oluşturmak ve konuya veri eklemek için bu örneği kullanıyoruz. Talimatlar için bölüme bakın. Bir EC2 istemcisi yapılandırın gönderide MongoDB'yi Amazon Tarafından Yönetilen Akış için Apache Kafka (MSK) ile Entegre Etme.

MSK kümesinde bir konu oluşturun

Bir Kafka konusu oluşturmak için önce Kafka CLI'yi kurmamız gerekiyor.

  1. İstemci EC2 örneğinde, önce Java'yı yükleyin:

sudo yum install java-1.8.0

  1. Ardından, Apache Kafka'yı indirmek için aşağıdaki komutu çalıştırın:

wget https://archive.apache.org/dist/kafka/2.6.2/kafka_2.12-2.6.2.tgz

  1. Aşağıdaki komutu kullanarak tar dosyasını paketinden çıkarın:

tar -xzf kafka_2.12-2.6.2.tgz

Kafka'nın dağıtımı, konuları yönetmek için kullanılabilecek araçları içeren bir bin klasörü içerir.

  1. Git kafka_2.12-2.6.2 dizinini açın ve sunucusuz MSK kümesinde bir Kafka konusu oluşturmak için aşağıdaki komutu verin:

bin/kafka-topics.sh --create --topic sandbox_sync2 --bootstrap-server <BOOTSTRAP SERVER> --command-config=bin/client.properties --partitions 2

Önyükleme sunucusu uç noktasını şuraya kopyalayabilirsiniz: Müşteri Bilgilerini Görüntüle sunucusuz MSK kümeniz için sayfa.

Önyükleme Sunucusu Bağlantı Sayfası

Bunları izleyerek IAM kimlik doğrulamasını yapılandırabilirsiniz. talimatlar.

Lavabo konektörünü yapılandırın

Şimdi verileri MongoDB Atlas Sunucusuz bulut sunucusuna göndermek için bir havuz bağlayıcısı yapılandıralım.

  1. Amazon MSK konsolunda, konektörler Gezinti bölmesinde.
  2. Klinik Bağlayıcı oluştur.
  3. Daha önce oluşturduğunuz eklentiyi seçin.
  4. Klinik Sonraki.Lavabo Bağlayıcı Kullanıcı Arayüzü
  5. Daha önce oluşturduğunuz sunucusuz MSK örneğini seçin.
  6. Bağlantı yapılandırmanızı aşağıdaki kod olarak girin:
connector.class=com.mongodb.kafka.connect.MongoSinkConnector
key.converter.schema.enable=false
value.converter.schema.enable=false
database=MongoDBMSKDemo
collection=Sink
tasks.max=1
topics=MongoDBMSKDemo.Source
connection.uri=(MongoDB Atlas Connection String Gos Here) value.converter=org.apache.kafka.connect.storage.StringConverter key.converter=org.apache.kafka.connect.storage.StringConverter

MongoDB Atlas Sunucusuz bulut sunucusuna bağlantının AWS PrivateLink üzerinden yapıldığından emin olun. Daha fazla bilgi için bkz. AWS PrivateLink ile Uygulamaları Güvenli Bir Şekilde Bir MongoDB Atlas Veri Düzlemine Bağlama.

  1. içinde Erişim İzinleri bölümünde, bir AWS Kimlik ve Erişim Yönetimi (IAM) rolü ile gerekli güven politikası.
  2. Klinik Sonraki.IAM Rolü yapılandırması
  3. Belirtmek Amazon CloudWatch Günlükleri günlük teslim seçeneğiniz olarak.
  4. Bağlayıcınızı tamamlayın.

Bağlayıcı durumu Etkin olarak değiştiğinde işlem hattı hazırdır.

Bağlayıcı Onay Sayfası

MSK konusuna veri ekleme

EC2 istemcinizde, MSK konusuna aşağıdakileri kullanarak veri ekleyin: kafka-console-producer aşağıdaki gibidir:

bin/kafka-console-producer.sh --topic sandbox_sync2 --bootstrap-server <BOOTSTRAP SERVER> --producer.config=bin/client.properties

Verilerin Kafka konusundan sunucusuz MongoDB kümesine başarıyla aktığını doğrulamak için MongoDB Atlas UI'yi kullanıyoruz.

MongoDB Atlas Koleksiyonlara Göz At UI

Herhangi bir sorunla karşılaşırsanız, günlük dosyalarını kontrol ettiğinizden emin olun. Bu örnekte, Amazon MSK ve MongoDB Connector for Apache Kafka'dan oluşturulan olayları okumak için CloudWatch kullandık.

CloudWatch Günlükleri Kullanıcı Arayüzü

Temizlemek

Gelecekte masraflara maruz kalmamak için oluşturduğunuz kaynakları temizleyin. Öncelikle MSK kümesini, bağlayıcıyı ve EC2 örneğini silin:

  1. Amazon MSK konsolunda, Kümeleri Gezinti bölmesinde.
  2. Kümenizi seçin ve İşlemler menü seç Sil.
  3. Klinik konektörler Gezinti bölmesinde.
  4. Bağlayıcınızı seçin ve seçin Sil.
  5. Klinik Özel eklentiler Gezinti bölmesinde.
  6. Eklentinizi seçin ve seçin Sil.
  7. Amazon EC2 konsolunda şunu seçin: Örnekleri Gezinti bölmesinde.
  8. Oluşturduğunuz örneği seçin.
  9. Klinik Örnek durumu, Daha sonra seçmek Örneği sonlandır.
  10. Üzerinde Amazon VPC'si konsol, seç Uç noktalar Gezinti bölmesinde.
  11. Oluşturduğunuz uç noktayı seçin ve İşlemler menü seç VPC uç noktalarını silin.

Artık Atlas kümesini ve AWS PrivateLink'i silebilirsiniz:

  1. Atlas küme konsolunda oturum açın.
  2. Silinecek sunucusuz kümeye gidin.
  3. Seçenekler açılır menüsünde, bitirmek.
  4. gidin Ağ Girişi Bölüm.
  5. Özel uç noktayı seçin.
  6. Sunucusuz örneği seçin.
  7. Seçenekler açılır menüsünde, bitirmek.Uç Nokta Sonlandırma Kullanıcı Arayüzü

Özet

Bu gönderide, MSK Sunucusuz ve MongoDB Atlas Sunucusuz kullanarak sunucusuz bir akış alım hattı oluşturmayı gösterdik. MSK Serverless ile, gerekli kaynakları gerektiği gibi otomatik olarak sağlayabilir ve yönetebilirsiniz. İki hizmeti sorunsuz bir şekilde entegre etmek için MSK Connect üzerinde dağıtılan bir MongoDB bağlayıcısı kullandık ve MSK konusuna örnek veriler göndermek için bir EC2 istemcisi kullandık. MSK Connect artık destekliyor Özel DNS ana bilgisayar adları, hizmetler arasında özel alan adlarını kullanmanızı sağlar. Bu gönderide bağlayıcı, Erişilebilirlik Alanına özgü özel DNS adını çözümlemek için VPC'nin varsayılan DNS sunucularını kullandı. Bu AWS PrivateLink yapılandırması, MSK Sunucusuz bulut sunucusu ile MongoDB Atlas Sunucusuz bulut sunucusu arasında güvenli ve özel bağlantıya izin verdi.

Öğrenmeye devam etmek için aşağıdaki kaynaklara göz atın:


Yazarlar Hakkında

İgor Alekseev AWS'de Veri ve Analitik alanında Kıdemli Çözüm Ortağı Çözüm Mimarıdır. Igor, rolünde, karmaşık, AWS için optimize edilmiş mimariler oluşturmalarına yardımcı olan stratejik ortaklarla çalışıyor. AWS'ye Veri/Çözüm Mimarı olarak katılmadan önce, Hadoop ekosistemindeki çeşitli veri gölleri dahil olmak üzere Büyük Veri alanında birçok projeyi hayata geçirdi. Bir Veri Mühendisi olarak, sahtekarlık tespiti ve ofis otomasyonuna AI/ML uygulamasında yer aldı.

Kiran Matty Amazon Web Services (AWS) ile Baş Ürün Yöneticisidir ve Palo Alto, California merkezli Amazon Managed Streaming for Apache Kafka (Amazon MSK) ekibiyle birlikte çalışır. Kuruluşların kritik kullanım durumlarını gerçekleştirmelerine yardımcı olan yüksek performanslı akış ve analitik hizmetler oluşturma konusunda tutkulu.

 Babu Srinivasan MongoDB'de Kıdemli İş Ortağı Çözüm Mimarıdır. Mevcut görevinde, AWS ve MongoDB çözümleri için teknik entegrasyonlar ve referans mimariler oluşturmak üzere AWS ile birlikte çalışmaktadır. Veritabanı ve Bulut teknolojilerinde yirmi yıldan fazla deneyime sahiptir. Birden çok coğrafyada birden çok Küresel Sistem Entegratörü (GSI) ile çalışan müşterilere teknik çözümler sağlama konusunda tutkulu.

Robert Walters şu anda MongoDB'de Kıdemli Ürün Yöneticisidir. Rob, MongoDB'den önce Microsoft'ta SQL Server ekibinde program yönetimi, danışmanlık ve teknik ön satış dahil olmak üzere çeşitli rollerde çalışarak 17 yıl geçirdi. Rob, SQL Server'da kullanılan teknolojiler için üç patentin ortak yazarıdır ve SQL Server'da birçok teknik kitabın baş yazarıdır. Rob şu anda MongoDB Bloglarında aktif bir blog yazarıdır.

Zaman Damgası:

Den fazla AWS Büyük Veri