اعتبارات الشبكات لبيئة خدمة التطبيقات

هام

تتناول هذه المقالة الإصدار 2 من بيئة خدمة التطبيق التي يتم استخدامها مع خطط خدمة التطبيقات المعزولة. سيتم إيقاف تشغيل الإصدار 2 من بيئة خدمة التطبيق في 31 أغسطس 2024. هناك إصدار جديد من بيئة خدمة التطبيقات أسهل في الاستخدام ويعمل على بنية تحتية أكثر قوة. لمعرفة المزيد حول الإصدار الجديد، ابدأ بمقدمة حول بيئة خدمة التطبيق. إذا كنت تستخدم حاليا الإصدار 2 من بيئة خدمة التطبيق، فيرجى اتباع الخطوات الواردة في هذه المقالة للترحيل إلى الإصدار الجديد.

بيئة خدمة التطبيق هي نشر خدمة تطبيقات Azure في شبكة فرعية في شبكة Azure الظاهرية. هناك نوعان من النشر لبيئة خدمة التطبيق:

ملاحظة

تتناول هذه المقالة الإصدار 2 من بيئة خدمة التطبيق، والتي يتم استخدامها مع خطط خدمة التطبيقات المعزولة.

بغض النظر عن نوع النشر، تحتوي جميع بيئات خدمة التطبيقات على عنوان IP افتراضي عام (VIP). يستخدم VIP هذا لحركة مرور الإدارة الواردة ، وكعنوان عند إجراء مكالمات من بيئة خدمة التطبيق إلى الإنترنت. تغادر هذه المكالمات الشبكة الافتراضية من خلال VIP المخصص لبيئة خدمة التطبيق.

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

Diagram that shows the elements of an external deployment. 

إذا كانت لديك بيئة خدمة تطبيق مع نشر خارجي، فإن VIP العام هو أيضا نقطة النهاية التي تحل بها تطبيقاتك ما يلي:

  • HTTP/S
  • بروتوكول نقل الملفات/ثانية
  • نشر الويب
  • تصحيح الأخطاء عن بعد

Diagram that shows the elements of an internal load balancer deployment.

إذا كان لديك بيئة خدمة تطبيق مع نشر موازن تحميل داخلي، فإن عنوان العنوان الداخلي هو نقطة النهاية ل HTTP/S وFTP/S ونشر الويب وتصحيح الأخطاء عن بعد.

حجم الشبكة الفرعية

بعد نشر بيئة خدمة التطبيق، لا يمكنك تغيير حجم الشبكة الفرعية المستخدمة لاستضافتها. تستخدم بيئة خدمة التطبيق عنوانا لكل دور من أدوار البنية الأساسية، وكذلك لكل مثيل خطة خدمة تطبيقات معزول. بالإضافة إلى ذلك، تستخدم شبكة Azure خمسة عناوين لكل شبكة فرعية يتم إنشاؤها.

ستستخدم بيئة خدمة التطبيق التي لا تحتوي على خطط خدمة التطبيقات على الإطلاق 12 عنوانا قبل إنشاء تطبيق. إذا كنت تستخدم نشر موازن التحميل الداخلي ، فسيستخدم 13 عنوانا قبل إنشاء تطبيق. أثناء التوسع، كن على دراية بإضافة أدوار البنية الأساسية في كل مضاعف من 15 و20 من مثيلات خطة خدمة التطبيقات.

هام

لا شيء آخر يمكن أن يكون في الشبكة الفرعية سوى بيئة خدمة التطبيق. تأكد من اختيار مساحة العنوان التي تسمح بالنمو المستقبلي. لا يمكنك تغيير هذا الإعداد لاحقا. نوصي بحجم /24 256 عنوانا.

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

التبعيات الواردة والصادرة

تغطي الأقسام التالية التبعيات التي يجب أن تكون على دراية بها لبيئة خدمة التطبيق. يناقش قسم آخر إعدادات DNS.

التبعيات الواردة

فقط لتشغيل بيئة خدمة التطبيق، يجب أن تكون المنافذ التالية مفتوحة:

استخدم من لكي تتمكن من
الإدارة عناوين إدارة خدمة التطبيقات الشبكة الفرعية لبيئة خدمة التطبيق: 454، 455
بيئة خدمة التطبيق الاتصالات الداخلية الشبكة الفرعية لبيئة خدمة التطبيق: جميع المنافذ الشبكة الفرعية لبيئة خدمة التطبيق: جميع المنافذ
السماح لموازنة تحميل Azure بالدخول موازنة تحميل Azure الشبكة الفرعية لبيئة خدمة التطبيق: 16001

يمكن أن يظهر المنفذان 7564 و1221 على أنهما مفتوحان في فحص المنفذ. يردون بعنوان IP ، وليس أكثر من ذلك. يمكنك حظرها إذا كنت ترغب في ذلك.

توفر حركة مرور الإدارة الواردة القيادة والتحكم في بيئة خدمة التطبيق، بالإضافة إلى مراقبة النظام. يتم سرد عناوين المصدر لحركة المرور هذه في عناوين إدارة بيئة خدمة التطبيق. يجب أن يسمح تكوين أمان الشبكة بالوصول من عناوين إدارة بيئة خدمة التطبيق على المنفذين 454 و455. إذا حظرت الوصول من هذه العناوين، فستصبح بيئة خدمة التطبيق غير صحية ثم يتم تعليقها. يجب أن تعود حركة مرور TCP التي تأتي على المنفذين 454 و 455 من نفس VIP ، أو ستواجه مشكلة توجيه غير متماثلة.

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

للاتصال بين موازن تحميل Azure والشبكة الفرعية لبيئة خدمة التطبيق، فإن الحد الأدنى للمنافذ التي يجب فتحها هو 454 و455 و16001. إذا كنت تستخدم نشر موازن تحميل داخلي ، فيمكنك قفل حركة المرور إلى منافذ 454 و 455 و 16001 فقط. إذا كنت تستخدم عملية نشر خارجية، فيجب أن تأخذ في الاعتبار منافذ الوصول العادية إلى التطبيق. على وجه التحديد ، هذه هي:

استخدم منافذ
HTTP/HTTPS 80, 443
بروتوكول نقل الملفات/بروتوكول نقل الملفات (FTPS) 21, 990, 10001-10020
تصحيح الأخطاء عن بعد Visual Studio 4020, 4022, 4024
خدمة نشر الويب 8172

إذا قمت بحظر منافذ التطبيق، فسيظل بإمكان بيئة خدمة التطبيق العمل، ولكن قد لا يعمل تطبيقك. إذا كنت تستخدم عناوين IP المعينة من قبل التطبيق مع نشر خارجي، فستحتاج إلى السماح بحركة المرور من عناوين IP المعينة لتطبيقاتك إلى الشبكة الفرعية. من مدخل بيئة خدمة التطبيق، انتقل إلى عناوين IP، وشاهد المنافذ التي تحتاج إلى السماح بحركة المرور منها.

التبعيات الصادرة

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

تتصل بيئة خدمة التطبيق بالعناوين التي يمكن الوصول إليها عبر الإنترنت على المنافذ التالية:

الاستخدام منافذ
DNS 53
برنامج التحول الوطني 123
CRL, تحديثات Windows, تبعيات Linux, خدمات Azure 80/443
Azure SQL 1433
المراقبة 12000

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

نظام أسماء النطاقات للعميل

إذا تم تكوين الشبكة الظاهرية باستخدام خادم DNS معرف من قبل العميل، فستستخدمه أحمال عمل المستأجر. تستخدم بيئة خدمة التطبيق Azure DNS لأغراض الإدارة. إذا تم تكوين الشبكة الظاهرية باستخدام خادم DNS محدد من قبل العميل، فيجب أن يكون خادم DNS قابلا للوصول إليه من الشبكة الفرعية.

ملاحظة

لا يمكن لحوامل التخزين أو عمليات سحب صورة الحاوية في App Service Environment v2 استخدام DNS المعرف من قبل العميل في الشبكة الظاهرية، أو من خلال WEBSITE_DNS_SERVER إعداد التطبيق.

لاختبار دقة DNS من تطبيق الويب الخاص بك، يمكنك استخدام أمر nameresolverوحدة التحكم . انتقل إلى نافذة تصحيح الأخطاء في موقعك scm لتطبيقك، أو انتقل إلى التطبيق في البوابة الإلكترونية وحدد وحدة التحكم. من موجه shell ، يمكنك إصدار الأمر nameresolver، إلى جانب اسم DNS الذي ترغب في البحث عنه. النتيجة التي تحصل عليها مرة أخرى هي نفسها التي سيحصل عليها تطبيقك أثناء إجراء نفس البحث. إذا كنت تستخدم nslookup، يمكنك إجراء بحث باستخدام Azure DNS بدلا من ذلك.

إذا قمت بتغيير إعداد DNS للشبكة الظاهرية التي توجد بها بيئة خدمة التطبيق، فستحتاج إلى إعادة التشغيل. لتجنب إعادة التشغيل، من المستحسن تكوين إعدادات DNS لشبكتك الافتراضية قبل إنشاء بيئة خدمة التطبيق.

تبعيات البوابة الإلكترونية

بالإضافة إلى التبعيات الموضحة في الأقسام السابقة، هناك بعض الاعتبارات الإضافية التي يجب أن تكون على دراية بها والتي تتعلق بتجربة البوابة الإلكترونية. تعتمد بعض الإمكانات في مدخل Azure على الوصول المباشر إلى موقع إدارة التحكم في المصدر (SCM). لكل تطبيق في Azure App Service، هناك عنوانا URL. عنوان URL الأول هو الوصول إلى تطبيقك. عنوان URL الثاني هو الوصول إلى موقع SCM ، والذي يسمى أيضا وحدة تحكم Kudu. تتضمن الميزات التي تستخدم موقع SCM ما يلي:

  • وظائف الويب
  • الوظائف
  • دفق السجل
  • Kudu
  • ملحقات
  • مستكشف العمليات
  • وحدة تحكم

عند استخدام موازن تحميل داخلي، لا يمكن الوصول إلى موقع SCM من خارج الشبكة الظاهرية. لا تعمل بعض الإمكانات من مدخل التطبيق لأنها تتطلب الوصول إلى موقع SCM لأحد التطبيقات. يمكنك الاتصال بموقع SCM مباشرة، بدلا من استخدام البوابة الإلكترونية.

إذا كان موازن التحميل الداخلي هو اسم المجال ، وكان اسم contoso.appserviceenvironment.netتطبيقك هو testapp ، الوصول إلى التطبيق في testapp.contoso.appserviceenvironment.net. يتم الوصول إلى موقع SCM الذي يرافقه في testapp.scm.contoso.appserviceenvironment.net.

عناوين IP

تحتوي بيئة خدمة التطبيقات على عدد قليل من عناوين IP لتكون على دراية بها. وهذه هي:

  • عنوان IP الوارد العام: يستخدم لحركة مرور التطبيقات في عملية نشر خارجية، وإدارة حركة المرور في كل من عمليات النشر الداخلية والخارجية.
  • IP العام الصادر: يستخدم كعنوان IP "من" للاتصالات الصادرة التي تغادر الشبكة الظاهرية. لا يتم توجيه هذه الاتصالات إلى أسفل VPN.
  • عنوان IP لموازن التحميل الداخلي: هذا العنوان موجود فقط في عملية نشر داخلية.
  • عناوين TLS/SSL المستندة إلى بروتوكول الإنترنت المعينة من قبل التطبيق: لا يمكن تحقيق هذه العناوين إلا من خلال نشر خارجي، وعند تكوين ربط TLS/SSL المستند إلى بروتوكول الإنترنت.

جميع عناوين IP هذه مرئية في مدخل Azure من واجهة مستخدم بيئة خدمة التطبيق. إذا كان لديك نشر داخلي، سرد عنوان IP الخاص بموازن التحميل الداخلي.

ملاحظة

لا تتغير عناوين IP هذه، طالما أن بيئة خدمة التطبيق قيد التشغيل. إذا تم تعليق بيئة خدمة التطبيق ثم تمت استعادتها، فستتغير العناوين المستخدمة. السبب الطبيعي للتعليق هو إذا قمت بحظر وصول الإدارة الواردة، أو قمت بحظر الوصول إلى تبعية.

Screenshot that shows IP addresses.

عناوين IP المخصصة للتطبيق

باستخدام نشر خارجي، يمكنك تعيين عناوين IP لتطبيقات فردية. لا يمكنك القيام بذلك باستخدام نشر داخلي. لمزيد من المعلومات حول كيفية تكوين تطبيقك ليكون له عنوان IP خاص به، راجع تأمين اسم DNS مخصص باستخدام ربط TLS/SSL في Azure App Service.

