أنشئ مسار تدفق بدون خادم باستخدام Amazon MSK Serverless و Amazon MSK Connect و MongoDB Atlas

أنشئ مسار تدفق بدون خادم باستخدام Amazon MSK Serverless و Amazon MSK Connect و MongoDB Atlas

عقدة المصدر: 1903134

تمت كتابة هذا المنشور مع بابو سرينيفاسان وروبرت والترز من MongoDB.

Amazon Managed Streaming لأباتشي كافكا (Amazon MSK) هي خدمة Apache Kafka مُدارة بالكامل ومتوفرة للغاية. يجعل Amazon MSK من السهل استيعاب البيانات المتدفقة ومعالجتها في الوقت الفعلي واستخدام هذه البيانات بسهولة داخل نظام AWS البيئي. مع أمازون MSK Serverless، يمكنك توفير الموارد المطلوبة وإدارتها تلقائيًا لتوفير سعة البث عند الطلب والتخزين لتطبيقاتك.

يدعم Amazon MSK أيضًا تكامل مصادر البيانات مثل MongoDB Atlas عبر اتصال أمازون MSK. يتيح MSK Connect التكامل بدون خادم لبيانات MongoDB مع Amazon MSK باستخدام موصل MongoDB لأباتشي كافكا.

MongoDB أطلس سيرفرليس يوفر خدمات قواعد البيانات التي تتوسع ديناميكيًا بالزيادة أو النقصان مع حجم البيانات والإنتاجية — ومقياس التكلفة وفقًا لذلك. إنه الأنسب للتطبيقات ذات المتطلبات المتغيرة ليتم إدارتها بأقل قدر من التكوين. يوفر أداءً عاليًا وموثوقية مع ميزات الترقية التلقائية والتشفير والأمان والمقاييس والنسخ الاحتياطي المضمنة في البنية التحتية MongoDB Atlas.

MSK Serverless هو نوع من الكتلة لـ Amazon MSK. تمامًا مثل MongoDB Atlas Serverless ، يقوم MSK Serverless تلقائيًا بتوفير موارد الحوسبة والتخزين وقياسها. يمكنك الآن إنشاء مهام سير عمل بدون خوادم شاملة. يمكنك إنشاء مسار دفق بدون خادم مع استيعاب بدون خادم باستخدام MSK Serverless والتخزين بدون خادم باستخدام MongoDB Atlas. بالإضافة إلى ذلك ، يدعم MSK Connect الآن أسماء مضيفي DNS الخاصة. يسمح هذا لمثيلات MSK التي لا تحتوي على خادم بالاتصال بمجموعات MongoDB بدون خادم عبر AWS الرابط الخاص، مما يوفر لك اتصالاً آمنًا بين الأنظمة الأساسية.

إذا كنت مهتمًا باستخدام نظام مجموعة بدون خادم ، فارجع إلى تكامل MongoDB مع Amazon Managed Streaming لـ Apache Kafka (MSK).

يوضح هذا المنشور كيفية تنفيذ خط دفق بدون خادم باستخدام MSK Serverless و MSK Connect و MongoDB Atlas.

حل نظرة عامة

يوضح الرسم البياني التالي بنية الحلول لدينا.

تدفق البيانات بين AWS MSK و MongoDB Atlas

يبدأ تدفق البيانات بامتداد الأمازون الحوسبة المرنة السحابية مثيل العميل (Amazon EC2) الذي يكتب السجلات إلى موضوع MSK. مع وصول البيانات ، يقوم مثيل MongoDB Connector for Apache Kafka بكتابة البيانات إلى مجموعة في مجموعة MongoDB Atlas Serverless. من أجل اتصال آمن بين النظامين الأساسيين ، يتم إنشاء اتصال AWS PrivateLink بين مجموعة MongoDB Atlas و VPC الذي يحتوي على مثيل MSK.

يرشدك هذا المنشور عبر الخطوات التالية:

  1. إنشاء كتلة MSK بدون خادم.
  2. قم بإنشاء مجموعة MongoDB Atlas Serverless.
  3. تكوين البرنامج المساعد MSK.
  4. قم بإنشاء عميل EC2.
  5. تكوين موضوع MSK.
  6. قم بتكوين موصل MongoDB لـ Apache Kafka كحوض.

تكوين مجموعة MSK بدون خادم

لإنشاء مجموعة MSK بدون خادم ، أكمل الخطوات التالية:

  1. في وحدة تحكم Amazon MSK ، اختر مجموعات في جزء التنقل.
  2. اختار إنشاء الكتلة.
  3. في حالة طريقة الخلق، حدد إنشاء مخصص.
  4. في حالة اسم الكتلة، أدخل MongoDBMSKCluster.
  5. في حالة نوع الكتلةتحديد Serverless.
  6. اختار التالى.واجهة مستخدم لإنشاء مجموعة MSK بدون خادم
  7. على الشبكات الصفحة ، حدد VPC ومناطق التوفر والشبكات الفرعية المقابلة.
  8. لاحظ مناطق التوفر والشبكات الفرعية لاستخدامها لاحقًا.تعرض إعدادات الكتلة VPC والشبكات الفرعية
  9. اختار التالى.
  10. اختار إنشاء الكتلة.

عندما تكون الكتلة متاحة ، تصبح حالتها Active.

الكتلة المتاحة للاستخدام

قم بإنشاء مجموعة MongoDB Atlas Serverless

لإنشاء مجموعة MongoDB Atlas ، اتبع ملف الشروع في العمل مع أطلس درس تعليمي. لاحظ أنه لأغراض هذا المنشور ، تحتاج إلى إنشاء مثيل بدون خادم.

إنشاء مربع حوار جديد

بعد إنشاء الكتلة ، قم بتكوين نقطة نهاية خاصة لـ AWS من خلال الخطوات التالية:

  1. على حماية القائمة، اختر الوصول إلى الشبكة.موقع الوصول إلى الشبكة في قائمة الأمان
  2. على نقطة نهاية خاصة علامة التبويب، اختر مثيل Serverless.
    الوصول إلى شبكة مثيل بدون خادم
  3. اختار قم بإنشاء نقطة نهاية جديدة.
  4. في حالة مثيل Serverless، اختر المثيل الذي أنشأته للتو.
  5. اختار أكد.إنشاء واجهة مستخدم خاصة بنقطة النهاية
  6. قم بتوفير تكوين نقطة نهاية VPC الخاص بك واختر التالى.واجهة مستخدم تكوين نقطة نهاية VPC
  7. عند إنشاء مورد AWS PrivateLink ، تأكد من تحديد نفس VPC والشبكات الفرعية التي استخدمتها سابقًا عند إنشاء تكوين الشبكة لمثيل MSK بدون خادم.
  8. اختار التالى.واجهة مستخدم تكوين الشبكة الفرعية لنقطة نهاية VPC
  9. اتبع التعليمات الموجودة على وضع اللمسات الأخيرة الصفحة ، ثم اختر أكد بعد إنشاء نقطة نهاية VPC.

بعد النجاح ، ستظهر نقطة النهاية الخاصة الجديدة في القائمة ، كما هو موضح في لقطة الشاشة التالية.

صفحة تأكيد الوصول إلى الشبكة

تكوين البرنامج المساعد MSK

بعد ذلك ، قمنا بإنشاء مكون إضافي مخصص في Amazon MSK باستخدام موصل MongoDB لـ Apache Kafka. يجب تحميل الموصل إلى ملف خدمة تخزين أمازون البسيطة (Amazon S3) قبل أن تتمكن من إنشاء المكون الإضافي. لتنزيل برنامج MongoDB Connector for Apache Kafka ، ارجع إلى قم بتنزيل ملف Connector JAR.

  1. في وحدة تحكم Amazon MSK ، اختر الإضافات المخصصة في جزء التنقل.
  2. اختار إنشاء مكون إضافي مخصص.
  3. في حالة S3 URI، أدخل موقع S3 للموصل الذي تم تنزيله.
  4. اختار إنشاء مكون إضافي مخصص.

تفاصيل البرنامج المساعد MSK

تكوين عميل EC2

بعد ذلك ، لنقم بتهيئة مثيل EC2. نستخدم هذا المثال لإنشاء الموضوع وإدخال البيانات في الموضوع. للحصول على تعليمات ، راجع القسم تكوين عميل EC2 في المنشور تكامل MongoDB مع Amazon Managed Streaming لـ Apache Kafka (MSK).

قم بإنشاء موضوع على كتلة MSK

لإنشاء موضوع كافكا ، نحتاج إلى تثبيت كافكا CLI أولاً.

  1. على مثيل العميل EC2 ، قم أولاً بتثبيت Java:

sudo yum install java-1.8.0

  1. بعد ذلك ، قم بتشغيل الأمر التالي لتنزيل Apache Kafka:

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

  1. قم بفك ضغط ملف tar باستخدام الأمر التالي:

tar -xzf kafka_2.12-2.6.2.tgz

يتضمن توزيع كافكا مجلد bin بأدوات يمكن استخدامها لإدارة الموضوعات.

  1. انتقل إلى kafka_2.12-2.6.2 الدليل وأصدر الأمر التالي لإنشاء موضوع كافكا على كتلة MSK بدون خادم:

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

يمكنك نسخ نقطة نهاية خادم التمهيد على ملف عرض معلومات العميل صفحة لمجموعة MSK بدون خادم.

صفحة اتصال خادم Bootstrap

يمكنك تكوين مصادقة IAM باتباع هذه تعليمات.

تكوين موصل الحوض

الآن ، لنقم بتكوين موصل بالوعة لإرسال البيانات إلى مثيل MongoDB Atlas Serverless.

  1. في وحدة تحكم Amazon MSK ، اختر الموصلات في جزء التنقل.
  2. اختار إنشاء موصل.
  3. حدد المكون الإضافي الذي قمت بإنشائه مسبقًا.
  4. اختار التالى.واجهة مستخدم موصل المغسلة
  5. حدد مثيل MSK الذي لا يحتوي على خادم والذي قمت بإنشائه مسبقًا.
  6. أدخل تكوين الاتصال الخاص بك على النحو التالي:
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 Serverless يتم من خلال AWS PrivateLink. لمزيد من المعلومات ، يرجى الرجوع إلى توصيل التطبيقات بشكل آمن بطائرة بيانات MongoDB Atlas باستخدام AWS PrivateLink.

  1. في مجلة أذونات الوصول القسم ، قم بإنشاء ملف إدارة الهوية والوصول AWS (IAM) مع سياسة الثقة المطلوبة.
  2. اختار التالى.تكوين دور IAM
  3. تحديد سجلات الأمازون CloudWatch كخيار تسليم السجل الخاص بك.
  4. أكمل الموصل الخاص بك.

عندما تتغير حالة الموصل إلى نشط ، يكون خط الأنابيب جاهزًا.

صفحة تأكيد الموصل

أدخل البيانات في موضوع MSK

في عميل EC2 الخاص بك ، أدخل البيانات في موضوع MSK باستخدام ملف kafka-console-producer كما يلي:

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

للتحقق من أن البيانات تتدفق بنجاح من موضوع كافكا إلى كتلة MongoDB بدون خادم ، نستخدم MongoDB Atlas UI.

MongoDB Atlas استعراض المجموعات واجهة المستخدم

إذا واجهت أي مشاكل ، فتأكد من التحقق من ملفات السجل. في هذا المثال ، استخدمنا CloudWatch لقراءة الأحداث التي تم إنشاؤها من Amazon MSK وموصل MongoDB لـ Apache Kafka.

واجهة مستخدم سجلات CloudWatch

تنظيف

لتجنب تكبد رسوم في المستقبل ، قم بتنظيف الموارد التي قمت بإنشائها. أولاً ، احذف مجموعة MSK والموصل ومثيل EC2:

  1. في وحدة تحكم Amazon MSK ، اختر مجموعات في جزء التنقل.
  2. حدد مجموعتك وعلى ملف الإجراءات القائمة، اختر حذف.
  3. اختار الموصلات في جزء التنقل.
  4. حدد الموصل الخاص بك واختر حذف.
  5. اختار الإضافات المخصصة في جزء التنقل.
  6. حدد المكون الإضافي الخاص بك واختر حذف.
  7. في وحدة تحكم Amazon EC2 ، اختر الحالات في جزء التنقل.
  8. اختر المثيل الذي قمت بإنشائه.
  9. اختار حالة المثيل، ثم اختر إنهاء المثيل.
  10. على أمازون VPC وحدة ، اختر النهاية في جزء التنقل.
  11. حدد نقطة النهاية التي قمت بإنشائها وعلى الإجراءات القائمة، اختر حذف نقاط نهاية VPC.

يمكنك الآن حذف مجموعة أطلس و AWS PrivateLink:

  1. سجّل الدخول إلى وحدة تحكم مجموعة أطلس.
  2. انتقل إلى نظام المجموعة بدون خادم ليتم حذفه.
  3. في القائمة المنسدلة للخيارات ، اختر إنهاء.
  4. انتقل إلى الوصول إلى الشبكة والقسم الخاص به.
  5. اختر نقطة النهاية الخاصة.
  6. حدد مثيل بدون خادم.
  7. في القائمة المنسدلة للخيارات ، اختر إنهاء.واجهة مستخدم إنهاء نقطة النهاية

نبذة عامة

في هذا المنشور ، أوضحنا لك كيفية إنشاء خط أنابيب بث مباشر بدون خادم باستخدام MSK Serverless و MongoDB Atlas Serverless. باستخدام MSK Serverless ، يمكنك توفير الموارد المطلوبة وإدارتها تلقائيًا حسب الحاجة. استخدمنا موصل MongoDB الذي تم نشره على MSK Connect لدمج الخدمتين بسلاسة ، واستخدمنا عميل EC2 لإرسال عينة من البيانات إلى موضوع MSK. يدعم MSK Connect الآن أسماء مضيفي DNS الخاصة، مما يتيح لك استخدام أسماء المجال الخاصة بين الخدمات. في هذا المنشور ، استخدم الموصل خوادم DNS الافتراضية الخاصة بـ VPC لحل اسم DNS الخاص بمنطقة توافر الخدمات. سمح تكوين AWS PrivateLink هذا بالاتصال الآمن والخاص بين مثيل MSK Serverless ومثيل MongoDB Atlas Serverless.

لمواصلة تعلمك ، تحقق من الموارد التالية:


حول المؤلف

ايغور الكسيف هو مهندس حلول شريك أول في AWS في مجال البيانات والتحليلات. في دوره ، يعمل إيغور مع شركاء استراتيجيين يساعدونهم في بناء بنى معقدة ومحسّنة لـ AWS. قبل انضمامه إلى AWS ، بصفته مهندس بيانات / حلول ، قام بتنفيذ العديد من المشاريع في مجال البيانات الضخمة ، بما في ذلك العديد من بحيرات البيانات في نظام Hadoop البيئي. كمهندس بيانات ، شارك في تطبيق AI / ML لاكتشاف الاحتيال وأتمتة المكاتب.

كيران ماتي هو مدير منتج رئيسي مع Amazon Web Services (AWS) ويعمل مع فريق Amazon Managed Streaming لـ Apache Kafka (Amazon MSK) ومقره في بالو ألتو ، كاليفورنيا. إنه متحمس لبناء خدمات البث المباشر والتحليلية التي تساعد المؤسسات على إدراك حالات الاستخدام الحرج الخاصة بهم.

 بابو سرينيفاسان هو مهندس حلول شريك أول في MongoDB. في منصبه الحالي ، يعمل مع AWS لبناء عمليات التكامل التقنية والبنى المرجعية لحلول AWS و MongoDB. لديه أكثر من عقدين من الخبرة في قواعد البيانات وتقنيات السحابة. إنه متحمس لتقديم الحلول التقنية للعملاء الذين يعملون مع العديد من شركات تكامل الأنظمة العالمية (GSIs) عبر مناطق جغرافية متعددة.

روبرت والترز يشغل حاليًا منصب مدير أول للمنتجات في MongoDB. قبل العمل في MongoDB ، قضى روب 17 عامًا في Microsoft للعمل في أدوار مختلفة ، بما في ذلك إدارة البرامج في فريق SQL Server والاستشارات والمبيعات المسبقة التقنية. شارك Rob في تأليف ثلاث براءات اختراع للتقنيات المستخدمة في SQL Server وكان المؤلف الرئيسي للعديد من الكتب التقنية حول SQL Server. روب حاليًا مدون نشط في مدونات MongoDB.

الطابع الزمني:

اكثر من بيانات AWS الضخمة