Skip to main content
تُعد Private Service Connect (PSC) إحدى ميزات الشبكات في Google Cloud، وتتيح للمستهلكين الوصول بشكل خاص إلى الخدمات المُدارة داخل شبكة السحابة الخاصة الافتراضية (VPC) الخاصة بهم. وبالمثل، تتيح لمنتجي الخدمات المُدارة استضافة هذه الخدمات داخل شبكات VPC منفصلة خاصة بهم، وتوفير اتصال خاص للمستهلكين. ينشر منتجو الخدمات تطبيقاتهم للمستهلكين من خلال إنشاء خدمات Private Service Connect. ويصل مستهلكو الخدمات إلى خدمات Private Service Connect هذه مباشرةً عبر أحد أنواع Private Service Connect.
يدعم GCP Private Service Connect فقط الاتصالات التي تبدأ من شبكة GCP VPC الخاصة بك إلى ClickHouse Cloud. ولا يمكن استخدامه للاتصالات التي تبدأ من ClickHouse Cloud إلى الخدمات الموجودة في شبكة VPC الخاصة بك، مثل قاعدة بيانات خاصة.بشكل افتراضي، لا تكون خدمة ClickHouse متاحة عبر اتصال Private Service Connect حتى إذا تمت الموافقة على اتصال PSC وإنشاؤه؛ يجب عليك إضافة معرّف PSC صراحةً إلى قائمة السماح على مستوى المثيل من خلال إكمال الخطوة أدناه.
اعتبارات مهمة عند استخدام Global Access مع Private Service Connect:
  1. يجب أن تنتمي المناطق التي تستخدم Global Access إلى شبكة VPC نفسها.
  2. يجب تمكين Global Access صراحةً على مستوى PSC (راجع لقطة الشاشة أدناه).
  3. تأكد من أن إعدادات firewall لديك لا تمنع الوصول إلى PSC من مناطق أخرى.
  4. انتبه إلى أنك قد تتحمل رسوم نقل البيانات بين المناطق في GCP.
لا يتوفر دعم للاتصال بين المناطق. يجب أن تكون منطقتا المنتج والمستهلك متماثلتين. ومع ذلك، يمكنك الاتصال من مناطق أخرى داخل شبكة VPC الخاصة بك عبر تمكين Global Access على مستوى Private Service Connect (PSC). أكمل الخطوات التالية لتمكين GCP PSC:
  1. احصل على service attachment في GCP لـ Private Service Connect.
  2. أنشئ endpoint للخدمة.
  3. أضف “Endpoint ID” إلى خدمة ClickHouse Cloud.
  4. أضف “Endpoint ID” إلى قائمة السماح لخدمة ClickHouse.

انتباه

يحاول ClickHouse تجميع خدماتك لإعادة استخدام PSC endpoint المنشور نفسه داخل منطقة GCP. ومع ذلك، لا يضمن هذا التجميع دائمًا، خاصةً إذا كانت خدماتك موزعة على عدة مؤسسات في ClickHouse. إذا كان PSC مُعدًّا بالفعل لخدمات أخرى ضمن مؤسسة ClickHouse الخاصة بك، فبإمكانك غالبًا تخطي معظم الخطوات بفضل هذا التجميع والانتقال مباشرةً إلى الخطوة الأخيرة: إضافة “Endpoint ID” إلى قائمة السماح لخدمة ClickHouse. يمكنك العثور على أمثلة Terraform هنا.

قبل البدء

تُعرض أمثلة التعليمات البرمجية أدناه لتوضيح كيفية إعداد Private Service Connect ضمن خدمة ClickHouse Cloud. في الأمثلة التالية، سنستخدم:
  • منطقة GCP: us-central1
  • مشروع GCP (مشروع GCP الخاص بالعميل): my-gcp-project
  • عنوان IP خاص في GCP ضمن مشروع GCP الخاص بالعميل: 10.128.0.2
  • شبكة VPC في GCP ضمن مشروع GCP الخاص بالعميل: default
ستحتاج إلى استرجاع معلومات عن خدمة ClickHouse Cloud الخاصة بك. يمكنك القيام بذلك إما عبر وحدة تحكم ClickHouse Cloud أو عبر ClickHouse API. وإذا كنت ستستخدم ClickHouse API، فالرجاء تعيين متغيرات البيئة التالية قبل المتابعة:
يمكنك إنشاء مفتاح API جديد لـ ClickHouse Cloud أو استخدام مفتاح موجود. احصل على INSTANCE_ID الخاص بمثيل ClickHouse لديك عبر التصفية حسب المنطقة والمزوّد واسم الخدمة:
  • يمكنك الحصول على Organization ID الخاص بك من ClickHouse console ‏(Organization -> Organization Details).
  • يمكنك إنشاء مفتاح جديد أو استخدام مفتاح حالي.

الحصول على service attachment في GCP واسم DNS لـ Private Service Connect

