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

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

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

يمكنك استضافة تطبيقات الوظائف بعدة طرق:

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

مصفوفة من ميزات شبكات الاتصال

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

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

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

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

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

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

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

تتوفر قيود الوصول في خطة Premium، والاستهلاك، وApp Service.

ملاحظة

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

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

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

⁩تعتبر نقاط النهاية الخاصة في Azure⁧⁩ واجهة شبكة تربطك بشكل خاص وآمن بخدمة مدعومة من 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. انتقل إلى جزء الشبكات في مدخل تطبيق الوظائف. ضمنVNet Integration، حدد Click here to configure.

  2. حدد Add VNet.

    حدد تكامل VNet

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

    حدد شبكة VNet

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

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

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

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

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

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

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

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

ملاحظة

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

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

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

  • الميزة متاحة من جميع عمليات توزيع 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 من البداية. يتم استخدام عنوان واحد من الشبكة الفرعية للتكامل لكل مثيل خطة. عند تغيير حجم التطبيق إلى أربع مثيلات، يتم استخدام أربعة عناوين.

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

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

*يفترض أنك ستحتاج إلى زيادة الحجم أو تقليله في أي حجم أو SKU في مرحلة ما.

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

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

ملاحظة

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

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

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

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

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

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

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

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

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

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

عند تشغيل خطة Premium، يمكنك توصيل وظائف المشغل غير HTTP بالخدمات التي تعمل داخل شبكة ظاهرية. للقيام بذلك، يجب تمكين دعم مشغل الشبكة الظاهرية لتطبيق الوظائف لديك. يوجد إعداد Runtime Scale Monitoring في مدخل Azure ضمن Configuration>Function runtime settings.

VNETToggle

يمكنك أيضًا تمكين مشغلات شبكة الاتصال الظاهرية باستخدام أمر Azure CLI التالي:

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites

تلميح

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

يتم دعم مشغلات الشبكة الظاهرية في الإصدار 2.x والإصدارات الأحدث من وقت تشغيل Functions. يتم اعتماد أنواع المشغلات غير HTTP التالية.

الملحق الحد الأدنى للإصدار
Microsoft.Azure.WebJobs.Extensions.Storage 3.0.10 أو أعلى
Microsoft.Azure.WebJobs.Extensions.EventHubs 4.1.0 أو أعلى
Microsoft.Azure.WebJobs.Extensions.ServiceBus 3.2.0 أو أعلى
Microsoft.Azure.WebJobs.Extensions.CosmosDB 3.0.5 أو أعلى
Microsoft.Azure.WebJobs.Extensions.DurableTask 2.0.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 الصادرة في خطة Premium أو خطة App Service أو بيئة App Service. يمكنك تكوين القيود الصادرة للشبكة الظاهرية حيث يتم توزيع "بيئة App Service".

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

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

Automation

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

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

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

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

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

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

  • هل وجهتك عنوان non-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 من نقطة إلى موقع.
  • أنت تحاول الوصول إلى عنوان non-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.

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

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