مشاركة عبر


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

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

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

ميزة خطة استهلاك Flex خطة الاستهلاك خطة متميزة خطة/مخصصة ASE تطبيقات الحاوية1
قيود IP الواردة
نقاط النهاية الخاصة الواردة
تكامل الشبكة الظاهرية 2 3
قيود IP الصادرة
  1. لمزيد من المعلومات، راجع الشبكات في بيئة Azure Container Apps.
  2. هناك اعتبارات خاصة عند العمل مع مشغلات الشبكة الظاهرية.
  3. تدعم خطة Dedicated/ASE فقط تكامل الشبكة الظاهرية المطلوبة من البوابة.

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

استخدم الموارد التالية لبدء تشغيل سيناريوهات شبكة 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. تستخدم نقطة النهاية الخاصة عنوان بروتوكول إنترنت خاصًا من شبكتك الظاهرية، ما يجعل الخدمة في شبكتك الافتراضية تعمل بشكل فعال.

يمكنك استخدام نقطة النهاية الخاصة للوظائف المستضافة في خطط Flex Consumption و Elastic Premium و Dedicated (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.

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

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

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

يوضح هذا القسم بالتفصيل الميزات التي تدعمها Functions للتحكم في البيانات الصادرة من تطبيقك.

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

تدعم Azure Functions نوعين من تكامل الشبكة الظاهرية:

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

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

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

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

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

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

إشعار

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

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

اعتبارات خطة استهلاك Flex:

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

اعتبارات خطط Elastic Premium و Dedicated (App Service) و Container Apps :

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

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

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

  2. حدد Add VNet.

    لقطة شاشة لصفحة تكامل الشبكة الظاهرية حيث يمكنك تمكين تكامل الشبكة الظاهرية في تطبيقك.

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

    حدد شبكة VNet

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

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

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

إذا كنت تفضل توجيه نسبة استخدام الشبكة الخاصة (RFC1918 نسبة استخدام الشبكة) فقط، فاتبع الخطوات الواردة في مقالة App Service هذه.

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

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

في خطط Elastic Premium وEdated (App Service)، تتم مضاعفة مساحة العنوان المطلوبة لفترة قصيرة من الوقت عند توسيع النطاق أو خفضه في حجم المثيل. يؤثر هذا على مثيلات معتمدة متوفرة حقيقية لحجم شبكة فرعية معينة. يعرض الجدول التالي كل من الحد الأقصى للعناوين المتوفرة لكل كتلة 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 على التوالي.

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

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

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

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

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

مسارات

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

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

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

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

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

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

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

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

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

Automation

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

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

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

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

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

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

هام

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

الاتصال بخدمات Azure من خلال شبكة ظاهرية

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

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

إشعار

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

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

يمكنك استخدام حساب تخزين مقيد بالشبكة مع تطبيقات الوظائف على خطط Flex Consumption و Elastic Premium و Dedicated (App Service)؛ خطة الاستهلاك غير مدعومة. بالنسبة ل Elastic Premium والخطط المخصصة، يجب عليك التأكد من تكوين توجيه مشاركة المحتوى الخاص. لمعرفة كيفية تكوين تطبيق الوظائف باستخدام حساب تخزين مؤمن بشبكة ظاهرية، راجع تقييد حساب التخزين الخاص بك بشبكة ظاهرية.

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

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

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

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

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

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

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

خطة 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 Environment، يمكنك كتابة الوظائف التي يتم تشغيلها بواسطة الموارد المؤمنة بواسطة شبكة ظاهرية. لكي يتم تشغيل وظائفك بشكل صحيح، يجب أن يكون تطبيقك متصلا بشبكة ظاهرية مع الوصول إلى المورد المحدد في اتصال المشغل.

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

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

عند اختبار الوظائف في تطبيق دالة مع نقاط نهاية خاصة، يجب إجراء الاختبار من داخل نفس الشبكة الظاهرية، مثل على جهاز ظاهري (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: