خيارات شبكات دالات Azure

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

تحتوي نماذج الاستضافة على مستويات مختلفة من عزل الشبكة المتاحة. يساعدك اختيار الشخص الصحيح في تلبية متطلبات عزل الشبكة.

ميزة خطة الاستهلاك خطة استهلاك Flex خطة متميزة خطة/مخصصة ASE تطبيقات الحاوية*
قيود IP الواردة ✅نعم ✅نعم ✅نعم ✅نعم ✅نعم
نقاط النهاية الخاصة الواردة ❌لا ✅نعم ✅نعم ✅نعم ❌لا
تكامل الشبكة الظاهرية ❌لا ✅نعم (إقليمي) ✅نعم (إقليمي) ✅نعم (إقليمي وبوابة) ✅نعم
مشغلات الشبكة الظاهرية (غير HTTP) ❌لا ✅نعم ✅نعم ✅نعم ✅نعم
اتصالات مختلطة (نظام Windows فحسب) ❌لا ❌ لا ✅نعم ✅نعم ❌لا
قيود IP الصادرة ❌لا ✅نعم ✅نعم ✅نعم ✅نعم

*لمزيد من المعلومات، راجع الشبكات في بيئة Azure Container Apps.

موارد التشغيل السريع

استخدم الموارد التالية لبدء تشغيل سيناريوهات شبكة Azure Functions بسرعة. تتم الإشارة إلى هذه الموارد في جميع أنحاء المقالة.

ميزات الشبكات الواردة

تسمح الميزات التالية بإمكانية تصفية الطلبات الواردة إلى تطبيق الوظائف لديك.

قيود الوصول الوارد

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

تتوفر قيود الوصول في خطة Flex Consumption و Elastic Premium و Consumption و App Service.

إشعار

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

لتتعرف على المزيد، اطلع على قيود الوصول الثابت لـ Azure App Service.

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

تُعد Azure Private Endpoint واجهة شبكة تربطك بشكل خاص وآمن بخدمة مدعومة من Azure Private Link. تستخدم نقطة النهاية الخاصة عنوان بروتوكول إنترنت خاصًا من شبكتك الظاهرية، ما يجعل الخدمة في شبكتك الافتراضية تعمل بشكل فعال.

يمكنك استخدام نقطة النهاية الخاصة للوظائف المستضافة في خطط PremiumوApp Service.

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

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

لمعرفة المزيد، راجع استخدام نقاط النهاية الخاصة لتطبيقات الويب.

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

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

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

  1. يوصى بتكوين تكامل الشبكة الظاهرية الإقليمي مع تطبيق الوظائف للاتصال بشبكة فرعية محددة.
  2. انتقل إلى الخدمة الوجهة وتكوين نقاط تقديم الخدمة مقابل الشبكة الفرعية للتكامل.

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

استخدام نقاط تقديم الخدمة

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

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

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

لقطة شاشة من جزء

لا يمكنك استخدام نقاط نهاية الخدمة لتقييد الوصول إلى التطبيقات التي يتم تشغيلها في بيئة App Service. عندما يكون تطبيقك في بيئة App Service، يمكنك التحكم في الوصول إليه من خلال تطبيق قواعد الوصول إلى IP.

لمعرفة كيفية إعداد نقاط تقديم الخدمة، راجع إنشاء وصول الموقع الخاص في Azure Functions.

تكامل الشبكة الظاهرية

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

  • مستويات أسعار الحوسبة المخصصة، والتي تشمل Basic وStandard وPremium وPremium v2 وPremium v3.
  • بيئة App Service التي يتم توزيعها مباشرة في الشبكة الظاهرية لديك مع بنية أساسية داعمة مخصصة وتستخدم مستويات أسعار الإصدار 2 المعزول والمعزول.

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

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

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

ميزة تكامل الشبكة الظاهرية:

  • يتطلب مستوى أسعار App Service التي تتضمن Basic أو Standard المدعوم أو Premium أو Premium v2 أو Premium v3 أو Elastic Premium.
  • يدعم TCP وUDP.
  • يعمل مع تطبيقات App Service وتطبيقات الوظائف.

هناك بعض الأشياء التي لا يدعمها تكامل الشبكة الظاهرية مثل:

  • تركيب محرك أقراص.
  • الانضمام إلى مجال Windows Server Active Directory.
  • NetBIOS.

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

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

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

لمعرفة كيفية إعداد تكامل الشبكة الظاهرية، راجع تمكين تكامل الشبكة الظاهرية.

تمكين تكامل الشبكة الظاهرية

  1. في تطبيق الوظائف في مدخل Microsoft Azure، حدد Networking، ثم ضمن VNet Integration حدد Click here to configure.

  2. حدد Add VNet.

    حدد تكامل VNet

  3. تحتوي القائمة المنسدلة على كافة شبكات Azure Resource manager الظاهرية في اشتراكك في نفس المنطقة. حدد الشبكة الظاهرية التي تريد التكامل معها.

    حدد شبكة VNet

    • تدعم خطط Functions Flex Consumption و Elastic Premium تكامل الشبكة الظاهرية الإقليمية فقط. إذا كانت الشبكة الظاهرية في نفس المنطقة، فيوصى بإنشاء شبكة فرعية جديدة أو تحديد شبكة فرعية فارغة موجودة مسبقًا.

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

أثناء عملية الدمج، تتم إعادة تشغيل التطبيق الخاص بك. عند الانتهاء من التكامل، سترى تفاصيل على الشبكة الظاهرية التي تم دمجك معها. بشكل افتراضي، يتم تمكين Route All، ويتم توجيه جميع نسبة استخدام الشبكة إلى شبكتك الظاهرية.

إذا كنت ترغب في توجيه حركة المرور الخاصة بك فقط (حركة مرور RFC1918)، يرجى اتباع الخطوات الواردة في وثائق App Service.

تكامل الشبكة الظاهرية الإقليمي

يسمح استخدام تكامل الشبكة الظاهرية الإقليمي للتطبيق بإمكانية الوصول إلى:

  • الموارد في نفس الشبكة الظاهرية مثل تطبيقك.
  • الموارد الموجودة في شبكات ظاهرية متناظرة مع الشبكة الظاهرية التي تم تكامل التطبيق معها.
  • الخدمات المؤمنة لنقطة تقديم الخدمة.
  • الموارد عبر اتصالات Azure ExpressRoute.
  • الموارد عبر الاتصالات المناظرة، والتي تتضمن اتصالات Azure ExpressRoute.
  • نقاط النهاية الخاصة

عند استخدام تكامل الشبكة الظاهرية الإقليمية، يمكنك استخدام ميزات شبكة Azure التالية:

  • مجموعات أمان الشبكة (NSGs): يمكنك حظر حركة المرور الصادرة باستخدام مجموعة أمان الشبكة الموضوعة على الشبكة الفرعية للتكامل. لا تنطبق القواعد الواردة حيث لا يمكنك استخدام تكامل الشبكة الظاهرية لتوفير وصول وارد إلى التطبيق.
  • جداول التوجيه (UDRs): يمكنك وضع جدول توجيه على الشبكة الفرعية للتكامل لإرسال حركة المرور الصادرة حيثما تريد.

إشعار

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

تكامل الشبكة الظاهرية الإقليمي غير قادر على استخدام منفذ 25.

لخطة استهلاك Flex:

  1. تأكد من Microsoft.App تمكين موفر موارد Azure لاشتراكك باتباع هذه الإرشادات. تفويض الشبكة الفرعية المطلوب من قبل تطبيقات Flex Consumption هو Microsoft.App/environments.
  2. تفويض الشبكة الفرعية المطلوب من قبل تطبيقات Flex Consumption هو Microsoft.App/environments. هذا تغيير من Elastic Premium وApp Service التي لها متطلبات تفويض مختلفة.
  3. يمكنك التخطيط لاستخدام 40 عنوان IP على الأكثر لتطبيق وظيفة واحد، حتى لو تجاوز حجم التطبيق 40 عنوانا. على سبيل المثال، إذا كان لديك خمسة عشر تطبيقا لدالة Flex Consumption ستكون VNet مدمجة في نفس الشبكة الفرعية، يمكنك التخطيط لعناوين IP 15x40 = 600 المستخدمة على الأكثر. هذا الحد عرضة للتغيير، ولا يتم فرضه.
  4. لا يمكن أن تكون الشبكة الفرعية قيد الاستخدام بالفعل لأغراض أخرى (مثل نقاط نهاية خاصة أو خدمة، أو مفوضة إلى أي خطة أو خدمة استضافة أخرى). بينما يمكنك مشاركة نفس الشبكة الفرعية مع تطبيقات Flex Consumption المتعددة، سيتم مشاركة موارد الشبكات عبر تطبيقات الوظائف هذه ويمكن أن يؤدي ذلك إلى تطبيق دالة واحد يؤثر على أداء الآخرين على نفس الشبكة الفرعية.

هناك بعض القيود على استخدام الشبكة الظاهرية:

  • تتوفر الميزة من Flex Consumption و Elastic Premium و App Service Premium V2 و Premium V3. كما أنها متوفرة في الوضع «Standard»، لكن من عمليات توزيع App Service الأحدث فحسب. إذا كنت تستخدم عملية توزيع أقدم، فيمكنك استخدام الميزة من خطة Premium V2 لـ App Service فحسب. إذا كنت تريد التأكد من أنه يمكنك استخدام الميزة في خطة App Service القياسية، قم بإنشاء التطبيق في خطة Premium V3 لـ App Service. هذه الخطط مدعومة فقط في أحدث عمليات التوزيع لدينا. يمكنك تقليص حجمها إذا كنت ترغب في ذلك لاحقًا.
  • يمكن استخدام الشبكة الفرعية للتكامل بواسطة خطة App Service واحدة فقط.
  • لا يمكن استخدام الميزة من قبل تطبيقات الخطة المعزولة الموجودة في بيئة App Service.
  • تتطلب الميزة شبكة فرعية غير مستخدمة تبلغ / 28 أو أكبر في الشبكة الظاهرية لـ Azure Resource Manager.
  • يجب أن يكون التطبيق والشبكة الظاهرية في نفس المنطقة.
  • لا يمكنك حذف شبكة ظاهرية باستخدام تطبيق متكامل. يمكنك إزالة التكامل قبل حذف الشبكة الظاهرية.
  • يمكنك الحصول على ما يصل إلى تكاملين للشبكة الظاهرية الإقليمية لكل خطة App Service. يمكن لتطبيقات متعددة في نفس خطة App Service استخدام نفس الشبكة الفرعية للتكامل.
  • لا يمكنك تغيير الاشتراك في تطبيق أو خطة أثناء وجود تطبيق يستخدم تكامل الشبكة الظاهرية الإقليمي.

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

يعتمد تكامل الشبكة الظاهرية على شبكة فرعية مخصصة. عند توفير شبكة فرعية، تفقد شبكة Azure الفرعية خمسة عناوين IP من البداية. بالنسبة لخطط Elastic Premium وApp Service، يتم استخدام عنوان واحد من الشبكة الفرعية للتكامل لكل مثيل خطة. عند تغيير حجم التطبيق إلى أربع مثيلات، يتم استخدام أربعة عناوين. بالنسبة إلى Flex Consumption، لا ينطبق هذا الأمر وتشارك المثيلات عناوين IP.

عند زيادة الحجم أو تقليله، تتم مضاعفة مساحة العنوان المطلوبة لفترة قصيرة من الوقت. يؤثر هذا على مثيلات معتمدة متوفرة حقيقية لحجم شبكة فرعية معينة. يعرض الجدول التالي كل من الحد الأقصى للعناوين المتوفرة لكل كتلة CIDR وتأثير ذلك على المقياس الأفقي:

حجم كتلة CIDR الحد الأقصى للعناوين المتاحة الحد الأقصى للمقياس الأفقي (مثيلات)*
/28 11 5
/27 27 13
/26 59 29

*يفترض أنك بحاجة إلى توسيع النطاق أو خفضه إما في الحجم أو SKU في مرحلة ما.

نظرًا لأنه لا يمكن تغيير حجم الشبكة الفرعية بعد التعيين، استخدم شبكة فرعية كبيرة بما يكفي لاستيعاب النطاق الذي قد يصل إليه تطبيقك. لتجنب أي مشكلات في سعة الشبكة الفرعية لخطط Functions Elastic Premium، يجب عليك استخدام /24 مع 256 عنوانا لنظام التشغيل Windows و/26 مع 64 عنوانا ل Linux. عند إنشاء شبكات فرعية في مدخل Microsoft Azure كجزء من التكامل مع الشبكة الظاهرية، يتطلب الحد الأدنى لحجم /24 و/26 نظامي التشغيل Windows وLinux على التوالي.

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

الميزة مدعومة بالكامل لكل من تطبيقات Windows و Linux، بما في ذلك الحاويات المخصصة. جميع السلوكيات تعمل بنفس الطريقة بين تطبيقات Windows وتطبيقات Linux.

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

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

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

مسارات

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

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

تؤثر مسارات بروتوكول بوابة الحدود (BGP) أيضا على نسبة استخدام الشبكة للتطبيق. إذا كان لديك مسارات BGP من شيء مثل بوابة ExpressRoute، فإن نسبة استخدام الشبكة الصادرة للتطبيق تتأثر. بشكل افتراضي، تؤثر مسارات BGP على نسبة استخدام الشبكة الوجهة RFC1918 فقط. عندما يمثل تطبيق الوظائف شبكة ظاهرية متكاملة مع تمكين خيار «توجيه الكل»، يمكن أن تتأثر نسبة استخدام الشبكة الصادرة بالكامل بمسارات BGP لديك.

مناطق Azure DNS الخاصة

يستخدم التطبيق لديك، بعد التكامل مع الشبكة الظاهرية، نفس خادم DNS الذي تم تكوين الشبكة الظاهرية معه وسيعمل مع مناطق Azure DNS الخاصة المرتبطة بالشبكة الظاهرية.

تقييد حساب التخزين الخاص بك بشبكة ظاهرية

إشعار

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

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

يتم دعم هذه الميزة لجميع وحدات SKU المدعومة بالشبكة الظاهرية ل Windows وLinux في خطة Dedicated (App Service) وخطط Elastic Premium، بالإضافة إلى خطة Flex Consumption. خطة الاستهلاك غير مدعومة. لمعرفة كيفية إعداد وظيفة باستخدام حساب تخزين يقتصر على شبكة خاصة، راجع تقييد حساب التخزين الخاص بك بشبكة ظاهرية.

استخدام مراجع Key Vault

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

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

مشغلات الشبكة الظاهرية (غير HTTP)

حاليًا، يمكنك استخدام وظائف تشغيل غير HTTP من داخل شبكة ظاهرية بإحدى طريقتين:

  • قم بتشغيل تطبيق الوظائف في خطة Elastic Premium وتمكين دعم مشغل الشبكة الظاهرية.
  • قم بتشغيل تطبيق الوظائف في Flex Consumption أو خطة App Service أو App Service Environment.

خطة Elastic Premium مع مشغلات الشبكة الظاهرية

تتيح لك خطة Elastic Premium إنشاء وظائف يتم تشغيلها بواسطة الخدمات داخل شبكة ظاهرية. تعرف هذه المشغلات غير HTTP باسم مشغلات الشبكة الظاهرية.

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

  1. انتقل إلى تطبيق الوظائف الجديد في مدخل Azure.

  2. ضمن Settings حدد Configuration، ثم في علامة التبويب Function runtime settings ، قم بتعيين Runtime Scale Monitoring إلى On.

  3. حدد Save لتحديث تكوين تطبيق الوظائف وإعادة تشغيل التطبيق.

VNETToggle

تلميح

قد يكون لتمكين مراقبة مشغلات الشبكة الظاهرية تأثير على أداء التطبيق الخاص بك، على الرغم من أن هذا التأثير من المحتمل أن يكون صغيرا جدا.

لا يتوفر دعم مراقبة المقياس الديناميكي لمشغلات الشبكة الظاهرية في الإصدار 1.x من وقت تشغيل الوظائف.

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

الملحق (الحد الأدنى للإصدار) مراقبة مقياس وقت التشغيل فقط مع التحجيم المستند إلى الهدف
Microsoft.Azure.WebJobs.Extensions.CosmosDB > 3.0.5 > 4.1.0
Microsoft.Azure.WebJobs.Extensions.DurableTask > 2.0.0 غير متوفر
Microsoft.Azure.WebJobs.Extensions.EventHubs > 4.1.0 > 5.2.0
Microsoft.Azure.WebJobs.Extensions.ServiceBus > 3.2.0 > 5.9.0
Microsoft.Azure.WebJobs.Extensions.Storage > 3.0.10 > 5.1.0*

* تخزين قائمة الانتظار فقط.

هام

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

خطة App Service وبيئة App Service مع مشغلات الشبكة الظاهرية

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

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

اتصالات مختلطة

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

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

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

هام

يتم دعم الاتصالات المختلطة فقط على خطط Windows. نظام Linux غير معتمد.

قيود IP الصادرة

تتوفر قيود IP الصادرة في خطة استهلاك Flex أو خطة Elastic Premium أو خطة App Service أو App Service Environment. يمكنك تكوين القيود الصادرة للشبكة الظاهرية حيث يتم توزيع "بيئة App Service".

عند دمج تطبيق دالة في خطة Elastic Premium أو خطة App Service مع شبكة ظاهرية، لا يزال بإمكان التطبيق إجراء مكالمات صادرة إلى الإنترنت بشكل افتراضي. بواسطة تكامل تطبيق الوظائف مع شبكة ظاهرية مع تمكين خيار «توجيه الكل»، وتفرض إرسال نسبة استخدام الشبكة الصادرة بالكامل إلى الشبكة الظاهرية حتى يمكن استخدام قواعد مجموعة أمان الشبكة لتقييد نسبة استخدام الشبكة. بالنسبة إلى Flex Consumption، يتم توجيه جميع حركة المرور بالفعل من خلال الشبكة الظاهرية ولا يلزم توجيه الكل.

لمعرفة كيفية التحكم في عنوان IP الصادر باستخدام شبكة ظاهرية، راجع البرنامج التعليمي: التحكم في عنوان IP الصادر لـ Azure Functions باستخدام بوابة ترجمة عناوين الشبكة لشبكة Azure الظاهرية.

Automation

تتيح لك واجهات برمجة التطبيقات التالية إدارة تكاملات الشبكة الظاهرية الإقليمية برمجيًا:

  • Azure CLI: استخدم الأوامر az functionapp vnet-integration لإضافة تكامل شبكة ظاهرية إقليمي أو سرده أو إزالته.
  • قوالب ARM: يمكن تمكين تكامل الشبكة الظاهرية الإقليمي باستخدام قالب Azure Resource Manager. للحصول على مثال كامل، راجع قالب التشغيل السريع لـ Functions.

اعتبارات الاختبار

عند اختبار الوظائف في تطبيق دالة مع نقاط نهاية خاصة، يجب إجراء الاختبار من داخل نفس الشبكة الظاهرية، مثل على جهاز ظاهري (VM) في تلك الشبكة. لاستخدام الخيار Code + Test في المدخل من هذا الجهاز الظاهري، تحتاج إلى إضافة أصول CORS التالية إلى تطبيق الوظائف:

  • https://functions-next.azure.com
  • https://functions-staging.azure.com
  • https://functions.azure.com
  • https://portal.azure.com

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

  1. انتقل إلى تطبيق الوظائف وحدد الإعدادات>الشبكات ثم حدد تكوين>الوصول الوارد الوصول إلى الشبكة العامة.

  2. تأكد من تعيين الوصول إلى الشبكة العامة إلى ممكن من الشبكات الظاهرية المحددة وعناوين IP.

  3. إضافة قاعدة ضمن الوصول إلى الموقع وقواعده:

    1. حدد Service Tag ك نوع إعدادات المصدر وعلامة AzureCloud الخدمة.

    2. تأكد من أن الإجراء هو السماح، وقم بتعيين الاسم والأولوية المطلوبين.

استكشاف الأخطاء وإصلاحها

الميزة سهلة الإعداد، لكن هذا لا يعني أن تجربتك ستكون خالية من المشاكل. إذا واجهت مشاكل في الوصول إلى نقطة النهاية المرغوبة، فهناك بعض الأدوات المساعدة التي يمكنك استخدامها لاختبار الاتصال من وحدة التحكم بالتطبيق. هناك نوعان من وحدات التحكم التي يمكنك استخدامها. أحدهما هو وحدة التحكم Kudu والآخر هو وحدة التحكم في مدخل Microsoft Azure. للوصول إلى وحدة تحكم Kudu من التطبيق، انتقل إلى أدوات>Kudu. يمكنك أيضاً الوصول إلى وحدة التحكم Kudo على [sitename].scm.azurewebsites.net. بعد تحميل موقع الويب، انتقل إلى علامة التبويب Debug console للوصول إلى وحدة التحكم المستضافة على مدخل Microsoft Azure من تطبيقك، انتقل إلى أدوات>Console.

الأدوات

في تطبيقات Windows الأصلية، لن تعمل الأدوات pingو nslookupو tracert في وحدة التحكم بسبب قيود الأمان (تعمل في حاويات Windows المخصصة). لملء الفراغ، تمت إضافة أداتين منفصلتين. لاختبار وظائف DNS، أضفنا أداة تسمى nameresolver.exe. يتشكل بناء الجملة من:

nameresolver.exe hostname [optional: DNS Server]

يمكنك استخدام nameresolver للتحقق من أسماء المضيف التي يعتمد عليها التطبيق. يمكنك، بهذه الطريقة، اختبار ما إذا كان لديك أي شيء تمت تهيئته بشكل خطأ باستخدام DNS أو ربما لا يمكنك الوصول إلى خادم DNS. يمكنك رؤية خادم DNS الذي يستخدمه التطبيق في وحدة التحكم بالاطلاع على المتغيرات البيئية WEBSITE_DNS_SERVER وWEBSITE_DNS_ALT_SERVER.

إشعار

لا تعمل أداة nameresolver.exe حالياً في حاويات Windows المخصصة.

يمكنك استخدام الأداة التالية لاختبار اتصال TCP بمضيف ومجموعة منفذ. تسمى هذه الأداة tcpping وبناء الجملة هو:

tcpping.exe hostname [optional: port]

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

تتبع أخطاء الوصول إلى موارد الشبكة الظاهرية المستضافة

مجموعة من الأشياء يمكن أن تمنع التطبيق من الوصول إلى مضيف ومنفذ محددين. يكون أحد هذه الأشياء في معظم الأحيان:

  • جدار الحماية في الطريق. إذا كان لديك جدار حماية في الطريق، فاضغط على مهلة TCP. تبلغ مهلة TCP 21 ثانية في هذه الحالة. استخدم أداة tcpping لاختبار الاتصال. يمكن أن تحدث مهلات TCP نتيجة إلى عدة أشياء بخلاف جدران الحماية لكنها تبدأ من هناك.
  • لا يمكن الوصول إلى DNS. تبلغ مهلة DNS 3 ثوانٍ لكل خادم DNS. إذا كان لديك خادمان DNS، فستكون المهلة 6 ثوانٍ. استخدم nameresolver لمعرفة ما إذا كان DNS يعمل. لا يمكنك استخدام nslookup لأنه لا يستخدم DNS الذي تم تكوين الشبكة الظاهرية به. إذا تعذر الوصول إليه، فقد يكون لديك جدار حماية أو NSG يحظر الوصول إلى DNS أو قد يكون متوقفا عن التشغيل.

إذا لم تقدم هذه العناصر إجابات لمشاكلك، فابحث أولاً عن أشياء مثل:

تكامل الشبكة الظاهرية الإقليمي

  • هل وجهتك عنوان غير-RFC1918 ولم يتم تمكين خيار توجيه الكل؟
  • هل توجد مجموعة NSG تمنع الخروج من الشبكة الفرعية للتكامل؟
  • إذا كنت تسير عبر Azure ExpressRoute أو VPN، فهل تم تكوين البوابة المحلية لتوجيه نسبة استخدام الشبكة احتياطياً إلى Azure؟ إذا كان بإمكانك الوصول إلى نقاط النهاية في الشبكة الظاهرية وليس محليًا، فتحقق من مساراتك.
  • هل لديك أذونات كافية لتعيين التفويض إلى الشبكة الفرعية للتكامل؟ أثناء تكوين تكامل الشبكة الظاهرية الإقليمي، يتم تفويض الشبكة الفرعية للتكامل إلى Microsoft.Web/serverFarms. تقوم واجهة مستخدم تكامل VNet بتفويض الشبكة الفرعية إلى Microsoft.Web/serverFarms تلقائياً. إذا لم يكن لدى حسابك أذونات شبكة اتصال كافية لتعيين التفويض، فستحتاج إلى شخص يمكنه تعيين السمات على الشبكة الفرعية للتكامل لتفويض الشبكة الفرعية. لتفويض الشبكة الفرعية للتكامل يدوياً، انتقل إلى واجهة مستخدم الشبكة الفرعية لـ Azure Virtual Network وقم بتعيين التفويض لـ Microsoft.Web/serverFarms.

تكامل الشبكة الظاهرية المطلوبة من البوابة

  • هل نطاق عنوان نقطة-إلى-موقع في نطاقات RFC 1918 (10.0.0.0-10.255.255.255/172.16.0.0-172.31.255.255/192.168.0.0-192.168.255.255)؟
  • هل تظهر البوابة كما هي موجودة في المدخل؟ إذا كانت البوابة الخاصة بك معطلة، فأعدها مرة أخرى.
  • هل تظهر الشهادات على أنها متزامنة أم أنك تشك في تغيير تكوين الشبكة؟ إذا كانت شهاداتك غير متزامنة أو كنت تشك في إجراء تغيير على تكوين الشبكة الظاهرية التي لم تتم مزامنتها مع ASP، فحدد Sync Network.
  • إذا كنت تستخدم VPN، فهل تم تكوين البوابة المحلية لتوجيه نسبة استخدام الشبكة احتياطياً إلى Azure؟ إذا كان بإمكانك الوصول إلى نقاط النهاية في الشبكة الظاهرية وليس محليًا، فتحقق من مساراتك.
  • هل تحاول استخدام بوابة توافق تدعم كلاً من نقطة إلى موقع وExpressRoute؟ لا يتم دعم بوابات التوافق مع تكامل الشبكة الظاهرية.

تعد مشكلات تتبع أخطاء الشبكات تحدياً، إذ لا يمكنك معرفة ما يمنع الوصول إلى مضيف محدد: مجموعة المنفذ. تتضمن بعض الأسباب ما يلي:

  • لديك جدار حماية على المضيف يمنع الوصول إلى منفذ التطبيق من نطاق IP من نقطة إلى موقع لديك. غالباً ما يتطلب عبور الشبكات الفرعية وصول عام.
  • المضيف المستهدف متوقف عن التشغيل.
  • التطبيق الخاص بك متوقف عن التشغيل.
  • كان عنوان IP أو اسم مضيف خاطئ.
  • التطبيق يستمع عبر منفذ مختلف عما توقعته. يمكنك مطابقة معرف العملية مع منفذ الاستماع باستخدام "netstat -aon" على مضيف نقطة النهاية.
  • يتم تكوين مجموعات أمان الشبكة بطريقة تمنع الوصول إلى مضيف التطبيق والمنفذ من نطاق IP من نقطة إلى موقع.

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

تتضمن المزيد من خطوات تتبع الأخطاء ما يلي:

  • اتصل بجهاز ظاهري في الشبكة الظاهرية وحاول الوصول إلى مضيف المورد: المنفذ من هناك. لاختبار وصول TCP، استخدم أمر PowerShell ​​Test-NetConnection. يتشكل بناء الجملة من:
Test-NetConnection hostname [optional: -Port]
  • يوصى بإحضار تطبيق على جهاز ظاهري واختبار الوصول إلى هذا المضيف والمنفذ من وحدة التحكم بالتطبيق لديك باستخدام tcpping.

الموارد المحلية

إذا تعذر على التطبيق الوصول إلى مورد محلي، فتحقق مما إذا كان بإمكانك الوصول إلى المورد من الشبكة الظاهرية. استخدم أمر PowerShell Test-NetConnectionللتحقق من وصول TCP. إذا لم يتمكن الجهاز الظاهري من الوصول إلى المورد الداخلي، فقد لا يتم تكوين اتصال VPN أو ExpressRoute بشكل صحيح.

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

  • لم يتم تكوين المسارات باستخدام الشبكة الفرعية أو نطاقات العناوين من نقطة إلى موقع في البوابة المحلية.
  • تعمل مجموعات أمان الشبكة على حظر الوصول إلى نطاق IP من نقطة إلى موقع.
  • تمنع جدران الحماية الداخلية نسبة استخدام الشبكة من نطاق IP من نقطة إلى موقع.
  • أنت تحاول الوصول إلى عنوان غير-RFC 1918 باستخدام ميزة تكامل الشبكة الظاهرية الإقليمي.

حذف خطة App Service أو تطبيق الويب قبل فصل تكامل VNet

في حالة حذف تطبيق الويب أو خطة App Service دون فصل تكامل VNet أولاً، فلن تتمكن من إجراء أي عمليات تحديث/حذف على الشبكة الظاهرية أو الشبكة الفرعية التي تم استخدامها للتكامل مع المورد المحذوف. سيظل تفويض الشبكة الفرعية "Microsoft.Web/serverFarms" معيناً للشبكة الفرعية وسيمنع عمليات التحديث/الحذف.

لتحديث/حذف الشبكة الفرعية أو الشبكة الظاهرية مرة أخرى، تحتاج إلى إعادة إنشاء تكامل VNet ثم فصله:

  1. أعد إنشاء خطة App Service وتطبيق الويب (من الضروري استخدام نفس اسم تطبيق الويب تماماً كما كان من قبل).
  2. يمكنك الانتقال إلى جزء "الشبكات" على تطبيق الويب وتكوين تكامل VNet.
  3. بعد تكوين تكامل VNet، حدد زر "Disconnect".
  4. احذف خطة App Service أو تطبيق الويب.
  5. تحديث/حذف الشبكة الفرعية أو الشبكة الظاهرية.

إذا كنت لا تزال تواجه مشكلات في تكامل VNet بعد اتباع الخطوات المذكورة أعلاه، فيرجى الاتصال بدعم Microsoft.

مستكشف أخطاء الشبكة ومصلحها

يمكنك أيضا استخدام مستكشف أخطاء الشبكة ومصلحها لحل مشكلات الاتصال. لفتح مستكشف أخطاء الشبكة ومصلحها، انتقل إلى التطبيق في مدخل Microsoft Azure. حدد التشخيص وحل المشكلة، ثم ابحث عن مستكشف أخطاء الشبكة ومصلحها.

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

لقطة شاشة تعرض تشغيل مستكشف الأخطاء ومصلحها لمشكلات الاتصال.

مشكلات التكوين - يتحقق مستكشف الأخطاء ومصلحها هذا مما إذا كانت شبكتك الفرعية صالحة لتكامل الشبكة الظاهرية.

لقطة شاشة تعرض تشغيل مستكشف الأخطاء ومصلحها لمشكلات التكوين.

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

الخطوات التالية

لمعرفة المزيد حول الشبكات وAzure Functions: