نظرة عامة
يوضح هذا الدليل كيفية ربط ClickPipes بعنقود Kafka موجود في Confluent Cloud عبر الشبكات الخاصة.
استخدم هذا الدليل في الحالات التالية:
- عناقيد Confluent Cloud Dedicated مع AWS PrivateLink أو GCP Private Service Connect (PSC)
- عناقيد Confluent Cloud بلا خوادم مع AWS PrivateLink أو GCP Private Service Connect (PSC)
يفترض هذا الدليل أن عنقود Kafka وtopic وبيانات اعتماد Kafka في Confluent Cloud موجودة بالفعل. ويركّز على الاتصال الخاص ونقاط النهاية الخاصة العكسية (RPEs) في ClickPipes.
كيف يعمل الإعداد
يتصل عملاء Kafka باسم مضيف Bootstrap، ويجلبون البيانات الوصفية، ثم يتصلون بأسماء مضيفي الوسطاء التي يعلن عنها Confluent Cloud. وبالنسبة إلى الشبكات الخاصة في Confluent Cloud، يجب أن تُحلّ أسماء المضيف هذه داخل شبكة ClickPipes إلى نقطة النهاية الخاصة التي ينشئها ClickPipes.
يستخدم ClickPipes:
- نقطة نهاية خاصة عكسية لإنشاء اتصال الشبكة الخاصة مع موفّر الخدمة السحابية.
- تعيينات DNS خاص مخصص على RPE هذا بحيث تُحلّ أسماء مضيف Bootstrap والوسطاء الخاصة بـ Confluent بشكل خاص.
- نقطة نهاية Kafka Bootstrap في Confluent Cloud بوصفها عنوان الوسيط في ClickPipe.
المتطلبات
- خدمة ClickHouse Cloud ستُنشئ فيها Kafka ClickPipe.
- عنقود Kafka على Confluent Cloud في السحابة والمنطقة نفسيهما اللتين تريد الاتصال بهما بشكل خاص.
- مفتاح API لـ Kafka أو بيانات اعتماد حساب خدمة يمكن أن تستخدمها ClickPipes.
- بالنسبة إلى AWS PrivateLink، فإن DNS خاص مخصص لـ ClickPipes متاح ضمن معاينة خاصة؛ تواصل مع دعم ClickHouse إذا لم يكن مُمكّنًا لخدمتك.
المجموعات Dedicated
استخدم هذا القسم لمجموعات Confluent Cloud Dedicated المتصلة عبر شبكة Confluent الخاصة.
اجمع تفاصيل شبكة Confluent Cloud
من شبكة Confluent Cloud المرتبطة بعنقود Dedicated لديك، اجمع ما يلي:
- نطاق DNS الخاص، والمبيَّن أدناه على الشكل
{dns_domain}. - المناطق الخاصة بموفّر السحابة التي تستخدمها شبكة Confluent.
- في AWS، اسم خدمة نقطة نهاية Confluent PrivateLink.
- في GCP، service attachment الخاص بـ PSC لكل منطقة في شبكة Confluent.
تشكّل قيم المناطق جزءًا من أسماء DNS التي يجب على ClickPipes حلّها.
وفي AWS تكون هذه القيم معرّفات مناطق التوافر مثل use1-az1.
وفي GCP تكون مناطق مثل us-central1-a.
أضف إدخال وصول PrivateLink أو PSC في Confluent Cloud لهوية المستهلك الخاصة بـ ClickPipes:
- AWS: اسمح لمعرّف حساب AWS الخاص بـ ClickPipes
072088201116. - GCP: اسمح بمشروع GCP الخاص بـ ClickPipes
clickpipes-production.
هذا التفويض مطلوب قبل أن يتمكن ClickPipes RPE من الاتصال بالشبكة الخاصة في Confluent Cloud.
أنشئ RPEs الخاصة بـ ClickPipes
أنشئ RPEs باستخدام OpenAPI أو Terraform.
باستخدام OpenAPI، استخدم customPrivateDnsMappings في طلب الإنشاء.
إذا قمت بتحديث RPE موجودة باستخدام عملية التحديث،
فتذكّر أن customPrivateDnsMappings تستبدل القائمة الحالية بالكامل.
AWS Dedicated
أنشئ RPE واحدًا من نوع VPC_ENDPOINT_SERVICE يشير إلى خدمة نقطة نهاية PrivateLink في Confluent Cloud.
أضِف جميع تعيينات DNS الخاص المخصص التالية إلى RPE نفسه:
*.{dns_domain}*.{zone}.{dns_domain}لكل منطقة شبكة في Confluent
مثال على نص طلب OpenAPI:
{
"description": "Confluent Cloud Dedicated AWS PrivateLink",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0",
"customPrivateDnsMappings": [
{
"privateDnsName": "*.abcde12345.us-east-1.aws.confluent.cloud"
},
{
"privateDnsName": "*.use1-az1.abcde12345.us-east-1.aws.confluent.cloud"
},
{
"privateDnsName": "*.use1-az2.abcde12345.us-east-1.aws.confluent.cloud"
},
{
"privateDnsName": "*.use1-az3.abcde12345.us-east-1.aws.confluent.cloud"
}
]
}GCP Dedicated
أنشئ RPE واحدًا من GCP_PSC_SERVICE_ATTACHMENT لكل منطقة في Confluent Cloud.
يشير كل RPE إلى مرفق خدمة PSC الخاص بتلك المنطقة.
أضف *.{zone}.{dns_domain} إلى RPE الخاص بالمنطقة المطابقة.
أضف *.{dns_domain} إلى واحد فقط من عناصر RPE.
مثال على نص طلب OpenAPI لأول منطقة:
{
"description": "Confluent Cloud Dedicated PSC us-central1-a",
"type": "GCP_PSC_SERVICE_ATTACHMENT",
"gcpServiceAttachment": "projects/confluent-prod/regions/us-central1/serviceAttachments/confluent-us-central1-a",
"customPrivateDnsMappings": [
{
"privateDnsName": "*.us-central1-a.abcde12345.us-central1.gcp.confluent.cloud"
},
{
"privateDnsName": "*.abcde12345.us-central1.gcp.confluent.cloud"
}
]
}مثال على نص طلب OpenAPI الخاص بـ additional-zone:
{
"description": "Confluent Cloud Dedicated PSC us-central1-b",
"type": "GCP_PSC_SERVICE_ATTACHMENT",
"gcpServiceAttachment": "projects/confluent-prod/regions/us-central1/serviceAttachments/confluent-us-central1-b",
"customPrivateDnsMappings": [
{
"privateDnsName": "*.us-central1-b.abcde12345.us-central1.gcp.confluent.cloud"
}
]
}العناقيد بلا خوادم
استخدم هذا القسم مع عناقيد Confluent Cloud بلا خوادم التي تستخدم بوابات دخول خاصة ونقاط وصول خاصة بـ Confluent.
أنشئ بوابة الإدخال للاتصال الخاص في Confluent
أنشئ بوابة الإدخال للاتصال الخاص في Confluent Cloud ضمن السحابة والمنطقة نفسيهما المستخدمتين لعنقود Kafka في Confluent:
- AWS: أنشئ بوابة إدخال من نوع PrivateLink.
- GCP: أنشئ بوابة إدخال من نوع Private Service Connect.
دوّن الهدف الذي يجب أن تتصل به ClickPipes في البوابة:
- AWS: اسم خدمة نقطة نهاية VPC الخاصة بالبوابة.
- GCP: مرفق خدمة PSC الخاص بالبوابة.
أنشئ ClickPipes RPE
أنشئ ClickPipes RPE واحدًا لبوابة الإدخال الخاصة بـ Confluent.
بالنسبة إلى AWS، أنشئ RPE من النوع VPC_ENDPOINT_SERVICE:
{
"description": "Confluent Cloud ingress AWS PrivateLink",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0"
}في GCP، أنشئ RPE من نوع GCP_PSC_SERVICE_ATTACHMENT:
{
"description": "Confluent Cloud ingress PSC",
"type": "GCP_PSC_SERVICE_ATTACHMENT",
"gcpServiceAttachment": "projects/confluent-prod/regions/us-central1/serviceAttachments/confluent-ingress"
}انتظر حتى تتضمن استجابة RPE المعرّف endpointId.
ستحتاج إلى هذا المعرّف لإنشاء نقطة الوصول في Confluent.
أنشئ نقطة وصول Confluent
أنشئ نقطة وصول دخول في Confluent Cloud لنقطة نهاية ClickPipes:
- AWS: استخدم
endpointIdالخاص بـ ClickPipes RPE بوصفه معرّف نقطة نهاية VPC. - GCP: استخدم
endpointIdالخاص بـ ClickPipes RPE بوصفه معرّف اتصال PSC.
بعد إنشاء نقطة الوصول، احصل على ما يلي:
- نطاق DNS الخاص بنقطة الوصول، والمبيّن أدناه بالشكل
{access_point_dns_domain}. - نقطة نهاية bootstrap لنقطة الوصول.
حدّث تعيينات DNS المخصصة لـ RPE
حدّث ClickPipes RPE باستخدام تعيينَي DNS الخاص المخصص التاليين:
*.{region}.{cloud}.accesspoint.glb.confluent.cloud*.{access_point_dns_domain}
مثال على نص طلب التحديث عبر OpenAPI:
{
"customPrivateDnsMappings": [
{
"privateDnsName": "*.us-east-1.aws.accesspoint.glb.confluent.cloud"
},
{
"privateDnsName": "*.abcd1234.us-east-1.aws.confluent.cloud"
}
]
}إعداد Terraform
عند استخدام Terraform، استخدم:
clickhouse_clickpipes_reverse_private_endpointلإنشاء RPEs.clickhouse_clickpipes_reverse_private_endpoint_custom_private_dnsلإدارة المجموعة الكاملة من تعيينات DNS الخاص المخصص لكل RPE.
توفر وحدات Terraform الخاصة بـ ClickPipes أيضًا أمثلة كاملة لـ Confluent:
confluent-dedicatedلإعداد الشبكات الخاصة لـ Confluent Cloud Dedicated.confluent-serverlessللنفاذ الخاص بدون خوادم في Confluent Cloud.
استخدم أنماط تعيين DNS نفسها الواردة في هذا الدليل.
في Terraform، تستخدم أسماء الحقول تنسيق snake_case، على سبيل المثال vpc_endpoint_service_name وgcp_service_attachment وprivate_dns_name.
إنشاء Kafka ClickPipe
بعد أن تصبح RPEs جاهزة:
- أنشئ Kafka ClickPipe أو حرّره.
- استخدم عنوان نقطة نهاية bootstrap الخاص بـ Confluent Cloud كعنوان للوسيط، من دون البادئة
SASL_SSL://. - حدّد RPEs التي أُنشئت للاتصال الخاص بـ Confluent Cloud.
- استخدم المصادقة
PLAINمع مفتاح API والمفتاح السري الخاصَّين بـ Confluent Cloud Kafka. - اضبط topics ومجموعة المستهلك وتنسيق البيانات والجدول الهدف كالمعتاد.
إذا كنت تستخدم Confluent Schema Registry عبر الشبكات الخاصة، فاضبط URL الخاص بـ schema registry في ClickPipe وتأكد من أن hostname الخاص به يُحل عبر إعداد DNS الخاص المخصص نفسه المستخدم لـ RPE. لمزيد من التفاصيل، راجع سجلات المخططات لـ Kafka ClickPipe.
استكشاف الأخطاء وإصلاحها
- إذا ظلّ RPE قيد الانتظار، فتحقّق من تفويض الشبكات الخاصة في Confluent Cloud، ثم اقبل الاتصال أو أكمله في Confluent Cloud.
- إذا فشل فحص الاتصال الخاص بـ ClickPipe، فتحقّق من أن كل اسم مضيف bootstrap ووسيط تُرجعه Confluent Cloud يطابق أحد تعيينات DNS خاص مخصص.
- إذا أجريت تصحيحًا على تعيينات DNS خاص مخصص، فأدرج القائمة الكاملة المطلوبة. سيستبدل التحديث القائمة الحالية.
- إذا رُفض تعيين DNS باعتباره مكررًا، فتحقّق من جميع RPEs ضمن خدمة ClickHouse نفسها بحثًا عن أسماء متطابقة أو أسماء متداخلة بأحرف بدل.