البرنامج التعليمي: كيفية الوصول إلى SQL Server محلي من مصنع البيانات المدارة VNet باستخدام نقطة نهاية خاصة

يوفر هذا البرنامج التعليمي خطوات لاستخدام مدخل Microsoft Azure لإعداد Private Link Service والوصول إلى SQL Server المحلي من شبكة ظاهرية مدارة باستخدام نقطة نهاية خاصة. يضمن استخدام شبكة ظاهرية مدارة أن نسبة استخدام الشبكة من وإلى مصدر SQL المحلي الخاص بك ستمر عبر نقطة النهاية الخاصة بك، وبالتالي تأمين التعرض للسحابة العامة مع طبقة إضافية من الأمان والعزل. الموارد المطلوبة المذكورة أدناه ضرورية لدعم السيناريو.

إشعار

يصف الحل المعروض في هذه المقالة اتصال SQL ،Server ولكن يمكنك استخدام أسلوب مشابه للاتصال والاستعلام عن الموصلات المحلية الأخرى المتوفرة والمدعومة في Azure Data Factory.

لقطة شاشة تعرض نموذج الوصول SQL server.

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

  • اشتراك Azure. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
  • الشبكة الظاهرية . إذا كنت لا تمتلك شبكة ظاهرية فأنشئ التالي Create Virtual Network.
  • شبكة ظاهرية على شبكة محلية. أنشئ اتصالاً بين الشبكة الظاهرية والشبكة المحلية إما باستخدام ExpressRoute وإما VPN. إذا كنت تفضل استخدام جهاز ظاهري سحابي في شبكة خاصة، يمكنك القيام بذلك أيضا. ما عليك سوى إنشاء شبكة ظاهرية للأجهزة الظاهرية السحابية وارتباط خاص بالشبكة الظاهرية ويمكنك الوصول إليها كما لو كانت أجهزة محلية في شبكتك الخاصة على الرغم من استضافتها في السحابة.
  • مصنع البيانات مع تمكين VNet المدارة. إذا لم يكن لديك مصنع بيانات أو كانت VNet المدارة غير مفعلة، فأنشئ واحداً من خلال إنشاء مصنع بيانات مع VNet مدار.

إنشاء شبكات فرعية للموارد

استخدم المدخل لإنشاء شبكات فرعية في الشبكة الظاهرية.

الشبكة الفرعية ‏‏الوصف
be-subnet الشبكة الفرعية للخوادم الخلفية
fe-subnet الشبكة الفرعية لموازن التحميل الداخلي القياسي
pls-subnet الشبكة الفرعية لـ Private Link Service

لقطة شاشة تظهر صفحة الشبكة الفرعية.

أنشئ موازن تحميل قياسي

استخدم المدخل لإنشاء موازن تحميل داخلي قياسي.

  1. في الجانب العلوي الأيسر من الشاشة، حدد Create a resource > Networking > Load Balancer.

  2. في علامة التبويب "Basics" لصفحة "Create load balancer"، أدخل المعلومات التالية أو حددها:

    الإعداد القيمة‬
    الاشتراك حدد Subscription الخاص بك.
    مجموعة الموارد حدد مجموعة الموارد الخاصة بك.
    الاسم أدخل myLoadBalancer.
    المنطقة حدد East US.
    نوع حدد Internal.
    وحدة حفظ المخزون SKU حدد قياسي.
    الشبكة الظاهرية حدد شبكتك الظاهرية.
    الشبكة الفرعية حدد fe-subnet التي تم إنشاؤها في الخطوة السابقة.
    تعيين عنوان IP حدد Dynamic.
    مناطق التوفّر حدد "Zone-redundant".
  3. اقبل الإعدادات الافتراضية للإعدادات المتبقية، ثم حدد Review + create.

  4. حدد Review + create من علامة التبويب، حدد Create.

    Screenshot تظهر خطوة إنشاء موازن تحميل قياسي.

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

إنشاء مجموعة الواجهة الخلفية

تحتوي عناوين المجموعة الخلفية على عناوين IP الخاصة ببطاقة واجهات الشبكة الظاهرية (NICs) المتصلة بموازن التحميل.

قم بإنشاء تجمع عناوين الخلفية myBackendPool لتشمل الأجهزة الظاهرية لحركة مرور موازن التحميل عبر الإنترنت.

  1. حدد All services من القائمة اليسرى ثم حدد All resources، وبعد ذلك حددmyLoadBalancer من قائمة المصادر.
  2. ضمن الإعدادات، حدد تجمعات الخلفية، ثم حدد إضافة.
  3. في صفحة إضافة مجموعة الخلفية، للاسم، اكتب myBackendPool، كاسم لمجموعة الخلفية، ثم حددإضافة.

إنشاء فحوصات السلامة

يُراقب موازن التحميل حالة تطبيقك باستخدام فحوصات السلامة.

يضيف فحص السلامة الأجهزة الظاهرية أو يزيلها من موازنة التحميل بناءً على استجابتها لفحوصات السلامة.

قم بإنشاء فحص سلامة باسم myHealthProbe لمراقبة صحة الأجهزة الظاهرية.

  1. حدد All services من القائمة اليسرى ثم حدد All resources، وبعد ذلك حددmyLoadBalancer من قائمة المصادر.

  2. أسفل الإعدادات، حددفحوصات السلامة، ثم حدد إضافة.

    الإعداد القيمة‬
    الاسم أدخِل myHealthProbe.
    البروتوكول حدد TCP.
    المنفذ أدخل 22.
    الفاصل الزمني أدخِل 15 لعدد الفاصل الزمني بالثواني بين محاولات الفحوصات.
    حد غير سليم حدد 2 لعدد من الحد Unhealthy أو فشل تحقيق الفحوصات المتتالية التي يجب أن تحدث قبل اعتبار الجهاز الظاهري غير سليم.
  3. اترك بقية الإعدادات الافتراضية، وحدد OK.

إنشاء قاعدة موازن التحميل

قاعدة موازنة التحميل التي تُستخدم لتعريف كيفية توزيع حركة المرور على الأجهزة الظاهرية. تقوم بتعريف تكوين IP الخاص بالواجهة الأمامية لنسبة استخدام الشبكة الواردة ومجموعة IP الخاصة بالواجهة الخلفية لتلقّي نسبة استخدام الشبكة. يُعرَّف المنفذ المصدر والوجهة في القاعدة.

في هذا القسم، ستنشئ قاعدة موازن التحميل:

  1. حدد All services من القائمة اليسرى ثم حدد All resources، وبعد ذلك حددmyLoadBalancer من قائمة المصادر.

  2. أسفل الإعدادات، حدد قواعد موازنة التحميل، ثم حدد إضافة.

  3. استخدم هذه القيم لتكوين قاعدة موازنة التحميل:

    الإعداد القيمة‬
    الاسم أدخل myRule.
    IP Version حدد IPv4.
    عنوان IP للواجهة الأمامية حدد LoadBalancerFrontend.
    البروتوكول حدد TCP.
    المنفذ أدخل 1433.
    منفذ خلفي أدخل 1433.
    مجموعة خلفية حدد «myBackendPool».
    فحص سلامة حدد myHealthProbe.
    مهلة الخمول (دقائق) حرك شريط التمرير إلى 15 دقيقة.
    إعادة تعيين TCP حدد «Disabled».
  4. اترك بقية الإعدادات الافتراضية، وحدد "OK".

