Skip to main content
يمكنك استخدام AWS PrivateLink لإنشاء اتصال آمن بين شبكات VPC، وخدمات AWS، وأنظمتك المحلية، وClickHouse Cloud، من دون تعريض حركة المرور إلى الإنترنت العام. توضح هذه الوثيقة الخطوات اللازمة للاتصال بـ ClickHouse Cloud باستخدام AWS PrivateLink.
يدعم AWS PrivateLink فقط الاتصالات التي تبدأ من AWS VPC الخاصة بك إلى ClickHouse Cloud. ولا يمكن استخدامه للاتصالات التي تبدأ من ClickHouse Cloud إلى الخدمات الموجودة في VPC الخاصة بك، مثل قاعدة بيانات خاصة.
لحصر الوصول إلى خدمات ClickHouse Cloud الخاصة بك عبر عناوين AWS PrivateLink فقط، اتبع الإرشادات التي يوفرها ClickHouse Cloud بشأن قوائم الوصول حسب عنوان IP.
يدعم ClickHouse Cloud PrivateLink عبر المناطق من المناطق التالية:
  • sa-east-1
  • il-central-1
  • me-south-1
  • mx-central-1
  • eu-central-2
  • eu-north-1
  • eu-south-2
  • eu-west-3
  • eu-south-1
  • eu-west-2
  • eu-west-1
  • eu-central-1
  • ca-west-1
  • ca-central-1
  • ap-northeast-1
  • ap-southeast-2
  • ap-southeast-1
  • ap-northeast-2
  • ap-northeast-3
  • ap-south-1
  • ap-southeast-4
  • ap-southeast-3
  • ap-south-2
  • ap-east-1
  • af-south-1
  • us-west-2
  • us-west-1
  • us-east-2
  • us-east-1 اعتبارات التسعير: ستفرض AWS رسومًا على المستخدمين مقابل نقل البيانات عبر المناطق. راجع الأسعار هنا.
يُرجى إكمال ما يلي لتمكين AWS PrivateLink:
  1. احصل على “Service name” الخاص بالـ Endpoint.
  2. أنشئ AWS Endpoint.
  3. أضف “Endpoint ID” إلى المؤسسة في ClickHouse Cloud.
  4. أضف “Endpoint ID” إلى قائمة السماح لخدمة ClickHouse.
اعثر على أمثلة Terraform هنا.

اعتبارات مهمة

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

المتطلبات الأساسية لهذه العملية

قبل البدء، ستحتاج إلى ما يلي:
  1. حساب AWS الخاص بك.
  2. مفتاح واجهة برمجة تطبيقات ClickHouse مع الأذونات اللازمة لإنشاء نقاط النهاية الخاصة وإدارتها من جانب ClickHouse.

الخطوات

اتبع هذه الخطوات لتوصيل خدمات ClickHouse Cloud الخاصة بك عبر AWS PrivateLink.

الحصول على “Service name” الخاص بنقطة النهاية

الخيار 1: ClickHouse Cloud console

في ClickHouse Cloud console، افتح الخدمة التي تريد الاتصال بها عبر PrivateLink، ثم انتقل إلى قائمة Settings. دوّن Service name واسم DNS، ثم انتقل إلى الخطوة التالية.

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

أولًا، عيّن متغيرات البيئة التالية قبل تشغيل أي أوامر:
احصل على INSTANCE_ID الخاص بـ ClickHouse من خلال التصفية حسب المنطقة وموفّر الخدمة واسم الخدمة:
احصل على endpointServiceId وprivateDnsHostname الخاصَّين بإعداد PrivateLink لديك:
من المفترض أن يُرجع هذا الأمر شيئًا مثل:
دوّن endpointServiceId وprivateDnsHostname، ثم انتقل إلى الخطوة التالية.

إنشاء نقطة نهاية AWS

