شبكة App Service Environment

App Service Environment هي نشر مستأجر واحد لخدمة تطبيقات Azure التي تستضيف حاويات Windows وLinux وتطبيقات الويب وتطبيقات واجهة برمجة التطبيقات والتطبيقات المنطقية وتطبيقات الوظائف. عند تثبيت App Service Environment، يمكنك اختيار شبكة Azure الظاهرية التي تريد نشرها فيها. جميع حركة بيانات التطبيقات الواردة والصادرة موجودة داخل الشبكة الظاهرية التي تحددها. يمكنك النشر في شبكة فرعية واحدة في شبكتك الظاهرية، ولا يمكن نشر أي شيء آخر في تلك الشبكة الفرعية.

إشعار

تتناول هذه المقالة App Service Environment v3، والتي يتم استخدامها مع خطط Isolated v2 App Service.

متطلبات الشبكة الفرعية

يجب تفويض الشبكة الفرعية إلى Microsoft.Web/hostingEnvironments، ويجب أن تكون الشبكة الفرعية فارغة.

يمكن أن يؤثر حجم الشبكة الفرعية على حدود التحجيم لمثيلات خطة App Service داخل بيئة خدمة التطبيقات. بالنسبة لمقياس الإنتاج، نوصي بمساحة /24 عنوان (256 عنوانا) للشبكة الفرعية. إذا كنت تخطط لتوسيع نطاق السعة القصوى تقريبا ل 200 مثيل في بيئة خدمة التطبيقات الخاصة بنا وكنت تخطط لعمليات توسيع/تقليص متكررة، نوصي بمساحة /23 عنوان (512 عنوانا) للشبكة الفرعية.

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

  • تحتوي أي شبكة فرعية معينة على خمسة عناوين محجوزة لأغراض الإدارة. بالإضافة إلى عناوين الإدارة، تقوم App Service Environment بتغيير حجم البنية الأساسية الداعمة ديناميكيا، وتستخدم ما بين 7 و27 عنوانا، اعتمادا على التكوين والتحميل. يمكنك استخدام العناوين المتبقية للمثيلات في خطة App Service. الحد الأدنى لحجم الشبكة الفرعية هو مساحة عنوان /27 (32 عنوانًا).
  • بالنسبة لأي مجموعة نظام تشغيل/SKU لخطة App Service تستخدم في بيئة خدمة التطبيقات مثل I1v2 Windows، يتم إنشاء مثيل الاستعداد واحد لكل 20 مثيلا نشطا. تتطلب مثيلات الاستعداد أيضا عناوين IP.
  • عند توسيع نطاق خطط App Service في App Service Environment لأعلى/لأسفل، يتم مضاعفة مقدار عناوين IP المستخدمة بواسطة خطة App Service مؤقتا أثناء اكتمال عملية التحجيم. يجب أن تكون المثيلات الجديدة تعمل بشكل كامل قبل إلغاء توفير المثيلات الموجودة.
  • تحتاج ترقيات النظام الأساسي إلى عناوين IP مجانية لضمان إمكانية حدوث الترقيات دون انقطاع لحركة المرور الصادرة.
  • بعد التوسيع أو التقليص أو اكتمال العمليات، قد تكون هناك فترة زمنية قصيرة قبل إصدار عناوين IP. في حالات نادرة، يمكن أن تصل هذه العملية إلى 12 ساعة.
  • إذا نفدت عناوينك داخل شبكتك الفرعية، يمكن تقييدك من توسيع نطاق خطط App Service في App Service Environment. هناك احتمال آخر وهو أنه يمكنك تجربة زمن انتقال متزايد أثناء الحمل المكثف لنسبة استخدام الشبكة، إذا لم تتمكن Microsoft من توسيع نطاق البنية الأساسية الداعمة.

إشعار

تستخدم حاويات Windows عنوان IP إضافي لكل تطبيق لكل مثيل خطة App Service، وتحتاج إلى تغيير حجم الشبكة الفرعية وفقا لذلك. إذا كانت بيئة خدمة التطبيقات الخاصة بك تحتوي على مثال 2 من خطط خدمة تطبيقات حاوية Windows لكل منها 25 مثيلا ولكل منها 5 تطبيقات قيد التشغيل، فستحتاج إلى 300 عنوان IP وعناوين إضافية لدعم المقياس الأفقي (داخل/خارج).

نموذج الحساب:

لكل مثيل خطة App Service، تحتاج إلى: 5 تطبيقات حاوية Windows = 5 عناوين IP عنوان IP واحد لكل مثيل خطة App Service 5 + 1 = 6 عناوين IP

بالنسبة إلى 25 مثيلا: 6 × 25 = 150 عنوان IP لكل خطة App Service

نظرا لأن لديك خططين لخدمة التطبيقات، 2 × 150 = 300 عنوان IP.

العناوين

تحتوي App Service Environment على معلومات الشبكة التالية عند الإنشاء:

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

يمكنك العثور على التفاصيل في جزء عناوين IP من المدخل، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة تعرض تفاصيل حول عناوين IP.