الخيار 1: ClickHouse Cloud console

في ClickHouse Cloud console، افتح الخدمة التي تريد الاتصال بها باستخدام Private Service Connect، ثم افتح قائمة Settings. انقر على الزر Set up private endpoint. دوّن اسم الخدمة (endpointServiceId) واسم DNS (privateDnsHostname). ستستخدمهما في الخطوات التالية.

الخيار 2: API

تحتاج إلى نشر مثيل واحد على الأقل في هذه المنطقة لتنفيذ هذه الخطوة.
احصل على service attachment وDNS name لخدمة Private Service Connect في GCP:
دوّن endpointServiceId وprivateDnsHostname. ستستخدمهما في الخطوات التالية.

إنشاء نقطة نهاية للخدمة

يغطي هذا القسم تفاصيل خاصة بـ ClickHouse حول تهيئة ClickHouse عبر GCP PSC ‏(Private Service Connect). تُقدَّم الخطوات الخاصة بـ GCP كمرجع لإرشادك إلى المواضع التي ينبغي الرجوع إليها، لكنها قد تتغير مع مرور الوقت من دون إشعار من موفّر السحابة GCP. يُرجى مراعاة تهيئة GCP بما يتناسب مع حالة الاستخدام الخاصة بك.يرجى ملاحظة أن ClickHouse لا يتحمّل مسؤولية تهيئة نقاط نهاية GCP PSC المطلوبة أو سجلات DNS.إذا واجهت أي مشكلات متعلقة بمهام تهيئة GCP، فتواصل مباشرةً مع دعم GCP.
في هذا القسم، ستنشئ نقطة نهاية للخدمة.

إضافة Private Service Connection

أولًا، ستُنشئ Private Service Connection.

الخيار 1: استخدام Google Cloud console

في Google Cloud console، انتقل إلى Network services -> Private Service Connect. افتح مربع حوار إنشاء Private Service Connect بالنقر على الزر Connect Endpoint.
  • Target: استخدم Published service
  • Target service: استخدم endpointServiceIdواجهة برمجة تطبيقات أو Service nameconsole من خطوة الحصول على service attachment في GCP لـ Private Service Connect.
  • Endpoint name: عيّن اسمًا لـ PSC Endpoint name.
  • Network/Subnetwork/IP address: اختر الشبكة التي تريد استخدامها للاتصال. ستحتاج إلى إنشاء عنوان IP أو استخدام عنوان موجود لنقطة نهاية Private Service Connect. في مثالنا، أنشأنا مسبقًا عنوانًا بالاسم your-ip-address وعيّنا له عنوان IP 10.128.0.2.
  • لجعل نقطة النهاية متاحة من أي Region، يمكنك تفعيل مربع الاختيار Enable global access.
لإنشاء PSC Endpoint، استخدم الزر ADD ENDPOINT. سيتغير عمود Status من Pending إلى Accepted بمجرد الموافقة على الاتصال. انسخ PSC Connection ID؛ ستستخدمه بوصفه Endpoint ID في الخطوات التالية.

الخيار 2: استخدام Terraform

استخدم endpointServiceIdAPI أو اسم الخدمةConsole من خطوة الحصول على service attachment في GCP واسم DNS لـ Private Service Connect

اضبط اسم DNS الخاص لنقطة النهاية

توجد عدة طرق لتهيئة DNS. يُرجى إعداد DNS بما يتوافق مع حالة الاستخدام الخاصة بك.
تحتاج إلى توجيه “اسم DNS”، المأخوذ من خطوة الحصول على service attachment واسم DNS لـ Private Service Connect، إلى عنوان IP لنقطة نهاية GCP Private Service Connect. ويضمن ذلك أن تتمكن الخدمات/المكونات داخل VPC/الشبكة لديك من resolve هذا الاسم بشكل صحيح.
لا يكفي الاتصال مباشرةً بعنوان IP لنقطة نهاية PSC. يوجّه ClickHouse Cloud الاتصالات استنادًا إلى اسم DNS (عبر SNI أثناء مصافحة TLS)، لذا يجب تهيئة DNS بحيث يحوّل اسم مضيف DNS الخاص (privateDnsHostname) إلى عنوان IP لنقطة النهاية. ومن دون ذلك، لن يتمكن ClickHouse Cloud من تحديد الخدمة المقصودة بهذا الاتصال، وسيفشل الاتصال.

أضِف Endpoint ID إلى مؤسسة ClickHouse Cloud

الخيار 1: ClickHouse Cloud console

لإضافة نقطة نهاية إلى مؤسستك، انتقل إلى خطوة إضافة “Endpoint ID” إلى قائمة السماح لخدمة ClickHouse. تؤدي إضافة PSC Connection ID باستخدام ClickHouse Cloud console إلى قائمة السماح للخدمة إلى إضافته تلقائيًا إلى المؤسسة أيضًا. لإزالة نقطة نهاية، افتح Organization details -> Private Endpoints وانقر على زر الحذف لإزالة نقطة النهاية.

الخيار 2: API

عيّن متغيرات البيئة التالية قبل تشغيل أي أوامر: استبدل ENDPOINT_ID أدناه بالقيمة الواردة في Endpoint ID ضمن خطوة إضافة Private Service Connection. لإضافة نقطة نهاية، شغّل:
لإزالة نقطة نهاية، نفِّذ:
إضافة/إزالة Private Endpoint لمؤسسة:

أضف “Endpoint ID” إلى قائمة السماح لخدمة ClickHouse

تحتاج إلى إضافة Endpoint ID إلى قائمة السماح لكل مثيل يُفترض إتاحته عبر Private Service Connect.

الخيار 1: ClickHouse Cloud console

في ClickHouse Cloud console، افتح الخدمة التي تريد الاتصال بها عبر Private Service Connect، ثم انتقل إلى Settings. أدخل Endpoint ID الذي حصلت عليه من خطوة إضافة Private Service Connection. انقر على Create endpoint.
إذا كنت تريد السماح بالوصول من اتصال Private Service Connect موجود، فاستخدم القائمة المنسدلة الحالية الخاصة بـ endpoint.

الخيار 2: API

عيّن متغيرات البيئة التالية قبل تشغيل أي أوامر: استبدل ENDPOINT_ID أدناه بالقيمة الواردة في Endpoint ID ضمن خطوة إضافة Private Service Connection. نفّذ ذلك لكل خدمة يجب أن تكون متاحة عبر Private Service Connect. للإضافة:
لإزالة:

الوصول إلى المثيل عبر Private Service Connect

تحتوي كل خدمة مفعَّل لها Private Service Connect على نقطة نهاية عامة وأخرى خاصة. وللاتصال باستخدام Private Service Connect، يجب استخدام نقطة النهاية الخاصة، وهي privateDnsHostname المذكورة في خطوة الحصول على service attachment واسم DNS في GCP لـ Private Service Connect.

الحصول على اسم مضيف DNS خاص

الخيار 1: ClickHouse Cloud console

في ClickHouse Cloud console، انتقل إلى Settings. انقر على زر Set up private endpoint. في اللوحة المنبثقة التي تفتح، انسخ اسم DNS.

الخيار 2: واجهة برمجة التطبيقات

في هذا المثال، سيُوجَّه الاتصال إلى اسم المضيف xxxxxxx.yy-xxxxN.p.gcp.clickhouse.cloud عبر Private Service Connect. وفي المقابل، سيُوجَّه xxxxxxx.yy-xxxxN.gcp.clickhouse.cloud عبر الإنترنت.

استكشاف الأخطاء وإصلاحها

اختبار إعدادات DNS

DNS_NAME - استخدم privateDnsHostname من خطوة الحصول على service attachment واسم DNS لـ Private Service Connect

إعادة تعيين الاتصال من الطرف المقابل

اختبار الاتصال

إذا واجهت مشكلات في الاتصال باستخدام رابط PSC، فتحقق من إمكانية الاتصال باستخدام openssl. تأكد من أن حالة نقطة نهاية Private Service Connect هي Accepted: يجب أن يتمكن OpenSSL من الاتصال (ابحث عن CONNECTED في المخرجات). ومن المتوقع ظهور errno=104. DNS_NAME - استخدم privateDnsHostname من خطوة الحصول على service attachment لـ Private Service Connect

التحقق من مرشّحات نقاط النهاية

واجهة برمجة تطبيقات REST

الاتصال بقاعدة بيانات بعيدة

وفقًا لـ وثائق GCP Private Service Connect:
تصميم موجّه للخدمات: تُنشر خدمات المنتجين عبر موازنات تحميل تعرض عنوان IP واحدًا لشبكة VPC الخاصة بالمستهلك. وتكون حركة مرور المستهلك التي تصل إلى خدمات المنتجين أحادية الاتجاه، ولا يمكنها الوصول إلا إلى عنوان IP الخاص بالخدمة بدلًا من الوصول إلى شبكة VPC مقترنة بالكامل.
لتوصيل دوال الجداول MySQL أو PostgreSQL في ClickHouse Cloud بقاعدة بيانات مستضافة في GCP VPC لديك، قم بتهيئة قواعد جدار الحماية في GCP VPC للسماح بالاتصالات من ClickHouse Cloud. راجع عناوين IP الصادرة الافتراضية لمناطق ClickHouse Cloud، إلى جانب عناوين IP الثابتة المتاحة.

مزيد من المعلومات

لمزيد من المعلومات التفصيلية، يُرجى زيارة cloud.google.com/vpc/docs/configure-private-service-connect-services.
آخر تعديل في ٢٤ يوليو ٢٠٢٦