يغطي هذا القسم التفاصيل الخاصة بـ ClickHouse لإعداد ClickHouse عبر AWS PrivateLink. وتُقدَّم الخطوات الخاصة بـ AWS كمرجع لإرشادك إلى المواضع التي ينبغي الرجوع إليها، لكنها قد تتغير بمرور الوقت من دون إشعار من مزود الخدمة السحابية AWS. يُرجى مراعاة إعداد AWS بما يتناسب مع حالة الاستخدام الخاصة بك.يرجى ملاحظة أن ClickHouse ليست مسؤولة عن إعداد نقاط نهاية AWS VPC المطلوبة، أو قواعد Security Group، أو سجلات DNS.إذا كنت قد فعّلت سابقًا “أسماء DNS الخاصة” أثناء إعداد PrivateLink وتواجه صعوبة في إعداد خدمات جديدة عبر PrivateLink، فيُرجى التواصل مع دعم ClickHouse. أما بالنسبة إلى أي مشكلات أخرى متعلقة بمهام إعداد AWS، فتواصل مع AWS Support مباشرةً.

الخيار 1: AWS Console

افتح AWS Console وانتقل إلى VPCEndpointsCreate endpoints. حدِّد Endpoint services that use NLBs and GWLBs، ثم استخدم Service nameconsole أو endpointServiceIdواجهة برمجة تطبيقات الذي حصلت عليه من خطوة Obtain Endpoint “Service name” في حقل Service Name. انقر على Verify service: إذا كنت تريد إنشاء اتصال بين المناطق عبر PrivateLink، ففعِّل مربع الاختيار “Cross region endpoint” وحدِّد Region الخاصة بالخدمة. Region الخاصة بالخدمة هي المنطقة التي يعمل فيها مثيل ClickHouse. إذا ظهرت لك رسالة الخطأ “Service name couldn’t be verified.”، فيُرجى التواصل مع دعم العملاء لطلب إضافة Regions جديدة إلى قائمة المناطق المدعومة. بعد ذلك، حدِّد VPC والشبكات الفرعية الخاصة بك: كخطوة اختيارية، عيِّن مجموعات الأمان/الوسوم:
تأكّد من السماح بالمنافذ 443 و8443 و9440 و3306 في مجموعة الأمان.
بعد إنشاء VPC Endpoint، دوِّن قيمة Endpoint ID، إذ ستحتاج إليها في خطوة لاحقة.

الخيار 2: AWS CloudFormation

بعد ذلك، عليك إنشاء VPC Endpoint باستخدام Service nameConsole أو endpointServiceIdواجهة برمجة تطبيقات اللذين حصلت عليهما من خطوة الحصول على Endpoint و”Service name” . تأكد من استخدام معرّفات الشبكات الفرعية الصحيحة، ومجموعات الأمان، ومعرّف VPC الصحيح.
بعد إنشاء VPC Endpoint، دوّن قيمة Endpoint ID، إذ ستحتاج إليها في خطوة لاحقة.

الخيار 3: Terraform

service_name أدناه هو Service nameConsole أو endpointServiceIdواجهة برمجة تطبيقات اللذان حصلت عليهما من خطوة الحصول على “Service name” لنقطة النهاية
بعد إنشاء VPC Endpoint، دوِّن قيمة Endpoint ID؛ فستحتاج إليها في خطوة لاحقة.

عيّن اسم DNS الخاص لنقطة النهاية

هناك عدة طرق لتهيئة DNS. يُرجى إعداد DNS وفقًا لحالة الاستخدام الخاصة بك.
يجب توجيه “اسم DNS”، المأخوذ من خطوة الحصول على “Service name” لنقطة النهاية ، إلى واجهات الشبكة الخاصة بـ AWS Endpoint. وهذا يضمن أن الخدمات/المكوّنات داخل شبكة VPC/الشبكة لديك يمكنها حلّه بشكل صحيح.

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

الخيار 1: ClickHouse Cloud console

للإضافة، يُرجى الانتقال إلى ClickHouse Cloud console، ثم فتح الخدمة التي تريد الاتصال بها عبر PrivateLink، وبعد ذلك الانتقال إلى الإعدادات. انقر على إعداد نقطة نهاية خاصة لفتح إعدادات نقاط النهاية الخاصة. أدخل Endpoint ID الذي حصلت عليه من خطوة إنشاء AWS Endpoint. انقر على “إنشاء نقطة نهاية”.
إذا كنت تريد السماح بالوصول من اتصال PrivateLink حالي، فاستخدم القائمة المنسدلة لنقطة النهاية الحالية.
للإزالة، يُرجى الانتقال إلى ClickHouse Cloud console، ثم العثور على الخدمة، وبعد ذلك الانتقال إلى الإعدادات الخاصة بها، ثم العثور على نقطة النهاية التي تريد إزالتها. أزلها من قائمة نقاط النهاية.

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

تحتاج إلى إضافة Endpoint ID إلى قائمة السماح لكل مثيل يجب أن يكون متاحًا عبر PrivateLink. عيّن متغير البيئة ENDPOINT_ID باستخدام البيانات الواردة في خطوة Create AWS Endpoint. عيّن متغيرات البيئة التالية قبل تشغيل أي أوامر:
لإضافة Endpoint ID إلى قائمة السماح:
لإزالة Endpoint ID من قائمة السماح:
لكل خدمة مُفعَّل لها Private Link نقطة نهاية عامة وأخرى خاصة. وللاتصال باستخدام Private Link، يجب استخدام نقطة نهاية خاصة، وهي privateDnsHostnameواجهة برمجة تطبيقات أو DNS Nameوحدة التحكم، كما هو موضح في الحصول على «اسم الخدمة» لنقطة النهاية.

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

الخيار 1: ClickHouse Cloud console
في ClickHouse Cloud console، انتقل إلى الإعدادات. انقر على زر إعداد نقطة نهاية خاصة. في اللوحة الجانبية المنبثقة، انسخ اسم DNS.
الخيار 2: واجهة برمجة تطبيقات
اضبط متغيرات البيئة التالية قبل تشغيل أي أوامر:
يمكنك الحصول على INSTANCE_ID من الخطوة.
من المفترض أن تكون النتيجة شيئًا مثل:
في هذا المثال، سيُوجَّه الاتصال عبر اسم المضيف الوارد في قيمة privateDnsHostname إلى PrivateLink، لكن الاتصال عبر اسم المضيف endpointServiceId سيُوجَّه عبر الإنترنت.

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

في معظم الحالات، لا تحتاج إلا إلى إنشاء خدمة endpoint واحدة لكل VPC. ويمكن لهذا endpoint توجيه الطلبات من الـ VPC إلى عدة خدمات ClickHouse Cloud. يُرجى الرجوع إلى هذا القسم

انتهت مهلة الاتصال بنقطة النهاية الخاصة

  • يُرجى إرفاق مجموعة أمان بـ VPC Endpoint.
  • يُرجى التحقق من قواعد inbound في مجموعة الأمان المرتبطة بـ Endpoint، والتأكد من السماح بمنافذ ClickHouse.
  • يُرجى التحقق من قواعد outbound في مجموعة الأمان المرتبطة بالآلة الافتراضية المستخدمة لاختبار الاتصال، والتأكد من السماح بالاتصالات إلى منافذ ClickHouse.

اسم المضيف الخاص: تعذّر العثور على عنوان المضيف

  • يُرجى التحقق من إعدادات DNS لديك

تمت إعادة ضبط الاتصال بواسطة النظير

  • على الأرجح، لم تتم إضافة Endpoint ID إلى قائمة السماح الخاصة بالخدمة. يُرجى الرجوع إلى الخطوة

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

اضبط متغيرات البيئة التالية قبل تشغيل أي أوامر:
يمكنك الحصول على INSTANCE_ID من الخطوة.

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

وفقًا لـ وثائق AWS PrivateLink:
استخدم AWS PrivateLink عندما يكون لديك إعداد عميل/خادم وتريد منح VPC مستهلك واحد أو أكثر وصولًا أحادي الاتجاه إلى خدمة محددة أو إلى مجموعة من المثيلات داخل VPC الخاص بمزوّد الخدمة. ولا يمكن إلا للعملاء الموجودين في VPC المستهلك بدء اتصال بالخدمة الموجودة في VPC الخاص بمزوّد الخدمة.
لتوصيل دوال الجداول MySQL أو PostgreSQL في ClickHouse Cloud بقاعدة بيانات مستضافة في AWS VPC لديك، اضبط مجموعات الأمان في AWS للسماح باتصالات من ClickHouse Cloud. راجع عناوين IP الصادرة الافتراضية لمناطق ClickHouse Cloud، إلى جانب عناوين IP الثابتة المتاحة.
آخر تعديل في ٢٤ يوليو ٢٠٢٦