أثناء توسيع نطاق خطط App Service في App Service Environment، يمكنك استخدام المزيد من العناوين من شبكتك الفرعية. يختلف عدد العناوين التي تستخدمها، استنادا إلى عدد مثيلات خطة App Service لديك، ومقدار نسبة استخدام الشبكة هناك. لا تحتوي التطبيقات في App Service Environment على عناوين مخصصة في الشبكة الفرعية. ستتغير العناوين المحددة التي يستخدمها أحد التطبيقات في الشبكة الفرعية بمرور الوقت.

إحضار عنوانك الوارد الخاص

يمكنك إحضار عنوانك الوارد إلى App Service Environment. إذا قمت بإنشاء App Service Environment مع VIP داخلي، يمكنك تحديد عنوان IP ثابت في الشبكة الفرعية. إذا قمت بإنشاء App Service Environment باستخدام VIP خارجي، يمكنك استخدام عنوان IP العام Azure الخاص بك عن طريق تحديد معرف المورد لعنوان IP العام. فيما يلي قيود لإحضار عنوانك الوارد الخاص:

  • بالنسبة ل App Service Environment مع VIP خارجي، يجب أن يكون مورد عنوان IP العام Azure في نفس الاشتراك مثل App Service Environment.
  • لا يمكن تغيير العنوان الوارد بعد إنشاء App Service Environment.

قيود المنافذ والشبكة

لكي يتلقى تطبيقك نسبة استخدام الشبكة، تأكد من أن قواعد مجموعة أمان الشبكة الواردة (NSG) تسمح للشبكة الفرعية لApp Service Environment بتلقي نسبة استخدام الشبكة من المنافذ المطلوبة. بالإضافة إلى أي منافذ، ترغب في تلقي حركة المرور عليها، يجب عليك التأكد من أن Azure Load Balancer قادر على الاتصال بالشبكة الفرعية على المنفذ 80. يستخدم هذا المنفذ لإجراء فحوصات السلامة للجهاز الظاهري الداخلي. لا يزال بإمكانك التحكم في حركة مرور المنفذ 80 من الشبكة الظاهرية إلى شبكتك الفرعية.

من الجيد تكوين قاعدة NSG الواردة التالية:

المصدر / منفذ الوجهة (ق) الاتجاه المصدر الوجهة الغرض
* / 80,443 وارد VirtualNetwork نطاق شبكة App Service Environment الفرعية السماح بنسبة استخدام الشبكة للتطبيق وحركة مرور اتصال السلامة الداخلية

الحد الأدنى من متطلبات بيئة خدمة التطبيقات لتكون قيد التشغيل هو:

المصدر / منفذ الوجهة (ق) الاتجاه المصدر الوجهة الغرض
* / 80 وارد AzureLoadBalancer نطاق شبكة App Service Environment الفرعية السماح بحركة مرور ping للصحة الداخلية

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

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

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

إشعار

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

توجيه الشبكة

يمكنك تعيين جداول التوجيه دون قيود. يمكنك توجيه جميع حركة مرور التطبيقات الصادرة من App Service Environment إلى جهاز جدار حماية خروج، مثل Azure Firewall. في هذا السيناريو، الشيء الوحيد الذي يجب أن تقلق بشأنه هو تبعيات التطبيق الخاص بك.

تتضمن تبعيات التطبيق نقاط النهاية التي يحتاجها تطبيقك أثناء وقت التشغيل. إلى جانب واجهات برمجة التطبيقات والخدمات التي يستدعيها التطبيق، يمكن أيضا أن تكون التبعيات نقاط نهاية مشتقة مثل نقاط نهاية التحقق من قائمة إبطال الشهادات (CRL) ونقطة نهاية الهوية/المصادقة، على سبيل المثال معرف Microsoft Entra. إذا كنت تستخدم التوزيع المستمر في App Service، فقد تحتاج أيضًا إلى السماح بنقاط النهاية اعتمادًا على النوع واللغة. خصيصا للتوزيع المستمر ل Linux، تحتاج إلى السماح .oryx-cdn.microsoft.io:443

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

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

إشعار

يتم دعم اتصال SMTP الصادر (المنفذ 25) لـ App Service Environment v3. يتم تحديد إمكانية الدعم من خلال إعداد في الاشتراك حيث يتم توزيع الشبكة الظاهرية. بالنسبة للشبكات الظاهرية/الشبكة الفرعية التي تم إنشاؤها قبل 1. أغسطس 2022 تحتاج إلى بدء تغيير تكوين مؤقت إلى الشبكة الظاهرية/الشبكة الفرعية للإعداد المراد مزامنته من الاشتراك. قد يكون أحد الأمثلة على ذلك إضافة شبكة فرعية مؤقتة أو إقران/فصل NSG مؤقتًا أو تكوين نقطة نهاية خدمة مؤقتًا. لمزيد من المعلومات واستكشاف الأخطاء وإصلاحها، راجع استكشاف مشكلات اتصال SMTP الصادرة وإصلاحها في Azure.

نقطة النهاية الخاصة

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

يمكنك تنشيطه من خلال مدخل Microsoft Azure. في جزء تكوين App Service Environment، قم بتشغيل الإعداد Allow new private endpoints. بدلاً من ذلك، يمكن ل CLI التالي تمكينه:

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

لمزيد من المعلومات حول نقطة النهاية الخاصة وتطبيق الويب، راجع نقطة النهاية الخاصة لـ Azure Web App

DNS

تصف الأقسام التالية اعتبارات DNS والتكوين الذي ينطبق على الوارد والصادر من بيئة خدمة التطبيقات. تستخدم الأمثلة لاحقة appserviceenvironment.net المجال من Azure Public Cloud. إذا كنت تستخدم السحب الأخرى مثل Azure Government، فأنت بحاجة إلى استخدام لاحقة المجال الخاصة بها. بالنسبة لمجالات App Service Environment، يتم اقتطاع اسم الموقع في 40 حرفا بسبب حدود DNS. إذا كان لديك فتحة، يتم اقتطاع اسم الفتحة في 19 حرفا.

تكوين DNS إلى بيئة خدمة التطبيقات

إذا تم إنشاء App Service Environment باستخدام VIP خارجي، يتم وضع تطبيقاتك تلقائياً في DNS العام. إذا تم إنشاء App Service Environment باستخدام VIP داخلي، عند إنشاء App Service Environment، إذا حددت تكوين مناطق Azure DNS الخاصة تلقائيا، فسيتم تكوين DNS في شبكتك الظاهرية. إذا اخترت تكوين DNS يدويا، فستحتاج إما إلى استخدام خادم DNS الخاص بك أو تكوين مناطق Azure DNS الخاصة. للعثور على العنوان الوارد، في مدخل App Service Environment، حدّد IP addresses.

إذا كنت ترغب في استخدام خادم DNS الخاص بك، فأضف السجلات التالية:

  1. أنشئ منطقة لـ <App Service Environment-name>.appserviceenvironment.net.
  2. قم بإنشاء سجل A في تلك المنطقة يشير بـ * إلى عنوان IP الوارد المستخدم من قبل App Service Environment.
  3. قم بإنشاء سجل A في تلك المنطقة يشير بـ @ إلى عنوان IP الوارد المستخدم من قبل App Service Environment الخاصة بك.
  4. إنشاء منطقة في <App Service Environment-name>.appserviceenvironment.net باسم scm.
  5. قم بإنشاء سجل A في scm المنطقة يشير بـ * إلى عنوان IP المستخدم بواسطة نقطة النهاية الخاصة لبيئة App Service Environment خاصتك.

لتكوين DNS في مناطق Azure DNS الخاصة:

  1. أنشئ منطقة Azure DNS خاصة باسم <App Service Environment-name>.appserviceenvironment.net.
  2. قم بإنشاء سجل A في تلك المنطقة يشير * إلى عنوان IP الوارد.
  3. قم بإنشاء سجل A في تلك المنطقة يشير @ إلى عنوان IP الوارد.
  4. قم بإنشاء سجل A في تلك المنطقة يشير إلى * .scm في عنوان IP الوارد.

بالإضافة إلى المجال الظاهري المتوفر عند إنشاء تطبيق، يمكنك أيضا إضافة مجال مخصص إلى تطبيقك. يمكنك تعيين اسم مجال مخصص دون أي تحقق من صحة تطبيقاتك. إذا كنت تستخدم مجالات مخصصة، فستحتاج إلى التأكد من تكوين سجلات DNS لها. يمكنك اتباع الإرشادات السابقة لتكوين مناطق DNS وسجلات اسم مجال مخصص (استبدل اسم المجال الافتراضي باسم المجال المخصص). يعمل اسم المجال المخصص لطلبات التطبيق، لكنه لا يعمل مع الموقع scm. يتوفر موقع scm في <appname>.scm.<asename>.appserviceenvironment.net فقط.

تكوين DNS للوصول إلى FTP

لوصول FTP إلى App Service Environment (الإصدار الثالث) لموازن التحميل الداخلي (ILB) على وجه التحديد، تحتاج إلى التأكد من تكوين DNS. تكوين منطقة خاصة لـ Azure DNS أو DNS مخصص مكافئ مع الإعدادات التالية:

  1. أنشئ منطقة Azure DNS خاصة باسم ftp.appserviceenvironment.net.
  2. أنشئ سجل A في تلك المنطقة يشير بـ <App Service Environment-name> إلى عنوان IP الوارد.

بالإضافة إلى إعداد DNS، تحتاج أيضا إلى تمكينه في تكوين App Service Environment وعلى مستوى التطبيق.

تكوين DNS إلى بيئة App Service Environment خاصتك

تستخدم التطبيقات في App Service Environment DNS الذي تم تكوين شبكتك الظاهرية معه. إذا كنت تريد أن تستخدم بعض التطبيقات خادم DNS مختلفا، يمكنك تعيينه يدويا على أساس كل تطبيق، مع إعدادات WEBSITE_DNS_SERVER التطبيق وWEBSITE_DNS_ALT_SERVER. WEBSITE_DNS_ALT_SERVER تكوين خادم DNS الثانوي. يتم استخدام خادم DNS الثانوي فقط عند عدم وجود استجابة من خادم DNS الأساسي.

المزيد من الموارد