الوصول العام في قاعدة بيانات Azure ل PostgreSQL - Hyperscale (Citus)

تدعم قاعدة بيانات Azure ل PostgreSQL – Hyperscale (Citus) ثلاثة خيارات للشبكات:

  • لا يمكن الوصول
    • هذا هو الإعداد الافتراضي لمجموعة خوادم تم إنشاؤها حديثا إذا لم يتم تمكين الوصول العام أو الخاص. لا يمكن لأي أجهزة كمبيوتر، سواء داخل Azure أو خارجه، الاتصال بعقد قاعدة البيانات.
  • الوصول العام
    • يتم تعيين عنوان IP عام لعقدة المنسق.
    • الوصول إلى عقدة المنسق محمي بواسطة جدار الحماية.
    • اختياريا، يمكن تمكين الوصول إلى جميع عقد العاملين. في هذه الحالة، يتم تعيين عناوين IP العامة إلى العقد العاملة ويتم تأمينها بواسطة جدار الحماية نفسه.
  • وصول خاص
    • يتم تعيين عناوين IP الخاصة فقط إلى عقد مجموعة الخوادم.
    • تتطلب كل عقدة نقطة نهاية خاصة للسماح للمضيفين في الشبكة الظاهرية المحددة بالوصول إلى عقد Hyperscale (Citus).
    • يمكن استخدام ميزات الأمان الخاصة بشبكات Azure الظاهرية مثل مجموعات أمان الشبكة للتحكم في الوصول.

عند إنشاء مجموعة خوادم Hyperscale (Citus)، يمكنك تمكين الوصول العام أو الخاص، أو اختيار الإعداد الافتراضي لعدم الوصول. بمجرد إنشاء مجموعة الخوادم، يمكنك اختيار التبديل بين الوصول العام أو الخاص، أو تنشيطهما في وقت واحد.

توضح هذه الصفحة خيار الوصول العام. للوصول الخاص، انظر هنا.

نظرة عامة على جدار الحماية

تمنع قاعدة بيانات Azure لجدار حماية خادم PostgreSQL كل الوصول إلى عقدة منسق Hyperscale (Citus) حتى تحدد أجهزة الكمبيوتر التي لديها إذن. يمنح جدار الحماية حق الوصول إلى الخادم استنادا إلى عنوان IP الأصلي لكل طلب. لتكوين جدار الحماية الخاص بك، يمكنك إنشاء قواعد جدار الحماية التي تحدد نطاقات عناوين IP المقبولة. يمكنك إنشاء قواعد جدار الحماية على مستوى الخادم.

قواعد جدار الحماية: تمكن هذه القواعد العملاء من الوصول إلى عقدة منسق Hyperscale (Citus)، أي كافة قواعد البيانات داخل نفس الخادم المنطقي. يمكن تكوين قواعد جدار الحماية على مستوى الخادم باستخدام مدخل Azure. لإنشاء قواعد جدار حماية على مستوى الخادم، يجب أن تكون مالك الاشتراك أو مساهم اشتراك.

يتم حظر كل الوصول إلى قاعدة البيانات إلى عقدة المنسق بواسطة جدار الحماية بشكل افتراضي. لبدء استخدام الخادم الخاص بك من كمبيوتر آخر، تحتاج إلى تحديد قاعدة جدار حماية واحدة أو أكثر على مستوى الخادم لتمكين الوصول إلى الخادم الخاص بك. استخدم قواعد جدار الحماية لتحديد عنوان IP الذي يتراوح من الإنترنت للسماح به. لا يتأثر الوصول إلى موقع مدخل Azure نفسه على الويب بقواعد جدار الحماية. يجب أن تمر محاولات الاتصال من الإنترنت وAzure أولا عبر جدار الحماية قبل أن تتمكن من الوصول إلى قاعدة بيانات PostgreSQL الخاصة بك، كما هو موضح في الرسم التخطيطي التالي:

Example flow of how the firewall works

الاتصال من الإنترنت ومن Azure

يتحكم جدار حماية مجموعة خادم Hyperscale (Citus) في إمكانية الاتصال بعقدة منسق المجموعة. يحدد جدار الحماية الوصول من خلال الرجوع إلى قائمة قواعد قابلة للتكوين. كل قاعدة عبارة عن عنوان IP أو نطاق من العناوين المسموح بدخولها.

عندما يقوم جدار الحماية بحظر الاتصالات ، فقد يتسبب ذلك في حدوث أخطاء في التطبيق. استخدام برنامج تشغيل PostgreSQL JDBC ، على سبيل المثال ، يثير خطأ مثل هذا:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "citus", database "citus", SSL

راجع إنشاء قواعد جدار الحماية وإدارتها لمعرفة كيفية تعريف القواعد.

استكشاف أخطاء جدار حماية خادم قاعدة البيانات وإصلاحها

عندما لا يتصرف الوصول إلى قاعدة بيانات Microsoft Azure لخدمة PostgreSQL - Hyperscale (Citus) كما تتوقع، ضع في اعتبارك النقاط التالية:

  • لم تدخل التغييرات التي تطرأ على قائمة السماح حيز التنفيذ بعد: قد يكون هناك تأخير يصل إلى خمس دقائق للتغييرات التي تطرأ على تكوين جدار الحماية Hyperscale (Citus) لتصبح سارية المفعول.

  • المستخدم غير مخول أو تم استخدام كلمة مرور غير صحيحة: إذا لم يكن لدى المستخدم أذونات على الخادم أو كانت كلمة المرور المستخدمة غير صحيحة، رفض الاتصال بالخادم. إنشاء إعداد جدار حماية يوفر فقط للعملاء فرصة لمحاولة الاتصال بالخادم الخاص بك. لا يزال يتعين على كل عميل توفير بيانات اعتماد الأمان اللازمة.

على سبيل المثال، باستخدام عميل JDBC، قد يظهر الخطأ التالي.

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: فشلت مصادقة كلمة المرور للمستخدم "yourusername"

  • عنوان IP الديناميكي: إذا كان لديك اتصال بالإنترنت بعنوان IP ديناميكي وكنت تواجه مشكلة في الوصول إلى جدار الحماية، فيمكنك تجربة أحد الحلول التالية:

  • اسأل موفر خدمة إنترنت (ISP) عن نطاق عنوان IP المعين لأجهزة الكمبيوتر العميلة التي تصل إلى عقدة منسق Hyperscale (Citus)، ثم قم بإضافة نطاق عنوان IP كقاعدة جدار حماية.

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

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

للحصول على مقالات حول إنشاء قواعد جدار الحماية على مستوى الخادم وقاعدة البيانات، راجع: