ملاحظة: السياسة المعروضة في الفيديو واسعة الصلاحيات، وهي مخصّصة للبدء السريع فقط. راجع أدناه إرشادات IAM الخاصة بمبدأ أقل الامتيازات.
المتطلبات الأساسية
- أنك على دراية بـ ClickHouse Connector Sink،
- أنك على دراية بـ Amazon MSK وموصلات MSK. نوصي بالرجوع إلى دليل البدء لـ Amazon MSK ودليل MSK Connect.
موصل Kafka الرسمي من ClickHouse مع Amazon MSK
اجمع بيانات الاتصال الخاصة بك
تتوفر تفاصيل خدمة ClickHouse Cloud الخاصة بك في ClickHouse Cloud console.
حدِّد خدمة ثم انقر على Connect:
اختر HTTPS. ستظهر تفاصيل الاتصال في مثال لأمر
curl.
إذا كنت تستخدم ClickHouse مُدارًا ذاتيًا، فسيُحدِّد مسؤول ClickHouse لديك تفاصيل الاتصال.
الخطوات
- تأكد من أنك على دراية بـ ClickHouse Connector Sink
- أنشئ مثيل MSK.
- أنشئ IAM role وعيّنه.
- نزّل ملف
jarمن صفحة Release الخاصة بـ ClickHouse Connect Sink. - ثبّت ملف
jarالذي نزّلته من صفحة Custom plugin في وحدة تحكم Amazon MSK. - إذا كان الـ connector يتواصل مع مثيل ClickHouse عام، فعّل الوصول إلى الإنترنت.
- أدخل topic name واسم المضيف لمثيل ClickHouse وpassword في config.
أذونات IAM الموصى بها (مبدأ الحد الأدنى من الصلاحيات)
- استخدم قسم Glue فقط إذا كنت تستخدم AWS Glue Schema Registry.
- استخدم قسم Secrets Manager فقط إذا كنت تجلب بيانات الاعتماد/مخازن الثقة من Secrets Manager. احصر ARN في النطاق المطلوب.
- استخدم قسم S3 فقط إذا كنت تحمّل الملفات (مثل truststore) من S3. احصر النطاق في bucket/البادئة.
تحسين الأداء
ملاحظات حول الشبكات الخاصة بـ MSK Connect
- إنشاء شبكة فرعية خاصة: أنشئ شبكة فرعية جديدة داخل VPC لديك، وحددها كشبكة فرعية خاصة. يجب ألا يكون لهذه الشبكة الفرعية وصول مباشر إلى الإنترنت.
- إنشاء NAT gateway: أنشئ NAT gateway في شبكة فرعية عامة ضمن VPC لديك. يتيح NAT gateway للمثيلات الموجودة في شبكتك الفرعية الخاصة الاتصال بالإنترنت أو بخدمات AWS الأخرى، لكنه يمنع الإنترنت من بدء اتصال مع هذه المثيلات.
- تحديث جدول التوجيه: أضف مسارًا يوجّه حركة المرور المتجهة إلى الإنترنت إلى NAT gateway.
- ضمان إعداد مجموعة الأمان وACLs للشبكة: اضبط مجموعة الأمان وACLs للشبكة (Access Control Lists) للسماح بحركة المرور ذات الصلة.
- من ENI الخاصة بعاملي MSK Connect إلى brokers الخاصة بـ MSK على منفذ TLS (عادةً 9094).
- من ENI الخاصة بعاملي MSK Connect إلى endpoint الخاص بـ ClickHouse: 9440 (native TLS) أو 8443 (HTTPS).
- اسمح بحركة المرور Inbound على broker SG من عامل SG الخاص بـ MSK Connect.
- بالنسبة إلى ClickHouse ذاتي الاستضافة، افتح المنفذ المُعدّ على server لديك (القيمة default هي 8123 لـ HTTP).
- إرفاق مجموعة الأمان بـ MSK: تأكد من أن مجموعات الأمان هذه مرفقة بمجموعة MSK وعاملي MSK Connect.
- الاتصال بـ ClickHouse Cloud:
- public endpoint + قائمة سماح IP: يتطلب egress عبر NAT من الشبكات الفرعية الخاصة.
- الاتصال الخاص حيثما كان متاحًا (مثل VPC peering/PrivateLink/VPN). تأكد من تمكين أسماء مضيفات DNS/الدقة الخاصة بـ VPC وأن DNS يمكنه تحليل private endpoint.
- التحقق من الاتصال (قائمة تحقق سريعة):
- من بيئة connector، قم بتحليل DNS التمهيدي لـ MSK واتصل عبر TLS بمنفذ broker.
- أنشئ TLS connection إلى ClickHouse على المنفذ 9440 (أو 8443 لـ HTTPS).
- إذا كنت تستخدم خدمات AWS (Glue/Secrets Manager)، فاسمح بـ egress إلى تلك endpoints.