عندما يكون للتطبيق عنوان SSL خاص به يستند إلى IP، تحتفظ بيئة خدمة التطبيق بمنفذين للتعيين إلى عنوان IP هذا. منفذ واحد مخصص لحركة مرور HTTP ، والمنفذ الآخر مخصص ل HTTPS. يتم سرد هذه المنافذ في قسم عناوين IP في مدخل بيئة خدمة التطبيق. يجب أن تكون حركة المرور قادرة على الوصول إلى تلك الموانئ من كبار الشخصيات. خلاف ذلك ، لا يمكن الوصول إلى التطبيقات. من المهم تذكر هذا المتطلب عند تكوين مجموعات أمان الشبكة (NSGs).

مجموعات أمان الشبكة

توفر NSGs القدرة على التحكم في الوصول إلى الشبكة داخل شبكة افتراضية. عند استخدام البوابة الإلكترونية، هناك قاعدة رفض ضمنية في أدنى أولوية لرفض كل شيء. ما تقوم بإنشائه هو قواعد السماح الخاصة بك.

ليس لديك حق الوصول إلى الأجهزة الظاهرية المستخدمة لاستضافة بيئة خدمة التطبيق نفسها. إنهم في اشتراك تديره Microsoft. إذا كنت ترغب في تقييد الوصول إلى التطبيقات، فقم بتعيين NSGs على الشبكة الفرعية. عند القيام بذلك ، انتبه بعناية إلى التبعيات. إذا قمت بحظر أي تبعيات، فستتوقف بيئة خدمة التطبيق عن العمل.

يمكنك تكوين NSGs من خلال مدخل Azure أو عبر PowerShell. تعرض المعلومات هنا مدخل Azure. يمكنك إنشاء وإدارة NSGs في البوابة الإلكترونية كمورد من المستوى الأعلى ضمن الشبكات.

الإدخالات المطلوبة في NSG هي للسماح بحركة المرور:

⁩الواردة⁧

  • TCP من علامة AppServiceManagement خدمة IP على المنافذ 454 و 455
  • TCP من موازن التحميل على المنفذ 16001
  • من الشبكة الفرعية لبيئة خدمة التطبيق إلى الشبكة الفرعية لبيئة خدمة التطبيق على جميع المنافذ

الصادرة

  • UDP لجميع عناوين IP على المنفذ 53
  • UDP لجميع عناوين IP على المنفذ 123
  • TCP لجميع عناوين IP على المنافذ 80 و 443
  • TCP إلى علامة Sql خدمة IP على المنفذ 1433
  • TCP لكافة عناوين IP على المنفذ 12000
  • إلى الشبكة الفرعية لبيئة خدمة التطبيقات على جميع المنافذ

لا تتضمن هذه المنافذ المنافذ التي تتطلبها تطبيقاتك للاستخدام الناجح. على سبيل المثال، افترض أن تطبيقك يحتاج إلى استدعاء خادم MySQL على المنفذ 3306. بروتوكول وقت الشبكة (NTP) على المنفذ 123 هو بروتوكول مزامنة الوقت المستخدم من قبل نظام التشغيل. لا تقتصر نقاط نهاية NTP على App Service، ويمكن أن تختلف باختلاف نظام التشغيل، وليست في قائمة عناوين محددة جيدا. لمنع حدوث مشكلات مزامنة الوقت، تحتاج بعد ذلك إلى السماح بحركة مرور UDP إلى جميع العناوين الموجودة على المنفذ 123. TCP الصادر إلى حركة مرور المنفذ 12000 مخصص لدعم النظام وتحليله. نقاط النهاية ديناميكية، وليست في مجموعة محددة جيدا من العناوين.

منافذ الوصول العادية إلى التطبيق هي:

استخدم منافذ
HTTP/HTTPS 80, 443
بروتوكول نقل الملفات/بروتوكول نقل الملفات (FTPS) 21, 990, 10001-10020
تصحيح الأخطاء عن بعد Visual Studio 4020, 4022, 4024
خدمة نشر الويب 8172

وعندما تؤخذ المتطلبات الواردة والصادرة في الحسبان، ينبغي أن تبدو مجموعات موردي المواد النووية مشابهة لمجموعات موردي المواد النووية المبينة في لقطة الشاشة التالية:

Screenshot that shows inbound security rules.

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

إذا وضعت قاعدة رفض كل شيء آخر قبل القواعد الافتراضية، فإنك تمنع حركة المرور بين VIP وبيئة خدمة التطبيق. لمنع حركة المرور القادمة من داخل الشبكة الظاهرية، أضف قاعدتك الخاصة للسماح بالواردة. استخدم مصدرا يساوي AzureLoadBalancer، مع وجهة أي ونطاق منفذ من *. نظرا لتطبيق قاعدة NSG على الشبكة الفرعية، لا يلزم أن تكون محددا في الوجهة.

