إنشاء واستخدام بيئة خدمة تطبيق موازن التحميل الداخلي

هام

تتناول هذه المقالة «بيئة خدمة التطبيقات v2» التي تُستخدم مع خطط خدمة التطبيقات المنفصلة. سيتم إيقاف الإصدار الثاني منApp Service Environment في 31 أغسطس 2024. يوجد إصدار جديد من App Service Environment يسهل استخدامه ويعمل ببنية أساسية أكثر قوة. لمعرفة المزيد عن الإصدار الجديد، ابدأ بمقدمة لبيئة App Service. في حالة كنت تستخدم App Service Environment v2 حاليًا، فيرجى اتباع الخطوات الواردة في هذه المقالة للترحيل إلى الإصدار الجديد.

اعتبارا من 29 يناير 2024، لم يعد بإمكانك إنشاء موارد App Service Environment v2 جديدة باستخدام أي من الطرق المتاحة بما في ذلك قوالب ARM/Bicep أو مدخل Azure أو Azure CLI أو REST API. يجب الترحيل إلى App Service Environment v3 قبل 31 أغسطس 2024 لمنع حذف الموارد وفقدان البيانات.

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

  • باستخدام VIP على عنوان IP خارجي، يُسمى غالبًا ASE خارجي.
  • مع VIP على عنوان IP داخلي، يُسمى غالبًا ILB ASE لأن نقطة النهاية الداخلية هي موازن تحميل داخلي (ILB).

يوضح لك هذا المقال كيفية إنشاء ILB ASE. للحصول على نظرة عامة حول ASE، راجع مقدمة حول بيئات خدمة التطبيقات. لمعرفة كيفية إنشاء ASE خارجي، راجع [إنشاء ASE خارجي][MakeExternalASE].

نظرة عامة

يمكنك نشر ASE مع نقطة نهاية يمكن الوصول إليها عبر الإنترنت أو بعنوان IP في VNet الخاص بك. لتعيين عنوان IP على عنوان VNet، يجب نشر ASE مع ILB. عند نشر ASE الخاص بك مع ILB، يجب عليك تقديم اسم ASE الخاص بك. يتم استخدام اسم ASE الخاص بك في لاحقة المجال للتطبيقات في ASE الخاص بك. لاحقة المجال لـ ILB ASE هي <اسم ASE> .appserviceenvironment.net لا يتم وضع التطبيقات التي تم إنشاؤها في ILB ASE في DNS العام.

تطلب منك الإصدارات السابقة من ILB ASE توفير لاحقة مجال وشهادة افتراضية لاتصالات HTTPS. لم يعد يتم جمع لاحقة المجال عند إنشاء ILB ASE ولم يعد يتم أيضًا تجميع الشهادة الافتراضية. عندما تقوم بإنشاء ILB ASE الآن، يتم توفير الشهادة الافتراضية من قِبل Microsoft ويثق بها المستعرض. لا يزال بإمكانك تعيين أسماء المجال المخصصة على التطبيقات في ASE الخاص بك وتعيين الشهادات على أسماء المجالات المخصصة هذه.

مع ILB ASE، يمكنك القيام بأشياء مثل:

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

وظيفة معطل

هناك بعض الأشياء التي لا يمكنك فعلها عند استخدام ILB ASE:

  • استخدم ربط TLS / SSL المستند إلى IP.
  • تعيين عناوين IP لتطبيقات محددة.
  • اشتر شهادة واستخدمها مع أحد التطبيقات من خلال مدخل Microsoft Azure. يمكنك الحصول على الشهادات مباشرة من مرجع مصدق واستخدامها مع تطبيقاتك. لا يمكنك الحصول عليها من خلال مدخل Microsoft Azure.

إنشاء ILB ASE

لإنشاء ILB ASE، راجع إنشاء ASE باستخدام قالب Azure Resource Manager.

إشعار

يجب ألا يزيد اسم App Service Environment عن 36 حرفا.

قم بإنشاء تطبيق في ILB ASE

يمكنك إنشاء تطبيق في ILB ASE بنفس الطريقة التي تنشئ بها تطبيقًا في ASE بشكل طبيعي.

  1. في مدخل Microsoft Azure، حدد إنشاء مورد>ويب>تطبيق ويب.

  2. أدخل اسم التطبيق.

  3. اختر الاشتراك.

  4. حدد أو أنشئ مجموعة موارد.

  5. حدد النشر وRuntime Stack ونظام التشغيل.

  6. حدد موقعًا حيث يكون الموقع عبارة عن ILB ASE موجود.

  7. حدد أو أنشئ خطة خدمة التطبيق.

  8. حدد "Review and Create" ثم حدد "Create" عندما تكون جاهزًا.

وظائف الويب والوظائف وILB ASE

يتم دعم كل من الوظائف ووظائف الويب في ILB ASE ولكن لكي تعمل المدخل معهم، يجب أن يكون لديك وصول للشبكة إلى موقع SCM. هذا يعني أن متصفحك يجب أن يكون إما على مضيف متصل بالشبكة الظاهرية أو متصل بها. إذا كان لدى ILB ASE اسم مجال لا ينتهي بـ appserviceenvironment.net، فستحتاج إلى جعل المستعرض يثق في شهادة HTTPS التي يستخدمها موقع scm الخاص بك.

تكوين DNS

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

لتكوين DNS في خادم DNS الخاص بك مع ILB ASE الخاص بك:

  1. أنشئ منطقة لـ < اسم ASE> appserviceenvironment.net
  2. قم بإنشاء سجل A في تلك المنطقة يشير * إلى عنوان IP ILB
  3. قم بإنشاء سجل A في تلك المنطقة يشير إلى @ إلى عنوان IP ILB
  4. إنشاء منطقة في < اسم ASE> .appserviceenvironment.net باسم scm
  5. قم بإنشاء سجل A في منطقة scm التي تشير * إلى عنوان IP ILB

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

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

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

المنطقة المسماة. < asename> .appserviceenvironment.net فريدة بشكل عام. قبل مايو 2019، كان العملاء قادرين على تحديد لاحقة المجال لـ ILB ASE. إذا كنت تريد استخدام .contoso.com للاحقة المجال، يمكنك القيام بذلك وسيشمل ذلك موقع scm. كانت هناك تحديات مع هذا النموذج بما في ذلك ؛ إدارة شهادة TLS / SSL الافتراضية، ونقص تسجيل الدخول الأحادي مع موقع scm، ومتطلبات استخدام شهادة بدل. كانت عملية ترقية الشهادة الافتراضية لـ ILB ASE أيضًا معطلة وتسببت في إعادة تشغيل التطبيق. لحل هذه المشكلات، تم تغيير سلوك ILB ASE لاستخدام لاحقة مجال بناءً على اسم ASE ولاحقة مملوكة لشركة Microsoft. لا يؤثر التغيير في سلوك ILB ASE إلا على ILB ASEs الذي تم إجراؤه بعد مايو 2019. يجب أن تظل ILB ASE الموجودة مسبقًا تدير الشهادة الافتراضية لـ ASE وتكوين DNS الخاص بها.

انشر مع ILB ASE

لكل تطبيق تم إنشاؤه، هناك نقطتا نهاية. في ILB ASE، لديك < اسم التطبيق >.< نطاق ILB ASE > و<اسم التطبيق>.scm. < ILB نطاق ASE >.

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

ستظل أنظمة CI المستندة إلى الإنترنت، مثل GitHub وAzure DevOps، تعمل مع ILB ASE إذا كان وكيل الإنشاء متاحًا للوصول إلى الإنترنت وعلى نفس الشبكة مثل ILB ASE. لذلك في حالة Azure DevOps، إذا تم إنشاء وكيل الإنشاء على نفس VNET مثل ILB ASE (شبكة فرعية مختلفة جيدة)، فسيكون قادرًا على سحب الكود من Azure DevOps git ونشره في ILB ASE. إذا كنت لا ترغب في إنشاء وكيل البناء الخاص بك، فأنت بحاجة إلى استخدام نظام CI الذي يستخدم نموذج سحب، مثل Dropbox.

تستخدم نقاط نهاية النشر للتطبيقات في ILB ASE المجال الذي تم إنشاء ILB ASE به. يظهر هذا المجال في ملف تعريف نشر التطبيق وفي بوابة التطبيق النصلية (نظرة عامة > الأساسيات وأيضًا الخصائص). إذا كان لديك ILB ASE مع لاحقة المجال < ASE name>.appserviceenvironment.net ، وتطبيق باسم mytest، فاستخدم mytest< اسم ASE> .appserviceenvironment.net لبروتوكول FTP وmytest.scm.contoso.net لنشر MSDeploy.

قم بتكوين ILB ASE بجهاز WAF

يمكنك دمج جهاز جدار حماية تطبيق الويب (WAF) مع ILB ASE الخاص بك لكشف التطبيقات التي تريدها فقط على الإنترنت وإبقاء الباقي متاحًا فقط من VNet. يمكّنك هذا من إنشاء تطبيقات آمنة متعددة المستويات من بين أشياء أخرى.

لمعرفة المزيد حول كيفية تكوين ILB ASE الخاص بك مع جهاز WAF، راجع تكوين جدار حماية تطبيق ويب مع بيئة خدمة التطبيقات. يوضح هذا المقال كيفية استخدام جهاز Barracuda الظاهري مع ASE الخاص بك. خيار آخر هو استخدام Azure Application Gateway. يستخدم Application Gateway القواعد الأساسية لـ OWASP لتأمين أي تطبيقات موضوعة خلفه. لمزيد من المعلومات حول Application Gateway، راجع مقدمة إلى جدار حماية تطبيق الويب Azure.

تم إعداد ILB ASEs قبل مايو 2019

تطلب منك ILB ASEs التي تم إجراؤها قبل مايو 2019 تعيين لاحقة المجال في أثناء إنشاء ASE. كما طلبوا منك تحميل شهادة افتراضية تستند إلى لاحقة المجال. أيضًا، مع ILB ASE الأقدم، لا يمكنك إجراء تسجيل دخول فردي إلى وحدة تحكم Kudu باستخدام تطبيقات في ILB ASE. عند تكوين DNS لـ ILB ASE أقدم، تحتاج إلى تعيين سجل حرف البدل A في منطقة تطابق لاحقة المجال الخاص بك. يتطلب إنشاء أو تغيير ILB ASE مع لاحقة المجال المخصصة استخدام قوالب Azure Resource Manager وإصدار واجهة برمجة التطبيقات قبل 2019. آخر إصدار لواجهة برمجة تطبيقات الدعم هو 2018-11-01.

الشروع في العمل