البرنامج التعليمي: ترحيل RDS PostgreSQL إلى Azure DB لـ PostgreSQL عبر الإنترنت باستخدام DMS

يمكنك استخدام Azure Database Migration Service لترحيل قواعد البيانات من مثيل RDS PostgreSQL إلى Azure Database for PostgreSQL بينما تظل قاعدة البيانات المصدر متصلة أثناء الترحيل. بمعنى آخر، يمكن تحقيق الترحيل بأقل وقت تعطل للتطبيق. في هذا البرنامج التعليمي، تقوم بترحيل نموذج قاعدة بيانات DVD Rentalمن مثيل RDS PostgreSQL 9.6 إلى Azure Database for PostgreSQL باستخدام نشاط الترحيل عبر الإنترنت في Azure Database Migration Service.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • قم بترحيل نموذج مخطط باستخدام الأداة المساعدة pg_dump.
  • إنشاء مثيل لخدمة Azure Database Migration Service.
  • أنشئ مشروع ترحيل باستخدام Azure Database Migration Service.
  • شغّل الترحيل.
  • مراقبة الترحيل.
  • تنفيذ قطع الترحيل.

ملاحظة

يتطلب استخدام Azure Database Migration Service لإجراء الترحيل عبر الإنترنت إنشاء مثيل بناءً على فئة تسعير Premium. لمزيد من المعلومات، راجع صفحة التسعير لـ Azure Database Migration Service. نقوم بتشفير القرص لمنع سرقة البيانات أثناء عملية الترحيل.

هام

للحصول على تجربة ترحيل مثالية، توصي Microsoft بإنشاء مثيل لـAzure Database Migration Service في نفس منطقة Azure مثل قاعدة البيانات الهدف. يمكن أن يؤدي نقل البيانات عبر المناطق الصغيرة أو المناطق الجغرافية الكبيرة إلى إبطاء عملية الترحيل وإحداث أخطاء.

تلميح

في Azure Database Migration Service، يمكنك ترحيل قواعد البيانات الخاصة بك دون اتصال أو أثناء اتصالها بالإنترنت. في الترحيل دون اتصال ، يبدأ وقت تعطل التطبيق عند بدء الترحيل. للحد من وقت التوقف عن العمل بالوقت الذي يستغرقه الانتقال إلى البيئة الجديدة بعد الترحيل، استخدم الترحيل عبر الإنترنت . نوصي باختبار الترحيل دون اتصال لتحديد ما إذا كان وقت التعطل مقبولا. إذا لم يكن وقت التعطل المتوقع مقبولا، فقم بالترحيل عبر الإنترنت.

توضح هذه المقالة كيفية إجراء ترحيل عبر الإنترنت من مثيل محلي لـ PostgreSQL إلى Azure Database for PostgreSQL.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي، تحتاج إلى:

  • قم بتنزيل وتثبيت إصدار مجتمع PostgreSQL 9.5 أو 9.6 أو 10. يجب أن يكون إصدار PostgreSQL Server المصدر 9.5.11 أو 9.6.7 أو 10 أو أحدث. لمزيد من المعلومات، راجع المقالة إصدارات PostgreSQL Database المدعومة.

    لاحظ أيضًا أن Azure Database المستهدفة لإصدار PostgreSQL يجب أن تكون مساوية لإصدار RDS PostgreSQL أو أحدث منه. على سبيل المثال، يمكن لـ RDS PostgreSQL 9.6 الترحيل فقط إلى Azure Database for PostgreSQL 9.6 أو 10 أو 11، ولكن ليس إلى Azure Database for PostgreSQL 9.5.

  • أنشئ مثيلًا من Azure Database for PostgreSQL أو Azure Database for PostgreSQL - Hyperscale (Citus). راجع هذا القسممن المستند للحصول على تفاصيل حول كيفية الاتصال بخادم PostgreSQL باستخدام pgAdmin.

  • قم بإنشاء Microsoft Azure Virtual Network for Azure Database Migration Service باستخدام نموذج نشر Azure Resource Manager، والذي يوفر اتصالًا من موقع إلى موقع بالخوادم المصدر المحلية باستخدام إما ExpressRoute أو VPN. لمزيد من المعلومات حول إنشاء شبكة ظاهرية، راجع وثائق الشبكة الظاهرية، خاصة مقالات البداية السريعة التي تحتوي على تفاصيل خطوة بخطوة.

  • تأكد من أن قواعد Network Security Group لشبكتك الظاهرية لا تحظر المنفذ الصادر 443 من ServiceTag لـ ServiceBus وStorage وAzureMonitor. لمزيد من التفاصيل حول تصفية حركة مرور الشبكة الظاهرية NSG، راجع المقالة تصفية حركة مرور الشبكة باستخدام مجموعات أمان الشبكة.

  • قم بتكوين جدار حماية Windows للوصول إلى محرك قاعدة البيانات.

  • افتح جدار حماية Windows للسماح لـ Azure Database Migration Service بالوصول إلى خادم PostgreSQL المصدر، والذي يكون منفذ TCP 5432 افتراضيًّا.

  • عند استخدام جهاز جدار حماية أمام قاعدة (قواعد) البيانات المصدر، قد تحتاج إلى إضافة قواعد جدار الحماية للسماح لـ Azure Database Migration Service بالوصول إلى قاعدة (قواعد) البيانات المصدر للترحيل.

  • أنشئ قاعدة جدار حماية على مستوى الخادم لـ خادم Azure Database for PostgreSQL للسماح لـ Azure Database Migration Service بالوصول إلى قواعد البيانات الهدف. قم بتوفير نطاق الشبكة الفرعية للشبكة الافتراضية المستخدمة لـ Azure Database Migration Service.

قم بإعداد AWS RDS PostgreSQL للنسخ المتماثل

  1. لإنشاء مجموعة معلمات جديدة، اتبع الإرشادات المقدمة من AWS في المقالة العمل مع مجموعات معلمات قاعدة البيانات.

  2. استخدم اسم المستخدم الرئيسي للاتصال بالمصدر من Azure Database Migration Service. إذا كنت تستخدم حسابًا غير حساب المستخدم الرئيسي، فيجب أن يكون للحساب دور rds_superuser ودور rds_replication. يمنح دور rds_replication أذونات لإدارة الفتحات المنطقية وتدفق البيانات باستخدام فتحات منطقية.

  3. قم بإنشاء مجموعة معلمات جديدة بالتكوين التالي:

    أ. اضبط معلمة rds.logical_replication في مجموعة معلمات قاعدة البيانات على 1.

    ب. max_wal_senders = [عدد المهام المتزامنة] - يحدد معامل max_wal_senders عدد المهام المتزامنة التي يمكن تشغيلها، ويوصي بـ 10 مهام.

    ج. max_replication_slots - = [عدد الفتحات]، نوصي بالتعيين على خمس فتحات.

  4. إقران مجموعة المعلمات التي قمت بإنشائها بمثيل RDS PostgreSQL.

ترحيل المخطط

  1. استخرج المخطط من قاعدة البيانات المصدر وطبقه على قاعدة البيانات الهدف لإكمال ترحيل جميع كائنات قاعدة البيانات مثل مخططات الجدول والفهارس والإجراءات المخزنة.

    أسهل طريقة لترحيل مخطط قاعدة البيانات فقط هي استخدام pg_dump مع الخيار s-. لمزيد من المعلومات، راجع الأمثلة في البرنامج التعليمي Postgres pg_dump.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    على سبيل المثال، لتفريغ ملف مخطط لقاعدة بيانات dvdrental، استخدم الأمر التالي:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    
  2. أنشئ قاعدة بيانات فارغة في الخدمة الهدف، وهي Azure Database for PostgreSQL. للاتصال بقاعدة بيانات وإنشائها، يُرجى الرجوع إلى إحدى المقالات التالية:

  3. قم باستيراد المخطط إلى الخدمة المستهدفة، وهي Azure Database for PostgreSQL. لاستعادة ملف تفريغ المخطط، قم بتشغيل الأمر التالي:

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    على سبيل المثال:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d dvdrental < dvdrentalSchema.sql
    

ملاحظة

تتعامل خدمة الترحيل داخليًّا مع تمكين/ تعطيل المفاتيح والمشغلات الخارجية لضمان ترحيل بيانات موثوق وقوي. ونتيجة لذلك، لا داعي للقلق بشأن إجراء أي تعديلات على مخطط قاعدة البيانات الهدف.

تسجيل موفر الموارد

قم بتسجيل موفر موارد Microsoft.DataMigration قبل إنشاء المثيل الأول لخدمة ترحيل قاعدة البيانات.

  1. سجّل الدخول إلى مدخل Azure. ابحث عن الاشتراكات وحددها.

    إظهار اشتراكات المدخل

  2. حدد الاشتراك الذي تريد إنشاء مثيل لـ Azure Database Migration Service فيه، ثم حدد موفرو الموارد.

    إظهار موفري الموارد

  3. ابحث عن الترحيل، ثم حدد تسجيل لـ Microsoft.DataMigration.

    سجل مزود الموارد

قم بإنشاء مثيل لـ Azure Database Migration Service

  1. في مدخل Microsoft Azure، حدد + Create a resource، وابحث عن Azure Database Migration Service، ثم حدد Azure Database Migration Serviceمن القائمة المنسدلة.

    Azure Marketplace

  2. في شاشة Azure Database Migration Service، حدد Create.

    إنشاء مثيل Azure Database Migration Service

  3. في شاشة ⁧⁩Create Migration Service⁧⁩، حدد اسمًا للخدمة والاشتراك ومجموعة موارد جديدة أو حالية.

  4. حدد الموقع الذي تريد إنشاء مثيل لـ Azure Database Migration Service فيه.

  5. حدد شبكة ظاهرية موجودة أو قم بإنشاء شبكة جديدة.

    توفر الشبكة الظاهرية Azure Database Migration Service مع إمكانية الوصول إلى مثيل PostgreSQL المصدر وAzure Database المستهدفة لمثيل PostgreSQL.

    لمزيد من المعلومات حول كيفية إنشاء شبكة ظاهرية في مدخل Microsoft Azure، راجع المقالة إنشاء شبكة ظاهرية باستخدام مدخل Microsoft Azure.

  6. حدد فئة التسعير؛ لهذا الترحيل عبر الإنترنت، تأكد من تحديد طبقة التسعير Premium: 4vCores.

    تكوين إعدادات مثيل Azure Database Migration Service

  7. حدد ⁧⁩Create⁧⁩ لإنشاء الخدمة.

إنشاء مشروع ترحيل

بعد إنشاء الخدمة، حدد موقعها داخل مدخل Microsoft Azure، وافتحها، ثم أنشئ مشروع ترحيل جديد.

  1. في مدخل Microsoft Azure، حدد ⁧⁩All services⁧⁩ وابحث عن Azure Database Migration Service، ثم حدد ⁧⁩Azure Database Migration Service⁧⁩.

    حدد موقع جميع مثيلات Azure Database Migration Service

  2. في شاشة خدمات ترحيل Azure Database، ابحث عن اسم مثيل Azure Database Migration Service الذي قمت بإنشائه، وحدد المثيل، ثم حدد + New Migration Project.

  3. في شاشة مشروع ترحيل جديد، حدد اسمًا للمشروع، في مربع النص Source server type، حدد AWS RDS لـ PostgreSQL، ثم في مربع النص Target server type، حدد Azure Database for PostgreSQL.

  4. في قسم Choose type of activity، حدد Online data migration.

    هام

    تأكد من تحديد ترحيل البيانات عبر الإنترنت ؛ عمليات الترحيل في وضع عدم الاتصال غير مدعومة في هذا السيناريو.

    إنشاء مشروع خدمة ترحيل قاعدة البيانات

    ملاحظة

    بدلاً من ذلك، يمكنك اختيار إنشاء مشروع فقط لإنشاء مشروع الترحيل الآن وتنفيذ الترحيل لاحقًا.

  5. حدد ⁧حفظ⁧.

  6. حدد Create and run activity لإنشاء المشروع وتشغيل نشاط الترحيل.

    ملاحظة

    يرجى تدوين المتطلبات المسبقة اللازمة لإعداد الترحيل عبر الإنترنت في شفرة إنشاء المشروع.

قم بتحديد تفاصيل المصدر.

  • في شاشة ⁧⁩إضافة تفاصيل المصدر⁧⁩، حدد تفاصيل الاتصال لمثيل PostgreSQL المصدر.

    تفاصيل المصدر

قم بتحديد تفاصيل الهدف.

  1. حدد Save، ثم في شاشة تفاصيل الهدف، حدد تفاصيل الاتصال لـAzure Database المستهدفة لخادم PostgreSQL، والتي يتم توفيرها مسبقًا ويحتوي على مخطط DVD Rentals الذي تم نشره باستخدام pg_dump.

    تفاصيل الهدف

  2. حدد ⁧⁩حفظ⁧⁩، ثم على ⁧⁩الخريطة لاستهداف قواعد البيانات،⁧⁩ قم بتعيين المصدر وقاعدة البيانات الهدف للهجرة.

    في حال كانت قاعدة البيانات الهدف تحتوي على نفس اسم قاعدة البيانات مثل قاعدة البيانات المصدر، فإن Azure Database Migration Service تحدد قاعدة البيانات الهدف افتراضيًا.

    خريطة لاستهداف قواعد البيانات

  3. حدد ⁧⁩حفظ⁧⁩، على شاشة ⁧⁩ملخص الترحيل،⁧⁩ في مربع النص ⁧⁩اسم النشاط،⁧⁩ وحدد اسمًا لنشاط الترحيل، ثم راجع الملخص للتأكد من تطابق تفاصيل المصدر والهدف مع ما حددته سابقا.

    ملخص الهجرة

تشغيل الترحيل

  • حدد ⁧Run migration⁧.

    تظهر نافذة نشاط الترحيل، وتكون حالة النشاط هي التهيئة.

مراقبة الترحيل

  1. في شاشة نشاط الترحيل، حدد Refresh لتحديث العرض حتى تظهر حالة الترحيل على أنها قيد التشغيل.

    حالة النشاط - قيد التشغيل

  2. ضمن DATABASE NAME، حدد قاعدة بيانات معينة للوصول إلى حالة الترحيل من أجل تحميل البيانات الكامل و Full data load عمليات.

    يعرض التحميل الكامل للبيانات حالة ترحيل التحميل الأولي، بينما تعرض مزامنة البيانات المتزايدة حالة التقاط البيانات (CDC) المتغيرة.

    شاشة الجرد - تحميل كامل للبيانات

    شاشة الجرد - مزامنة البيانات المتزايدة

قم بإجراء انتقال الترحيل

بعد اكتمال التحميل الكامل الأولي، يتم تمييز قواعد البيانات بعلامة جاهزة للتحويل.

  1. عندما تكون مستعدًّا لإكمال ترحيل قاعدة البيانات، حدد Start Cutover.

  2. انتظر حتى يظهر عداد التغييرات المعلقة0 للتأكد من إيقاف جميع المعاملات الواردة إلى قاعدة البيانات المصدر، حدد Confirm، ثم حدد Apply.

    شاشة قطع كاملة

  3. عندما تظهر حالة ترحيل قاعدة البيانات مكتمل، قم بتوصيل تطبيقاتك بـ Azure Database المستهدفة الجديدة لـ PostgreSQL Database.

اكتمل الآن ترحيلك عبر الإنترنت لمثيل محلي لـ RDS PostgreSQL إلى Azure Database for PostgreSQL.

الخطوات التالية