في هذا القسم، ستقوم بإنشاء خدمة Private Link خلف موازن تحميل قياسي.

  1. في الجزء العلوي الأيمن من الصفحة في مدخل Azure، حدد Create a resource.

  2. البحث عن Private Link في المربع Search the Marketplace.

  3. حدد إنشاء.

  4. في Overview ضمن Private Link Center، حدد الزر الأزرق Create private link service

  5. في علامة التبويب Basics ضمن Create private link serviceأدخل أو حدد المعلومات التالية:

    الإعداد القيمة‬
    تفاصيل المشروع
    الاشتراك حدد Subscription الخاص بك.
    مجموعة الموارد حدد مجموعة الموارد الخاصة بك.
    تفاصيل المثيل
    الاسم أدخل myPrivateLinkService.
    المنطقة حدد East US.
  6. حدد علامة تبويب Outbound Settings، أو حدد Next: Outbound Settings أسفل الصفحة.

  7. في علامة التبويب Outbound Settings، أدخل أو حدد المعلومات التالية:

    الإعداد القيمة‬
    موازن التحميل حدد myLoadBalancer.
    تحميل عنوان IP الأمامي لموازن التحميل حدد LoadBalancerFrontend.
    الشبكة الفرعية NAT المصدر حدد pls-subnet.
    تمكين وكيل TCP V2 اترك الإعداد الافتراضي No.
    إعدادات عنوان IP الخاص
    اترك الإعدادات الافتراضية.
  8. حدد علامة تبويب Access security، أو حدّد "Next: Security" أسفل الصفحة.

  9. اترك الإعداد الافتراضي Role-based access control only في علامة التبويبAccess security.

  10. حدد علامة التبويب Tags أو حدد Next: Tags أسفل الصفحة.

  11. حدد علامة التبويب Review + create، أو حدد Next: Review + create في أسفل الصفحة.

  12. حدد Create في علامة التبويب Review + create.

إنشاء خوادم خلفية

  1. في الجانب الأيسر العلوي للمدخل، حدد Create a resource > حساب > جهاز ظاهري.

  2. ضمن إنشاء جهاز ظاهري، اكتب أو حدد القيم في علامة التبويب الأساسيات:

    الإعداد القيمة‬
    تفاصيل المشروع
    الاشتراك حدد اشتراك Azure الخاص بك.
    مجموعة الموارد حدد مجموعة الموارد الخاصة بك.
    تفاصيل المثيل
    اسم الجهاز الظاهري أدخل myVM1
    المنطقة حدد East US.
    خيارات التوفر حدد "Availability zones".
    مناطق التوفّر حدد 1.
    Image حدد Ubuntu Server 22.04 LTS.
    مثيل Azure Spot حدد لا.
    الحجم اختر حجم الجهاز الظاهري أو استخدم الإعداد الافتراضي.
    حساب المسؤول
    اسم مستخدم أدخل username.
    مصدر المفتاح العام SSH أنشئ زوجاً جديداً من المفاتيح.
    اسم زوج المفاتيح mySSHKey.
    قواعد المنفذ الوارد
    المنافذ العامة الواردة بلا
  3. حدد علامة التبويب Networking، أو حدد Next: Disks، ثم Next: Networking.

  4. في علامة تبويب الشبكة، حدد أو أدخل:

    الإعداد القيمة‬
    واجهة الشبكة
    الشبكة الظاهرية حدد شبكتك الظاهرية.
    الشبكة الفرعية be-subnet.
    عنوان IP عام حدد لا شيء.
    المجموعة الأمنية للشبكة NIC حدد لا شيء.
    موازنة الأحمال
    ضع هذا الجهاز الظاهري خلف حل موازنة التحميل الحالي؟ حدد نعم.
    إعدادات موازنة التحميل
    خيارات موازن التحميل حدد Azure load balancing.
    تحديد load balancer حدد myLoadBalancer.
    حدد "backend pool" حدد «myBackendPool».
  5. حدد "Review + create".

  6. راجع الإعدادات، ثم حدّد "إنشاء".

  7. يمكنك تكرار الخطوات من 1 إلى 6 للحصول على أكثر من 1 خادم خلفية للجهاز الظاهري لـ HA.

إنشاء قاعدة إعادة التوجيه إلى نقطة النهاية

  1. تسجيل الدخول ونسخ البرنامج النصي ip_fwd.sh إلى خادمك الخلفي للأجهزة الظاهرية.

  2. تشغيل البرنامج النصي مع الخيارات التالية:

    sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    

    تعيين العنصر النائب <FQDN/IP> هو عنوان IP ل SQL Server الهدف.

    إشعار

    لا يعمل FQDN على SQL Server المحلي، إلا إذا أضفت سجل في منطقة Azure DNS.

  3. قم بتشغيل الأمر التالي وتحقق من iptables في الأجهزة الظاهرية للخادم الخلفي. يمكنك أن ترى سجلاً واحداً في iptables الخاص بك مع هدفك في IP.

    sudo iptables -t nat -v -L PREROUTING -n --line-number**
    

    Screenshot تظهر سجل الأمر.

    إشعار

    إذا كان لديك أكثر من SQL Server أو مصادر بيانات، فستحتاج إلى تعريف قواعد موازن تحميل متعددة وسجلات جدول IP بمنافذ مختلفة. وإلا ظهر بعض التعارض. على سبيل المثال،

    قاعدة المنفذ في موازن التحميل قاعدة المنفذ الخلفي في موازن التحميل تشغيل الأمر في الخادم الخلفي للجهاز الظاهري
    1SQL Server 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    SQL Server 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433

    إشعار

    من المهم أن تدرك أن التكوين داخل الجهاز الظاهري (VM) غير دائم. وهذا يعني أنه في كل مرة يتم فيها إعادة تشغيل الجهاز الظاهري، سيتطلب إعادة التكوين.

  1. حدد All services من القائمة اليسرى، وحدد All resources، ثم حدد data factory الخاصة بك من قائمة الموارد.

  2. حددAuthor & Monitor لإطلاق واجهة مستخدم Data Factory في علامة تبويب منفصلة.

  3. انتقل إلى علامة التبويب Manage ثم انتقل إلى قسم Managed private endpoints.

  4. حدد + New ضمن نقاط النهاية الخاصة المدارة.

  5. حدد لوحةPrivate Link Service من القائمة وحدد Continue.

  6. أدخل اسم نقطة النهاية الخاصة وحدد myPrivateLinkService في قائمة خدمة الرابط الخاص.

  7. <FQDN> أضف من هدفك SQL Server المحلي.

    Screenshot تعرض نقطة النهاية الخاصة.

    إشعار

    عند نشر SQL Server على جهاز ظاهري داخل شبكة ظاهرية، من الضروري تحسين FQDN الخاص بك عن طريق إلحاق ارتباط خاص. وإلا، سيتم تعارضه مع السجلات الأخرى في إعداد DNS. على سبيل المثال، يمكنك ببساطة تعديل FQDN SQL Server من sqlserver.westus.cloudapp.azure.net إلى sqlserver.privatelink.westus.cloudapp.azure.net.

  8. أنشئ نقطة نهاية خاصة.

إنشاء خدمة مرتبطة واختبر الاتصال

  1. انتقل إلى علامة تبويب إدارة ثم انتقل إلى قسم الخدمات المرتبطة.

  2. أسفل Linked service، حدد "New".

  3. حدد لوحة SQL Server من القائمة، وحدد Continue.

    تعرض Screenshot صفحة إنشاء الخدمة المرتبطة.

  4. تمكين التأليف التفاعلي.

    توضح لقطة شاشة طريقة تفعيل التأليف التفاعلي.

  5. أدخل FQDN من SQL Server المحلي واسم المستخدموكلمة المرور.

  6. ثم انقر فوق Test connection.

    تعرض لقطة شاشة صفحة إنشاء الخدمة المرتبطة بـSQL server.

    إشعار

    إذا كان لديك أكثر من خادم SQL وتحتاج إلى تحديد قواعد موازن تحميل متعددة وسجلات جدول IP بمنافذ مختلفة، فتأكد من إضافة اسم المنفذ بشكل صريح بعد FQDN عند تحرير الخدمة المرتبطة. سيتولى الجهاز الظاهري NAT ترجمة المنفذ. إذا لم يتم تحديده بشكل صريح، فستنتهي مهلة الاتصال دائمًا.

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

انتقل إلى الجهاز الظاهري لخادم الواجهة الخلفية، وتأكد من أن خادم SQL Server يعمل في telnet: telnet <FQDN> 1433.

انتقل إلى البرنامج التعليمي التالي لمعرفة المزيد حول الوصول إلى مثيل Microsoft Azure SQL المدار من VNet المدارة من مصنع البيانات باستخدام نقطة نهاية خاصة: