استخدام App Service Environment

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

إشعار

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

إنشاء تطبيق

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

  • بدلاً من اختيار موقع جغرافي لنشر تطبيقك فيه، يمكنك اختيار App Service Environment كموقع لك.
  • لا يمكن أن تكون جميع خطط خدمات التطبيقات التي تم إنشاؤها في بيئة خدمة التطبيقات إلا في فئة تسعير معزولة من الإصدار الثاني.

إذا لم تتوفر لديك واحدة حتى الآن، فيمكنك إنشاء App Service Environment.

لإنشاء تطبيق في App Service Environment:

  1. حدّد Create a resource>Web + Mobile>Web App.
  2. حدد اشتراكًا.
  3. أدخل اسماً لمجموعة موارد جديدة، أو حدّد Use existing وحدّد اسماّ من القائمة المنسدلة.
  4. أدخل اسمًا للتطبيق. إذا قمت بالفعل بتحديد خطة خدمة التطبيق في بيئة خدمة التطبيق، فإن اسم المجال للتطبيق يعكس اسم المجال الخاص ببيئة خدمة التطبيق.
  5. بالنسبة إلى PublishRuntime stackOperating System، قم بإجراء التحديدات حسب الاقتضاء.
  6. بالنسبة إلى Region، حدّد الإصدار الثالث من App Service Environment الموجودة مسبقاً. إذا كنت ترغب في إنشاء App Service Environment جديدة، فحدد المنطقة. Screenshot that shows how to create an app in an App Service Environment.
  7. حدّد خطة App Service حالية، أو أنشئ خطة جديدة. إذا كنت تحاول إنشاء خطة جديدة، فحدد الحجم الذي تريده لخطة App Service. وحدة حفظ المخزون الوحيدة التي يمكنك تحديدها لتطبيقك هي وحدة حفظ مخزون معزولة بالإصدار 2. عادة ما يستغرق وضع خطة App Service جديدة أقل من 20 دقيقة. Screenshot that shows pricing tiers and their features and hardware.
  8. إذا اخترت إنشاء App Service Environment جديدة كجزء من إنشاء خطة App Service الجديدة، فقم بملء الاسم ونوع IP الظاهري.
  9. قم باختيار Next: Monitoring. إذا كنت ترغب في تمكين Application Insights مع تطبيقك، فيمكنك القيام بذلك هنا بينما تكون في دفق الإنشاء.
  10. حدّد Next: Tags، وأضف أي علامات تريدها إلى التطبيق.
  11. حدد "Review + create". تحقق من صحة المعلومات، ثم قم بتحديد Create.

يمكن أن تتواجد تطبيقات Windows وLinux في بيئة App Service Environment نفسها، ولكن لا يمكن أن تتواجد في خطة App Service نفسها.

كيفية عمل التحجيم

يتم تشغيل كل تطبيق من تطبيقات App Service في خطة App Service. تحتفظ App Service Environments بخطط App Service، بينما تحتفظ خطط App Service بالتطبيقات. عندما تقوم بتوسيع نطاق تطبيق، فإنك تقوم أيضاً بتوسيع نطاق خطة App Service وجميع التطبيقات الموجودة في نفس الخطة.

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

لن تؤثر عملية تغيير الحجم على حجم واحد ونظام التشغيل على تحجيم المجموعات الأخرى من حيث الحجم ونظام التشغيل. على سبيل المثال، إذا كنت تقوم بتغيير حجم خطة خدمة تطبيقات Windows I2v2، فستبدأ عملية تغيير حجم خطة خدمة تطبيقات Windows I3v2 على الفور. يستغرق التحجيم عادةً أقل من 15 دقيقة.

في خدمة التطبيقات متعددة المستأجرين، يكون التحجيم فورياً، لأن مجموعة من الموارد المشتركة متوفرة بسهولة لدعمها. App Service Environment هي خدمة مستأجر واحد، لذلك لا يوجد مخزن مؤقت مشترك، ويتم تخصيص الموارد حسب الحاجة.

الوصول إلى التطبيقات

في بيئة App Service Environment التي تتضمن IP ظاهري داخلي (VIP)، تكون لاحقة المجال المستخدمة لإنشاء التطبيق هي .< asename.appserviceenvironment.net>. إذا تمت تسمية App Service Environment باسم my-ase، وكنت تستضيف تطبيقاً يسمى contoso، فيمكنك الوصول إليه في عناوين URL هذه:

  • contoso.my-ase.appserviceenvironment.net
  • contoso.scm.my-ase.appserviceenvironment.net

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

في App Service Environment التي تتضمن VIP خارجي، تكون لاحقة المجال المستخدمة لإنشاء التطبيق هي .< asename.p.azurewebsites.net>. إذا تمت تسمية App Service Environment باسم my-ase، وكنت تستضيف تطبيقاً يسمى contoso، فيمكنك الوصول إليه في عناوين URL هذه:

  • contoso.my-ase.p.azurewebsites.net
  • contoso.scm.my-ase.p.azurewebsites.net

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

تكوين DNS

إذا تم إنشاء App Service Environment باستخدام VIP خارجي، يتم وضع تطبيقاتك تلقائياً في DNS العام. إذا تم إنشاء App Service Environment باستخدام VIP داخلي، فقد تحتاج إلى تكوين DNS له.

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

للعثور على العنوان الوارد، في مدخل App Service Environment، حدّد IP addresses.

Screenshot that shows how to find the inbound address.

إذا كنت ترغب في استخدام خادم 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 للاحقة المجال الافتراضية لبيئة App Service Environment تطبيقاتك بحيث الوصول إليها فقط بواسطة هذه الأسماء. يمكنك تعيين اسم مجال مخصص دون أي تحقق من صحة تطبيقاتك في بيئة App Service Environment. إذا كنت تريد بعد ذلك إنشاء منطقة باسم contoso.net، فيمكنك القيام بذلك وتوجيهها إلى عنوان IP الوارد. يعمل اسم المجال المخصص لطلبات التطبيق، وإذا كانت شهادة لاحقة المجال المخصصة تتضمن حرف بدل SAN ل scm، فإن اسم المجال المخصص يعمل أيضا للموقع scm ويمكنك إنشاء *.scm سجل وإشرائه إلى عنوان IP الوارد.

النشر

يمكنك النشر بأي من الطرق التالية:

  • التوزيع عن طريق شبكة الإنترنت العالمية
  • التكامل المستمر (CI)
  • السحب والإفلات في وحدة تحكم Kudu
  • بيئة تطوير متكاملة (IDE)، مثل Visual Studio أو Eclipse أو IntelliJ IDEA

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

بدون تغييرات إضافية، لا تعمل أنظمة CI المستندة إلى الإنترنت مثل GitHub وAzure DevOps مع بيئة App Service Environment لـ VIP الداخلية. لا يمكن الوصول إلى نقطة نهاية النشر عبر الإنترنت. يمكنك تمكين النشر إلى بيئة App Service Environment لدى VIP داخلية من Azure DevOps، عن طريق تثبيت عامل إصدار مستضاف ذاتيا في الشبكة الظاهرية.

التخزين

لديك سعة تخزينية تبلغ 1 تيرابايت لجميع التطبيقات في App Service Environment. تبلغ سعة خطة App Service في وحدة حفظ المخزون للأسعار المعزولة 250 غيغابايت. في بيئة App Service Environment، تتم إضافة 250 غيغابايت من التخزين لكل خطة App Service، حتى حد 1 تيرابايت. يمكنك الحصول على خطط App Service أكثر من أربع خطط فقط، ولكن لا يوجد مساحة تخزين إضافية تتجاوز حد 1 تيرابايت.

مراقبة‬

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

تسجيل الدخول

يمكنك التكامل مع Azure Monitor لإرسال السجلات إلى Azure Storage أو مراكز أحداث Azure أو سجلات Azure Monitor. يعرض الجدول التالي المواقف والرسائل التي يمكنك تسجيلها:

الموقف رسالة
الشبكة الفرعية ل App Service Environment على وشك النفاد. نفدت مساحة بيئة App Service Environment المحددة الموجودة في شبكة فرعية تقريباً. هناك {0} عناوين متبقية. بمجرد استنفاد هذه العناوين، لن تتمكن App Service Environment من التوسع.
تقترب App Service Environment من حد المثيل الإجمالي. تقترب بيئة App Service Environment المحددة من حد المثيل الإجمالي لبيئة App Service Environment. يحتوي حالياً على {0} مثيلات خطة App Service بحد أقصى 200 مثيل.
تم إيقاف App Service Environment مؤقتاً. تم إيقاف بيئة App Service Environment المحددة مؤقتاً. قد يكون تعليق App Service Environment بسبب قصور في الحساب أو وجود تكوين شبكة ظاهرية غير صالح. حل السبب الجذري واستئناف بيئة App Service Environment لمتابعة خدمة نسبة استخدام الشبكة.
تم بدء ترقية App Service Environment. بدأت ترقية النظام الأساسي إلى بيئة App Service Environment المحددة. توقع تأخيرات في عمليات التحجيم.
تم الانتهاء من ترقية App Service Environment. اكتملت ترقية النظام الأساسي إلى بيئة App Service Environment المحددة.
تم بدء إنشاء خطة App Service. تم بدء إنشاء خطة App Service ({0}). الحالة المطلوبة: {1} I{2}v2 workers.
اكتملت عمليات التحجيم. تم الانتهاء من إنشاء خطة App Service ({0}). الحالة الحالية: {1} I{2}v2 workers.
فشلت عمليات التحجيم. فشل إنشاء خطة App Service ({0}). قد يكون هذا بسبب تشغيل App Service Environment في ذروة عدد المثيلات، أو نفاد عناوين الشبكة الفرعية.
تم بدء عمليات التحجيم. بدأت خطة App Service ({0}) في التوسع. الحالة الحالية: {1} I(2)v2. الحالة المطلوبة: {3} I{4}v2 workers.
اكتملت عمليات التحجيم. انتهت خطة App Service ({0}) من التوسع. الحالة الحالية: {1} I{2}v2 workers.
تمت مقاطعة عمليات التحجيم. تمت مقاطعة خطة App Service ({0}) أثناء التحجيم. الحالة السابقة المطلوبة: {1} I{2}v2 workers. الحالة الجديدة المطلوبة: {3} I{4}v2 workers.
فشلت عمليات التحجيم. فشلت خطة App Service ({0}) في التوسع. الحالة الحالية: {1} I{2}v2 workers.

لتمكين التسجيل، اتبع الخطوات التالية:

  1. في المدخل، انتقل إلى Diagnostic settings.
  2. حدد Add diagnostic setting.
  3. أدخل اسماً لتكامل السجل.
  4. حدد وكوِّن وجهات السجل التي تريدها.
  5. حدد AppServiceEnvironmentPlatformLogs. Screenshot that shows how to enable logging.

إذا قمت بالتكامل مع سجلات Azure Monitor، يمكنك رؤية السجلات عن طريق تحديد Logs من مدخل App Service Environment، وإنشاء استعلام مقابل AppServiceEnvironmentPlatformLogs. يتم إرسال السجلات فقط عندما تحتوي بيئة App Service Environment على حدث يقوم بتشغيل السجلات. إذا لم يتوفر لدى App Service Environment مثل هذا الحدث، فلن يكون هناك أي سجلات. لمشاهدة مثال على السجلات بسرعة، قم بإجراء عملية مقياس باستخدام خطة App Service. يمكنك بعد ذلك تشغيل استعلام مقابل AppServiceEnvironmentPlatformLogs لمشاهدة هذه السجلات.

إنشاء تنبيه

لإنشاء تنبيه مقابل سجلاتك، اتبع الإرشادات الواردة في إنشاء تنبيهات السجل وعرضها وإدارتها باستخدام Azure Monitor. باختصار:

  1. افتح صفحة Alerts في مدخل App Service Environment.
  2. حدد قاعدة تنبيه جديدة.
  3. بالنسبة إلى Resource، حدد مساحة عمل Azure Monitor Logs.
  4. قم بتعيين حالتك باستخدام بحث سجل مخصص لاستخدام استعلام. على سبيل المثال، قد تقوم بتعيين ما يلي: AppServiceEnvironmentPlatformLogs | حيث يحتوي ResultDescription على بدء التحجيم. تعيين الحد حسب الاقتضاء.
  5. إضافة مجموعة إجراءات أو إنشائها (اختياري). مجموعة الإجراءات هي المكان الذي تحدد فيه الاستجابة للتنبيه، مثل إرسال بريد إلكتروني أو رسالة SMS.
  6. قم بتسمية التنبيه وحفظه.

تمكين التشفير الداخلي

لا يمكنك رؤية المكونات الداخلية أو الاتصال داخل نظام App Service Environment. ولتمكين معدل نقل أعلى، لا يتم تمكين التشفير افتراضياً بين المكونات الداخلية. ويعد النظام آمناً لأن نقل البيانات لا يمكن مراقبته أو الوصول إليه. إذا كان لديك متطلبات توافق للتشفير الكامل لمسار البيانات، يمكنك تمكين هذا. حدّد Configuration، كما هو موضح في لقطة شاشة التالية.

Screenshot that shows how to enable internal encryption.

يقوم هذا الخيار بتشفير نسبة استخدام الشبكة الداخلية، كما يقوم بتشفير ملف الصفحات وأقراص العامل. كن على علم بأن هذا الخيار يمكن أن يؤثر على أداء النظام. ستكون بيئة App Service Environment في حالة غير مستقرة حتى يتم نشر التغيير بالكامل. قد يستغرق النشر الكامل للتغيير بضع ساعات حتى يكتمل، اعتماداً على عدد المثيلات الموجودة في ASE.

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

تفضيل الترقية

إذا كان لديك بيئات App Service Environment متعددة، فقد ترغب في ترقية بعضها قبل البيئات الأخرى. يمكنك تمكين هذا السلوك من خلال مدخل App Service Environment. ضمن Configuration، لديك خيار تعيين Upgrade preference. تشمل القيم المحتملة ما يلي:

  • بلا: ترقيات Azure في أي دفعة معينة. تعتبر هذه القيمة هي القيمة الافتراضية.
  • في وقت مبكر: الترقية في النصف الأول من ترقيات App Service.
  • متأخر: الترقية في النصف الثاني من ترقيات App Service.
  • يدوي: احصل على نافذة 15 يوما لنشر الترقية يدويا.

حدّد القيمة التي تريدها، ثم حدّد Save.

Screenshot that shows the App Service Environment configuration portal.

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

حذف App Service Environment

للحذف:

  1. حدّد Delete في أعلى جزء App Service Environment .
  2. أدخل اسم App Service Environment لتأكيد رغبتك في حذفها. عند حذف بيئة App Service Environment، يمكنك أيضاً حذف كل المحتوى بداخلها. Screenshot that shows how to delete.
  3. حدد موافق.