إصدارات Postgres المدعومة
تدعم ClickPipes إصدار Aurora المتوافق مع PostgreSQL، الإصدار 12 وما بعده.
تمكين النسخ المتماثل المنطقي
يمكنك تخطي هذا القسم إذا كان مثيل Aurora لديك مُعدًّا بالفعل بالإعدادات التالية:
rds.logical_replication = 1
عادةً ما يكون هذا الإعداد مُعدًّا مسبقًا إذا كنت قد استخدمت سابقًا أداة أخرى لنسخ البيانات.
postgres=> SHOW rds.logical_replication ;
rds.logical_replication
-------------------------
on
(1 row)إذا لم يكن هذا مُعدًّا بالفعل، فاتبع الخطوات التالية:
- أنشئ مجموعة معلمات جديدة لإصدار Aurora PostgreSQL لديك بالإعداد المطلوب:
- اضبط
rds.logical_replicationعلى 1
- اضبط


- طبّق مجموعة المعلمات الجديدة على عنقود Aurora PostgreSQL لديك

- أعد تشغيل عنقود Aurora لتطبيق التغييرات

إعداد مستخدم قاعدة البيانات
اتصل بمثيل الكتابة في Aurora PostgreSQL كمستخدم مسؤول، ثم نفّذ الأوامر التالية:
-
أنشئ مستخدمًا مخصصًا لـ ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password'; -
امنح المستخدم الذي أنشأته في الخطوة السابقة صلاحية وصول للقراءة فقط على مستوى الـ schema. يوضّح المثال التالي الأذونات الخاصة بـ schema
public. كرر هذه الأوامر لكل schema يحتوي على الجداول التي تريد تكرارها:GRANT USAGE ON SCHEMA "public" TO clickpipes_user; GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user; ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user; -
امنح المستخدم امتيازات النسخ المتماثل:
GRANT rds_replication TO clickpipes_user; -
أنشئ publication يتضمن الجداول التي تريد تكرارها. نوصي بشدة بقصر الـ publication على الجداول التي تحتاج إليها فقط لتجنّب أي حمل إضافي على الأداء.
-
لإنشاء publication لجداول محددة:
CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;-
لإنشاء publication لجميع الجداول ضمن schema محدد:
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
يحدّد الـ publication المسمى clickpipes مجموعة الجداول التي ستُبث أحداث التغيير الخاصة بها إلى ClickPipes. نوصي بعدم استخدام FOR ALL TABLES إلا إذا كنت تنوي تكرار كل table، لأن تضمين جداول غير ضرورية يزيد من حركة WAL من Postgres إلى ClickPipes ويقلّل من الكفاءة الإجمالية للنسخ المتماثل.
استخدام مصادقة IAM (اختياري)
Instead of a password, you can authenticate the ClickPipes user with an AWS IAM role. This lets ClickPipes connect to your Amazon Aurora cluster without storing database credentials.
Enable IAM authentication
- Log in to your AWS account and go to the Aurora cluster you want to configure.
- Click Modify.
- Scroll to the Database authentication section.
- Select Password and IAM database authentication.
- Click Continue.
- Review the changes and select Apply immediately.
Create the ClickPipes user
Create the ClickPipes user with IAM authentication enabled, then grant it the same schema and replication privileges shown above:
CREATE USER clickpipes_iam_user;
GRANT rds_iam TO clickpipes_iam_user;Obtain the ClickHouse service IAM role ARN
- Log in to your ClickHouse Cloud account.
- Select the ClickHouse service you want to connect.
- Select the Settings tab.
- Scroll to the Network security information section at the bottom of the page.
- Copy the service's Service role ID (IAM) value, shown below.

This value is your {ClickHouse_IAM_ARN} — the role ClickPipes uses to access your Aurora cluster.
Obtain the resource ID
- Log in to your AWS account and go to the Aurora cluster you want to configure.
- Select the Configuration tab.
- Note the Resource ID value — it looks like
cluster-xxxxxxxxxxxxxx. This is your{RDS_RESOURCE_ID}, which you reference in the permissions policy.
Create the IAM role
- Log in to your AWS account with an IAM user that has permission to create and manage IAM roles.
- Open the IAM console.
- Create a new IAM role with the following trust and permissions policies.
Trust policy (replace
{ClickHouse_IAM_ARN}with the IAM role ARN of your ClickHouse instance):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "{ClickHouse_IAM_ARN}" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }Permissions policy (replace
{RDS_RESOURCE_ID}with the resource ID of your Aurora cluster,{RDS_REGION}with its region, and{AWS_ACCOUNT}with your AWS account ID):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:{RDS_REGION}:{AWS_ACCOUNT}:dbuser:{RDS_RESOURCE_ID}/clickpipes_iam_user" ] } ] } - Once the role is created, copy its ARN. This is your
{RDS_ACCESS_IAM_ROLE_ARN}.
You can now use this IAM role to authenticate with your Aurora cluster from ClickPipes.
إعداد الوصول إلى الشبكة
التحكم في الوصول المستند إلى IP
إذا كنت تريد تقييد حركة المرور الواردة إلى عنقود Aurora، فيُرجى إضافة عناوين IP الثابتة لـ NAT الواردة في الوثائق إلى Inbound rules في مجموعة الأمان الخاصة بـ Aurora.


الوصول الخاص عبر AWS PrivateLink
للاتصال بعنقود Aurora الخاص بك من خلال شبكة خاصة، يمكنك استخدام AWS PrivateLink. اتبع دليل إعداد AWS PrivateLink لـ ClickPipes لإعداد الاتصال.
اعتبارات خاصة بـ Aurora
عند إعداد ClickPipes مع Aurora PostgreSQL، ضع هذه الاعتبارات في حسبانك:
-
نقطة نهاية الاتصال: احرص دائمًا على الاتصال بـ نقطة نهاية الكتابة لعنقود Aurora لديك، لأن النسخ المتماثل المنطقي يتطلب صلاحية الكتابة لإنشاء replication slots، كما يجب أن يتصل بالمثيل الأساسي.
-
التعامل مع التحويل عند الفشل: في حال حدوث failover، سيقوم Aurora تلقائيًا بترقية مثيل قارئ ليصبح الكاتب الجديد. سيكتشف ClickPipes انقطاع الاتصال وسيحاول إعادة الاتصال بـ نقطة نهاية الكتابة، التي ستشير حينها إلى المثيل الأساسي الجديد.
-
قاعدة البيانات العالمية: إذا كنت تستخدم Aurora Global Database، فينبغي أن تتصل بـ نقطة نهاية الكتابة الخاص بالمنطقة الأساسية، لأن النسخ المتماثل عبر المناطق يتولى بالفعل نقل البيانات بين المناطق.
-
اعتبارات التخزين: تكون طبقة التخزين في Aurora مشتركة بين جميع المثيلات في العنقود، ما قد يوفّر أداءً أفضل للنسخ المتماثل المنطقي مقارنةً بـ RDS القياسي.
التعامل مع نقاط نهاية العنقود الديناميكية
في حين توفّر Aurora نقاط نهاية ثابتة تُوجِّه الاتصالات تلقائيًا إلى المثيل المناسب، فإليك بعض الأساليب الإضافية لضمان اتصال ثابت:
-
في عمليات الإعداد عالية التوافر، اضبط تطبيقك لاستخدام نقطة نهاية الكتابة في Aurora، والتي تُشير تلقائيًا إلى المثيل الأساسي الحالي.
-
إذا كنت تستخدم النسخ المتماثل عبر المناطق، ففكّر في إعداد ClickPipes منفصلة لكل Region لتقليل زمن الاستجابة وتحسين تحمّل الأعطال.
ما الخطوة التالية؟
يمكنك الآن إنشاء ClickPipe الخاص بك وبدء إدخال البيانات من عنقود Aurora PostgreSQL لديك إلى ClickHouse Cloud. احرص على تدوين تفاصيل الاتصال التي استخدمتها أثناء إعداد عنقود Aurora PostgreSQL، إذ ستحتاج إليها خلال عملية إنشاء ClickPipe.