إعداد AWS PrivateLink لإتاحة RDS خاص لـ ClickPipes
خطوات الإعداد لإتاحة RDS خاص لـ ClickPipes عبر AWS PrivateLink، مع دعم الوصول عبر المناطق أيضًا.
إنشاء Private Link
اتبع هذه الخطوات لإنشاء VPC endpoint service لمثيل RDS الخاص بك. كرر هذه الخطوات إذا كانت لديك عدة مثيلات RDS تتطلب endpoint services (أو إذا كانت لديك منافذ listener مختلفة لمثيلات مختلفة):
-
حدِّد VPC الخاص بك وأنشئ NLB
- انتقل إلى VPC المستهدف وأنشئ Network Load Balancer (NLB). لاحظ أن NLB يجب أن يكون داخليًا (خاصًا) وليس مواجهًا للإنترنت (عامًا).
-
اضبط مجموعة الهدف
- يجب أن تشير مجموعة الهدف إلى عنوان IP لنقطة نهاية RDS والمنفذ الخاص بمثيل RDS (عادةً 5432 لـ PostgreSQL أو 3306 لـ MySQL).
- مهم: تأكد من أن endpoint مثيل RDS المستخدم في حالة DB Cluster/Aurora هو WRITER Endpoint فقط، وليس endpoint العام.
- تأكد من استخدام بروتوكول TCP لتجنّب إنهاء TLS بواسطة NLB.
-
عيّن منفذ listener
- يجب أن يطابق منفذ listener الخاص بـ load balancer المنفذ الذي تستخدمه مجموعة الهدف (عادةً 5432 لـ PostgreSQL أو 3306 لـ MySQL).
-
أنشئ VPC Endpoint Service
- في VPC، أنشئ endpoint service يشير إلى NLB.
- فعّل قبول طلبات connection من حسابات محددة.
-
امنح ClickPipes إذن استخدام Endpoint Service
- امنح permission لحساب ClickPipes لطلب endpoint service هذا.
- اضبط Principals المسموح بها بإضافة معرّف principal التالي:
arn:aws:iam::072088201116:root
- اضبط Principals المسموح بها بإضافة معرّف principal التالي:
- امنح permission لحساب ClickPipes لطلب endpoint service هذا.
-
عطّل "Enforce Security Group Inbound Rules on Private Link Traffic" على NLB (إذا كانت Security Group مرفقة بـ NLB)
- انتقل إلى إعدادات NLB وعطّل خيار "Enforce Security Group Inbound Rules on Private Link Traffic" إذا كانت Security Group مرفقة بـ NLB.
- إذا كنت تستخدم Terraform، فاضبط الخاصية
enforce_security_group_inbound_rules_on_private_link_trafficعلىoffلـ NLB - هذا الإعداد مطلوب للسماح بمرور الزيارات من ClickPipes VPC إلى NLB.
-
اختياري: فعّل دعم cross-region إذا كانت Region قاعدة البيانات مختلفة عن Region الخاصة بـ ClickPipes
- ضمن
Endpoint Servicesفي VPC Console، حدِّد endpoint service الخاص بك. - انقر على زر
ActionsواخترModify supported Regions. - أضف المناطق التي تريد السماح لها بالوصول إلى endpoint service، راجع هنا للاطلاع على قائمة مناطق ClickPipes.
- ضمن
-
موصى به لـ MySQL
- إذا كنت تستخدم MySQL، فمن المستحسن تعيين
skip_name_resolve=1كمعلمة في source database. بسبب فحوصات السلامة المتكررة من NLB، سيحظر MySQL مضيفي NLB. ويؤدي تعيين هذه المعلمة إلى تعطيل lookup لاسم مضيف DNS بالكامل، وبالتالي لن يحظر مضيفي NLB مطلقًا. وإذا كنت تستخدم RDS، فسيتطلب ذلك إعادة تشغيل المثيل.
- إذا كنت تستخدم MySQL، فمن المستحسن تعيين
بدء الاتصال
عند اكتمال ذلك، يمكنك اتباع الدليل لبدء الاتصال
بمجرد أن تظهر الحالة Ready في Console، يمكنك الانتقال إلى القسم التالي لإنشاء ClickPipe.
إنشاء ClickPipes
استخدم اسم DNS الذي حصلت عليه في الخطوة السابقة لإنشاء ClickPipe.
التحديث الديناميكي لعنوان IP لنقطة نهاية RDS
عندما يتغير عنوان IP لنقطة نهاية RDS (بسبب إعادة التشغيل/التحويل التلقائي عند الفشل/التحديثات)، تحتاج إلى تحديث مجموعة أهداف NLB باستخدام عنوان IP الجديد. يمكنك أتمتة هذه العملية باستخدام AWS Lambda functions أو أدوات أتمتة أخرى.