إذا قمت بتعيين عنوان IP لتطبيقك، فتأكد من إبقاء المنافذ مفتوحة. للاطلاع على المنافذ، حدد عناوين IP لبيئة>خدمة التطبيق.  

هناك حاجة إلى جميع العناصر الموضحة في القواعد الصادرة التالية ، باستثناء القاعدة المسماة ASE-internal-outouting. وهي تمكن الوصول إلى الشبكة إلى تبعيات بيئة خدمة التطبيقات التي تمت ملاحظتها سابقا في هذه المقالة. إذا قمت بحظر أي منها، فستتوقف بيئة خدمة التطبيق عن العمل. تمكن القاعدة المسماة ASE-internal-outbound في القائمة بيئة خدمة التطبيق من التواصل مع الموارد الأخرى في شبكتك الظاهرية.

Screenshot that shows outbound security rules.

ملاحظة

نطاق IP في قاعدة ASE-internal-outbound هو مجرد مثال ويجب تغييره لمطابقة نطاق الشبكة الفرعية للشبكة الفرعية لبيئة خدمة التطبيق.

بعد تعريف NSGs الخاصة بك ، قم بتعيينها إلى الشبكة الفرعية. إذا كنت لا تتذكر الشبكة الافتراضية أو الشبكة الفرعية، فيمكنك رؤيتها من مدخل بيئة خدمة التطبيق. لتعيين NSG إلى الشبكة الفرعية الخاصة بك، انتقل إلى واجهة مستخدم الشبكة الفرعية وحدد NSG.

مسارات

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

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

لإنشاء نفس المسارات يدويا، اتبع الخطوات التالية:

  1. انتقل إلى مدخل Azure، وحدد جداول NetworkingRoute>.

  2. أنشئ جدول مسارات جديد في نفس المنطقة التي توجد بها شبكتك الظاهرية.

  3. من داخل واجهة مستخدم جدول المسارات، حدد RoutesAdd>.

  4. قم بتعيين نوع القفزة التالية إلى الإنترنت، وبادئة العنوان إلى 0.0.0.0/0. حدد ⁧⁩حفظ⁧⁩.

    ثم ترى شيئا مثل ما يلي:

    Screenshot that shows functional routes.

  5. بعد إنشاء جدول المسارات الجديد، انتقل إلى الشبكة الفرعية. حدد جدول المسارات من القائمة الموجودة في البوابة الإلكترونية. بعد حفظ التغيير ، يجب أن ترى NSGs والمسارات التي تمت ملاحظتها مع الشبكة الفرعية الخاصة بك.

    Screenshot that shows NSGs and routes.

نقاط نهاية الخدمة

تمكنك نقاط نهاية الخدمة من تقييد الوصول إلى الخدمات متعددة المستأجرين إلى مجموعة من شبكات Azure الظاهرية والشبكات الفرعية. لمزيد من المعلومات، راجع نقاط نهاية خدمة الشبكة الظاهرية.

عند تمكين نقاط نهاية الخدمة على مورد، هناك مسارات تم إنشاؤها بأولوية أعلى من جميع المسارات الأخرى. إذا كنت تستخدم نقاط نهاية الخدمة على أي خدمة Azure، مع بيئة خدمة تطبيق نفقية بالقوة، فلن تكون حركة المرور إلى هذه الخدمات نفقية بالقوة.

عند تمكين نقاط نهاية الخدمة على شبكة فرعية مع مثيل Azure SQL، يجب تمكين نقاط نهاية الخدمة لجميع مثيلات Azure SQL المتصلة من تلك الشبكة الفرعية. إذا كنت ترغب في الوصول إلى مثيلات SQL Azure متعددة من نفس الشبكة الفرعية، فلا يمكنك تمكين نقاط نهاية الخدمة على مثيل Azure SQL واحد وليس على مثيل آخر. لا توجد خدمة Azure أخرى تتصرف مثل Azure SQL فيما يتعلق بنقاط نهاية الخدمة. عند تمكين نقاط نهاية الخدمة باستخدام Azure Storage، فإنك تقوم بتأمين الوصول إلى هذا المورد من شبكتك الفرعية. ومع ذلك، لا يزال بإمكانك الوصول إلى حسابات Azure Storage الأخرى، حتى إذا لم تكن نقاط نهاية الخدمة ممكنة لديها.

Diagram that shows service endpoints.