إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة مفاهيم الاتصال والشبكات لقاعدة بيانات Azure لمثيلات خادم PostgreSQL المرنة.
عند إنشاء قاعدة بيانات Azure لمثيل خادم PostgreSQL المرن، يجب عليك اختيار أحد خيارات الشبكات التالية:
- الوصول الخاص (تكامل الشبكة الظاهرية)
- الوصول العام (عناوين IP المسموح بها) ونقطة النهاية الخاصة
تنطبق الخصائص التالية سواء اخترت استخدام الوصول الخاص أو خيار الوصول العام:
- تحتاج الاتصالات من عناوين IP المسموح بها إلى المصادقة على قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL مع بيانات اعتماد صالحة.
- يتم فرض تشفير الاتصال على نسبة استخدام الشبكة.
- يحتوي الخادم على اسم مجال مؤهل بالكامل (FQDN). بالنسبة للخاصية
hostnameفي سلاسل الاتصال، نوصي باستخدام FQDN بدلاً من عنوان IP. - يتحكم كلا الخيارين في الوصول على مستوى الخادم، وليس على مستوى قاعدة البيانات أو الجدول. يمكنك استخدام خصائص دور PostgreSQL للتحكم في قاعدة البيانات والجدول والوصول إلى الكائنات الأخرى.
إشعار
نظرا لأن قاعدة بيانات Azure لخدمة PostgreSQL هي خدمة قاعدة بيانات مدارة، لا يتم تزويد المستخدمين بوصول المضيف أو نظام التشغيل لعرض ملفات التكوين أو تعديلها مثل pg_hba.conf. يتم تحديث محتوى الملفات تلقائياً بناءً على إعدادات الشبكة.
استخدام شبكات الوصول العام مع قاعدة بيانات Azure ل PostgreSQL
عند اختيار طريقة الوصول العام، يتم الوصول إلى قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL من خلال نقطة نهاية عامة عبر الإنترنت. نقطة النهاية العامة عنوان DNS عام قابل للحل. تشير عبارة عناوين IP المسموح بها إلى مجموعة من عناوين IP التي تختارها لمنح الإذن بالوصول إلى الخادم الخاص بك. تسمى هذه الأذونات قواعد جدار الحماية.
حدد خيار الشبكة هذا إذا كنت تريد الإمكانات التالية:
- الاتصال من موارد Azure التي لا تدعم الشبكات الظاهرية.
- الاتصال من موارد خارج Azure غير المتصلة بواسطة VPN أو Azure ExpressRoute.
- تأكد من أن قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL يحتوي على نقطة نهاية عامة يمكن الوصول إليها عبر الإنترنت.
تشمل خصائص أسلوب الوصول العام ما يلي:
فقط عناوين IP التي تسمح لها بالحصول على إذن للوصول إلى قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL. افتراضياً، لا يُسمح بأي عناوين IP. يمكنك إضافة عناوين IP أثناء إنشاء الخادم أو بعد ذلك.
يحتوي مثيل الخادم المرن Azure Database for PostgreSQL على اسم DNS قابل للحل بشكل عام.
قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL ليس في إحدى شبكات Azure الظاهرية.
لا تنتقل نسبة استخدام الشبكة من وإلى الخادم الخاص بك عبر شبكة خاصة. تستخدم نسبة استخدام الشبكة مسارات الإنترنت العامة.
قواعد جدار الحماية
تنطبق قواعد جدار الحماية على مستوى الخادم على جميع قواعد البيانات الموجودة على نفس مثيل خادم Azure Database for PostgreSQL المرن. إذا كان عنوان IP المصدر للطلب ضمن أحد النطاقات المحددة في قواعد جدار الحماية على مستوى الخادم، فسيتم منح الاتصال. خلاف ذلك، يتم رفضه. على سبيل المثال، إذا كان التطبيق الخاص بك يتصل مع برنامج تشغيل JDBC ل PostgreSQL، فقد تواجه هذا الخطأ عند محاولة الاتصال عندما يقوم جدار الحماية بحظر الاتصال.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL
إشعار
للوصول إلى مثيل خادم Azure Database for PostgreSQL المرن من جهاز الكمبيوتر المحلي، تأكد من أن جدار الحماية على شبكتك والكمبيوتر المحلي يسمح بالاتصال الصادر على منفذ TCP 5432.
قواعد جدار الحماية المدارة برمجيا
بالإضافة إلى استخدام مدخل Microsoft Azure، يمكنك إدارة قواعد جدار الحماية برمجيا باستخدام Azure CLI. لمزيد من المعلومات، راجع الشبكات.
السماح بجميع عناوين AZURE IP
نوصي بالعثور على عنوان IP الصادر لأي تطبيق أو خدمة والسماح صراحةً بالوصول إلى عناوين IP الفردية أو النطاقات. إذا لم يكن عنوان IP الصادر الثابت متاحاً لخدمة Azure، يمكنك التفكير في تمكين الاتصالات من جميع عناوين IP لمراكز بيانات Azure.
لتمكين هذا الإعداد من مدخل Microsoft Azure، في جزء Networking ، حدد خانة الاختيار Allow public access from any Azure service within Azure to this server ثم حدد Save.
هام
يعمل الخيار Allow public access from Azure services and resources within Azure على تكوين جدار الحماية للسماح لجميع الاتصالات من Azure، بما في ذلك الاتصالات من اشتراكات العملاء الآخرين. عند تحديد هذا الخيار، تأكد من أن أذونات تسجيل الدخول والمستخدم تقيد الوصول إلى المستخدمين المصرح لهم فقط.
استكشاف مشكلات الوصول العام وإصلاحها
ضع في اعتبارك النقاط التالية عندما لا يتصرف الوصول إلى قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL كما تتوقع:
لم تسري التغييرات على قائمة السماح حتى الآن. قد يكون هناك تأخير لمدة خمس دقائق للتغييرات في تكوين جدار الحماية لقاعدة بيانات Azure لخادم PostgreSQL المرن حتى تصبح سارية المفعول.
فشلت المصادقة. إذا لم يكن لدى المستخدم أذونات على مثيل الخادم المرن Azure Database for PostgreSQL أو كانت كلمة المرور غير صحيحة، رفض الاتصال بمثيل الخادم المرن Azure Database for PostgreSQL. يوفر إنشاء إعداد جدار الحماية للعملاء فقط فرصة لمحاولة الاتصال بالخادم الخاص بك. لا يزال يتعين على كل عميل توفير بيانات اعتماد الأمان اللازمة.
عنوان IP الديناميكي للعميل يمنع الوصول. إذا كان لديك اتصال بالإنترنت بعنوان IP ديناميكي وكنت تواجه مشكلة في تجاوز جدار الحماية، فجرّب أحد الحلول التالية:
- اطلب من موفر خدمة الإنترنت (ISP) نطاق عنوان IP المعين لأجهزة الكمبيوتر العميلة التي تصل إلى مثيل الخادم المرن لقاعدة بيانات Azure ل PostgreSQL. ثم أضف نطاق عنوان IP كقاعدة جدار حماية.
- الحصول على عنوان IP ثابت بدلاً من ذلك لأجهزة الكمبيوتر للعميل. ثم أضف عنوان IP الثابت كقاعدة جدار حماية.
قاعدة جدار الحماية غير متوفرة لتنسيق IPv6. يجب أن تكون قواعد جدار الحماية بتنسيق IPv4. إذا قمت بتحديد قواعد جدار الحماية بتنسيق IPv6، فستحصل على خطأ في التحقق من الصحة.
اسم المضيف
بغض النظر عن خيار الشبكة الذي تختاره، نوصي دائما باستخدام FQDN كاسم مضيف عند الاتصال بقاعدة بيانات Azure لمثيل خادم PostgreSQL المرن. عنوان IP الخاص بالخادم غير مضمون للبقاء ثابتا. يساعدك استخدام FQDN على تجنب إجراء تغييرات على سلسلة الاتصال.
مثال يستخدم FQDN كاسم مضيف هو hostname = servername.postgres.database.azure.com. حيثما أمكن، تجنب استخدام hostname = 10.0.0.4 (عنوان خاص) أو hostname = 40.2.45.67 (عنوان عام).
عناوين IP الصادرة لتكوين جدار الحماية
عندما يحتاج مثيل الخادم المرن Azure Database for PostgreSQL إلى إجراء اتصالات صادرة بخدمات خارجية (على سبيل المثال، للنسخ المتماثل المنطقي، أو الملحقات التي تتصل بالموارد الخارجية، أو مصادر البيانات الخارجية)، قد تحتاج إلى تكوين قواعد جدار الحماية على تلك الخدمات الخارجية للسماح بنسبة استخدام الشبكة من خادم قاعدة البيانات الخاص بك.
العثور على عنوان IP الخاص بالخادم
للعثور على عنوان IP المعين حاليا لقاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL:
استخدام دقة DNS: يمكنك حل FQDN (
servername.postgres.database.azure.com) الخاص بالخادم للحصول على عنوان IP الحالي. استخدم أدوات مثلnslookupأوdig:nslookup servername.postgres.database.azure.comاستخدام مدخل Microsoft Azure: انتقل إلى قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL في مدخل Microsoft Azure. لا يتم عرض عنوان IP العام للخادم بشكل مباشر، ولكن يمكنك العثور عليه عن طريق حل FQDN الخاص بالخادم.
استخدام Azure CLI: يمكنك استخدام Azure CLI للحصول على معلومات حول الخادم الخاص بك ثم حل اسم المضيف:
az postgres flexible-server show --resource-group myResourceGroup --name myServerName
اعتبارات مهمة للاتصالات الصادرة
يمكن أن تتغير عناوين IP: عنوان IP العام المعين لقاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL ليس ثابتا ويمكن أن يتغير أثناء الصيانة أو التحديثات أو الأحداث التشغيلية الأخرى. استخدم دائما FQDN عندما يكون ذلك ممكنا، وقم بتحديث قواعد جدار الحماية الخارجية بانتظام إذا لزم الأمر.
نطاقات IP لمركز بيانات Azure: للحصول على تكوين جدار حماية أكثر قابلية للتنبؤ، يمكنك السماح بنسبة استخدام الشبكة من نطاق IP لمركز بيانات Azure بالكامل للمنطقة التي يوجد بها الخادم الخاص بك. ينشر Azure نطاقات IP لكل منطقة في تنزيل نطاقات IP وعلامات الخدمة في Azure .
علامات الخدمة: إذا كانت الخدمة الخارجية التي تتصل بها مستضافة أيضا في Azure، ففكر في استخدام علامات خدمة Azure للحصول على قواعد جدار حماية أكثر ديناميكية وقابلة للصيانة.
بديل نقطة النهاية الخاصة: للحصول على اتصال أكثر استقرارا ولتجنب عناوين IP العامة، ضع في اعتبارك استخدام نقاط النهاية الخاصة بدلا من الوصول العام.