Skip to main content
ملاحظة: السياسة المعروضة في الفيديو واسعة الصلاحيات، وهي مخصّصة للبدء السريع فقط. راجع أدناه إرشادات IAM الخاصة بمبدأ أقل الامتيازات.

المتطلبات الأساسية

نفترض ما يلي:

موصل Kafka الرسمي من ClickHouse مع Amazon MSK

اجمع بيانات الاتصال الخاصة بك

للاتصال بـ ClickHouse باستخدام HTTP(S)، تحتاج إلى المعلومات التالية: تتوفر تفاصيل خدمة ClickHouse Cloud الخاصة بك في ClickHouse Cloud console. حدِّد خدمة ثم انقر على Connect: اختر HTTPS. ستظهر تفاصيل الاتصال في مثال لأمر curl. إذا كنت تستخدم ClickHouse مُدارًا ذاتيًا، فسيُحدِّد مسؤول ClickHouse لديك تفاصيل الاتصال.

الخطوات

  1. تأكد من أنك على دراية بـ ClickHouse Connector Sink
  2. أنشئ مثيل MSK.
  3. أنشئ IAM role وعيّنه.
  4. نزّل ملف jar من صفحة Release الخاصة بـ ClickHouse Connect Sink.
  5. ثبّت ملف jar الذي نزّلته من صفحة Custom plugin في وحدة تحكم Amazon MSK.
  6. إذا كان الـ connector يتواصل مع مثيل ClickHouse عام، فعّل الوصول إلى الإنترنت.
  7. أدخل topic name واسم المضيف لمثيل ClickHouse وpassword في config.

أذونات IAM الموصى بها (مبدأ الحد الأدنى من الصلاحيات)

استخدم أقل مجموعة من الأذونات المطلوبة لإعدادك. ابدأ بالأساس أدناه، ولا تُضِف الخدمات الاختيارية إلا إذا كنت تستخدمها.
  • استخدم قسم Glue فقط إذا كنت تستخدم AWS Glue Schema Registry.
  • استخدم قسم Secrets Manager فقط إذا كنت تجلب بيانات الاعتماد/مخازن الثقة من Secrets Manager. احصر ARN في النطاق المطلوب.
  • استخدم قسم S3 فقط إذا كنت تحمّل الملفات (مثل truststore) من S3. احصر النطاق في bucket/البادئة.
انظر أيضًا: أفضل ممارسات Kafka – IAM.

تحسين الأداء

تتمثل إحدى طرق تحسين الأداء في ضبط حجم الدفعة وعدد السجلات التي تُجلَب من Kafka، وذلك بإضافة ما يلي إلى إعدادات العامل:
ستختلف القيم التي تستخدمها وفقًا للعدد المطلوب من السجلات وحجم كل سجل. على سبيل المثال، القيم الافتراضية هي:
يمكنك العثور على مزيد من التفاصيل (سواء بشأن التنفيذ أو الاعتبارات الأخرى) في الوثائق الرسمية لكلٍّ من Kafka و Amazon MSK.

ملاحظات حول الشبكات الخاصة بـ MSK Connect

لكي يتمكن MSK Connect من الاتصال بـ ClickHouse، نوصي بأن تكون مجموعة MSK الخاصة بك ضمن شبكة فرعية خاصة مع NAT gateway خاص متصل بالإنترنت. ترد أدناه إرشادات إعداد ذلك. لاحظ أن الشبكات الفرعية العامة مدعومة، لكنها غير موصى بها بسبب الحاجة إلى تعيين عنوان Elastic IP باستمرار إلى ENI لديك. توفر AWS مزيدًا من التفاصيل هنا
  1. إنشاء شبكة فرعية خاصة: أنشئ شبكة فرعية جديدة داخل VPC لديك، وحددها كشبكة فرعية خاصة. يجب ألا يكون لهذه الشبكة الفرعية وصول مباشر إلى الإنترنت.
  2. إنشاء NAT gateway: أنشئ NAT gateway في شبكة فرعية عامة ضمن VPC لديك. يتيح NAT gateway للمثيلات الموجودة في شبكتك الفرعية الخاصة الاتصال بالإنترنت أو بخدمات AWS الأخرى، لكنه يمنع الإنترنت من بدء اتصال مع هذه المثيلات.
  3. تحديث جدول التوجيه: أضف مسارًا يوجّه حركة المرور المتجهة إلى الإنترنت إلى NAT gateway.
  4. ضمان إعداد مجموعة الأمان وACLs للشبكة: اضبط مجموعة الأمان وACLs للشبكة (Access Control Lists) للسماح بحركة المرور ذات الصلة.
    1. من ENI الخاصة بعاملي MSK Connect إلى brokers الخاصة بـ MSK على منفذ TLS (عادةً 9094).
    2. من ENI الخاصة بعاملي MSK Connect إلى endpoint الخاص بـ ClickHouse: 9440 ‏(native TLS) أو 8443 ‏(HTTPS).
    3. اسمح بحركة المرور Inbound على broker SG من عامل SG الخاص بـ MSK Connect.
    4. بالنسبة إلى ClickHouse ذاتي الاستضافة، افتح المنفذ المُعدّ على server لديك (القيمة default هي 8123 لـ HTTP).
  5. إرفاق مجموعة الأمان بـ MSK: تأكد من أن مجموعات الأمان هذه مرفقة بمجموعة MSK وعاملي MSK Connect.
  6. الاتصال بـ ClickHouse Cloud:
    1. public endpoint + قائمة سماح IP: يتطلب egress عبر NAT من الشبكات الفرعية الخاصة.
    2. الاتصال الخاص حيثما كان متاحًا (مثل VPC peering/PrivateLink/VPN). تأكد من تمكين أسماء مضيفات DNS/الدقة الخاصة بـ VPC وأن DNS يمكنه تحليل private endpoint.
  7. التحقق من الاتصال (قائمة تحقق سريعة):
    1. من بيئة connector، قم بتحليل DNS التمهيدي لـ MSK واتصل عبر TLS بمنفذ broker.
    2. أنشئ TLS connection إلى ClickHouse على المنفذ 9440 (أو 8443 لـ HTTPS).
    3. إذا كنت تستخدم خدمات AWS ‏(Glue/Secrets Manager)، فاسمح بـ egress إلى تلك endpoints.
آخر تعديل في ٣ يوليو ٢٠٢٦