نشر مثيل Azure API Management إلى شبكة ظاهرية - الوضع الخارجي

ينطبق على: المطور | بريميوم

يمكن نشر Azure API Management (حقنها) داخل شبكة Azure الظاهرية (VNet) للوصول إلى خدمات الواجهة الخلفية داخل الشبكة. للحصول على خيارات الاتصال VNet والمتطلبات والاعتبارات، راجع:

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

قم بالتوصيل إلي VNET الخارجية

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

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

المتطلبات الأساسية

راجع متطلبات موارد الشبكة لإدخال إدارة واجهة برمجة التطبيقات في شبكة ظاهرية قبل البدء.

تختلف بعض المتطلبات الأساسية اعتمادا على إصدار (stv2 أو stv1) من النظام الأساسي للحساب الذي يستضيف مثيل APIM الخاص بك.

تلميح

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

  • A virtual network and subnet في نفس المنطقة والاشتراك مثل مثيل API Management الخاص بك.

    • قد تحتوي الشبكة الفرعية المستخدمة للتعيين بمثيل APIM على أنواع موارد Azure أخرى.
    • لا ينبغي تمكين أي تفويضات للشبكة الفرعية. يجب تعيين إعداد تفويض الشبكة الفرعية إلى خدمة للشبكة الفرعية إلى بلا.
  • مجموعة أمان الشبكة متصلة بالشبكة الفرعية أعلاه. مطلوب مجموعة أمان الشبكة (NSG) للسماح صراحة بالاتصال الداخلي، لأن موازن التحميل المستخدم داخليًا بواسطة إدارة APIM آمن بشكل افتراضي ويرفض جميع نسبة استخدام الشبكة الواردة. للحصول على تكوين محدد، راجع تكوين قواعد NSG، لاحقًا في هذه المقالة.

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

  • وحدة SKU القياسيةعنوان IPv4 العام. مطلوب مورد عنوان IP العام عند إعداد الشبكة الافتراضية للوصول الخارجي أو الداخلي. مع شبكة افتراضية داخلية، يتم استخدام عنوان IP العام لعمليات الإدارة فقط. تعرف على المزيد حول عناوين IP لإدارة APIM.

    • يجب أن يكون عنوان IP في نفس المنطقة والاشتراك مثل مثيل إدارة APIM والشبكة الافتراضية.

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

    • للحصول على أفضل أداء للشبكة، يوصى باستخدام تفضيل التوجيه الافتراضي: شبكة Microsoft.

    • عند إنشاء عنوان IP عام في منطقة تخطط فيها لتمكين تكرار المنطقة لمثيل APIM، قم بتكوين إعداد المنطقة المكررة .

    • يتم تعيين قيمة عنوان IP كعنوان IPv4 العام الظاهري لمثيل APIM في تلك المنطقة.

    • عند التغيير من شبكة ظاهرية خارجية إلى داخلية (أو العكس)، أو تغيير الشبكات الفرعية داخل الشبكة، أو تحديث مناطق التوفر لمثيل APIM، عليك تكوين عنوان IP عام مختلف.

قم بتمكين اتصال «شبكة ظاهرية»

تمكين اتصال الشبكة الظاهرية باستخدام مدخل Azure (stv2نظام الحوسبة الأساسي)

  1. انتقل إلى مدخل Azure للعثور على مثيل إدارة واجهة برمجة التطبيقات. ابحث عن خدمات API Management وحددها.

  2. اختر مثيل إدارة واجهة برمجة التطبيقات الخاص بك.

  3. حدد الشبكة.

  4. حدد نوع الوصول الخارجي. حدّد الشبكة الظاهرية في مدخل Azure.

  5. في قائمة المواقع (المناطق) حيث يتم توفير خدمة API Management:

    1. اختر Location.
    2. حدد Virtual network، Subnet، وIP address.
    • يتم ملء قائمة شبكة ظاهرية باستخدام شبكات Resource Manager الظاهرية المتوفرة في اشتراكات Azure الخاصة بك، والتي تم إعدادها في المنطقة التي تقوم بتكوينها.

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

  6. حدد تطبيق. يتم تحديث صفحة Network في مثيل API Management باستخدام اختياراتك الجديد في الشبكة الفرعية وVNET.

  7. استمر في تكوين إعدادات شبكة ظاهرية للمواقع المتبقية لمثيل إدارة APIM الخاص بك.

  8. في شريط التنقل العلوي، حدد ⁧Save⁩، ثم حدد Apply network configuration.

قد يستغرق تحديث مثيل إدارة واجهة برمجة التطبيقات من 15 إلى 45 دقيقة. المثيلات في مستوى المطور لها وقت تعطل أثناء العملية. لا تحتوي المثيلات في المستوى المتميز على وقت تعطل أثناء العملية.

تمكين الاتصال باستخدام قالب Resource Manager (stv2 نظام الحوسبة الأساسي)

  • قالب Azure Resource Manager (إصدار «واجهة برمجة التطبيقات» 2021-08-01)

    زر لنشر قالب Resource Manager إلى Azure.

تمكين الاتصالية باستخدام cmdlets Azure PowerShell (نظام stv1 الأساسي)

إنشاء أو تحديث مثيل APIM في شبكة ظاهرية.

تكوين قواعد NSG

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

هام

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

  • وفي معظم السيناريوهات، استخدم علامات الخدمة المشار إليها بدلاً من عناوين IP للخدمة لتحديد مصادر الشبكة والوجهات.
  • امنح أولوية أعلى لهذه القواعد عن القواعد الافتراضية.
المصدر / منفذ الوجهة (ق) الاتجاه بروتوكول النقل علامات الخدمة
جهة المصدر
الغرض نوع الشبكة الظاهرية
* / [80]، 443 وارد TCP الإنترنت/ شبكة ظاهرية اتصال العميل بإدارة واجهة برمجة التطبيقات خارجي فقط
* / 3443 وارد TCP ApiManagement / VirtualNetwork نقطة نهاية الإدارة لمدخل Azure وPowerShell خارجي وداخلي
* / 6390 وارد TCP AzureLoadBalancer/ شبكة ظاهرية موازن تحميل البنية الأساسية ل Azure خارجي وداخلي
* / 443 وارد TCP AzureTrafficManager / VirtualNetwork توجيه Azure Traffic Manager للنشر متعدد المناطق خارجي فقط
* / 443 صادر TCP الشبكة الظاهرية / التخزين التبعية على Azure Storage لوظائف الخدمة الأساسية خارجي وداخلي
* / 1433 صادر TCP الشبكة الظاهرية / لغة الاستعلامات المركبة الوصول إلى نقاط نهاية Azure SQL لوظائف الخدمة الأساسية خارجي وداخلي
* / 443 صادر TCP الشبكة الظاهرية / AzureKeyVault الوصول إلى Azure Key Vault لوظائف الخدمة الأساسية خارجي وداخلي
* / 1886، 443 صادر TCP VirtualNetwork / AzureMonitor نشر سجلات التشخيص والمقاييس وصحة الموارد وApplication Insights خارجي وداخلي

اتصل بخدمة ويب مستضافة داخل شبكة افتراضية

بمجرد توصيل خدمة «إدارة واجهة برمجة التطبيقات» (API) الخاصة بك بشبكة شبكة ظاهرية، يمكنك الوصول إلى خدمات الواجهة الخلفية داخلها تماماً كما تفعل الخدمات العامة. عند إنشاء واجهة برمجة تطبيقات أو تحريرها، اكتب عنوان IP المحلي أو اسم المضيف (إذا تم تكوين خادم نظام أسماء المجالات لـ «شبكة ظاهرية») لخدمة الويب الخاصة بك في حقل عنوان URL لخدمة الويب.

إضافة واجهة برمجة التطبيقات من شبكة ظاهرية

إعداد خادم نظام أسماء المجالات المخصص

في وضع VNET الخارجي، يقوم Azure بإدارة DNS بشكل افتراضي. يمكنك تكوين خادم DNS المخصص بشكل اختياري.

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

هام

إذا كنت تخطط لاستخدام خادم (خوادم) DNS المخصص لـ «شبكة ظاهرية»، فقم بإعداده قبل نشر خدمة «إدارة واجهة برمجة التطبيقات» فيه. وإلا، فستحتاج إلى تحديث خدمة APIM في كل مرة تقوم فيها بتغيير خادم (خوادم) DNS عن طريق تشغيل عملية تطبيق تكوين الشبكة.

التوجيه

  • يتم حجز عنوان IP العام متوازن التحميل (VIP) لتوفير الوصول إلى نقاط نهاية API Management والموارد خارج «الشبكة الظاهرية».
    • يمكن العثور على «عناوين بروتوكول الإنترنت» العامة في شفرة نظرة عامة / الأساسيات في مدخل Azure.

لمزيد من المعلومات والاعتبارات، راجع عناوين IP الخاصة بإدارة Azure APIM.

عناوين VIP وDIP

سيتم تعيين عناوين IP الديناميكية (DIP) لكل جهاز ظاهري أساسي في الخدمة واستخدامها للوصول إلى نقاط النهاية والموارد في VNet وفي شبكات VNets ذات النظرة. سيتم استخدام عنوان IP الظاهري العام (VIP) الخاص بخدمة إدارة APIM للوصول إلى الموارد العامة.

إذا كان تقييد IP يسرد الموارد الآمنة داخل VNet أو VNets peered، فإننا نوصي بتحديد نطاق الشبكة الفرعية بالكامل حيث يتم نشر خدمة إدارة APIM لمنح أو تقييد الوصول من الخدمة.

تعرف على المزيد حول حجم الشبكة الفرعية الموصى به.

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

يسمح لك النفق القسري بإعادة توجيه أو "فرض" كل نسبة استخدام الشبكة المرتبطة بالإنترنت من شبكتك الفرعية إلى أماكن العمل للفحص والتدقيق. بشكل عام، تقوم بتكوين وتعريف المسار الظاهري الخاص بك (0.0.0.0/0)، مما يجبر كل حركة المرور من الشبكة الفرعية لإدارة واجهة برمجة التطبيقات (API) على التدفق عبر جدار حماية داخلي أو إلى جهاز ظاهري للشبكة. يعمل تدفق نسبة استخدام الشبكة هذا على قطع الاتصال بإدارة APIM، نظرًا لأن نسبة استخدام الشبكة الصادرة إما محظورة محليًا أو يتم ربطها بمجموعة عناوين لا يمكن التعرف عليها والتي لم تعد تعمل مع نقاط نهاية Azure المختلفة. يمكنك حل هذه المشكلة بالطرق التالية:

  • تمكين نقاط نهاية الخدمة على الشبكة الفرعية التي يتم فيها نشر خدمة APIM من أجل:

    • Azure SQL (مطلوب فقط في المنطقة الأساسية إذا تم نشر خدمة إدارة واجهة برمجة التطبيقات في مناطق متعددة)
    • تخزين Azure
    • مراكز أحداث Azure
    • Azure Key Vault (مطلوب عند نشر إدارة APIM على النظام الأساسي stv2)

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

    إشعار

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

  • يتم توجيه جميع حركة مرور وحدة التحكم من الإنترنت إلى نقطة نهاية الإدارة لخدمة APIM الخاصة بك من خلال مجموعة محددة من عناوين IP الواردة، التي تستضيفها APIM، والتي تشملها علامة خدمة ApiManagement. عندما يتم إجبار نسبة استخدام الشبكة على نفق، لن يتم تعيين الاستجابات بشكل متماثل مرة أخرى إلى عناوين IP الخاصة بالمصدر الداخلي وفقد الاتصال بنقطة نهاية الإدارة. للتغلب على هذا القيد، قم بتكوين مسار معرف من قبل المستخدم (UDR) لعلامة خدمة ApiManagement مع تعيين نوع القفزة التالية إلى "الإنترنت"، لتوجيه حركة المرور مرة أخرى إلى Azure.

    إشعار

    لا يعتبر السماح لحركة مرور إدارة API بتجاوز جدار حماية محلي أو جهاز ظاهري للشبكة خطرًا أمنيًا كبيرًا. يسمح التكوين الموصى به للشبكة الفرعية لإدارة واجهة برمجة التطبيقات بنسبة استخدام شبكة الإدارة الواردة على المنفذ 3443 فقط من مجموعة عناوين Azure IP التي تتضمنها علامة خدمة APIM. تكوين UDR الموصى به مخصص فقط لمسار الإرجاع لحركة مرور Azure هذه.

  • (وضع VNet الخارجي) سيتم أيضًا إسقاط نسبة استخدام شبكة مستوى البيانات للعملاء الذين يحاولون الوصول إلى بوابة إدارة APIM وبوابة المطور من الإنترنت بشكل افتراضي بسبب التوجيه غير المتماثل الذي تم تقديمه بواسطة النفق الإجباري. لكل عميل يتطلب الوصول، قم بتكوين UDR صريح بنوع القفزة التالية "الإنترنت" لتجاوز جدار الحماية أو جهاز الشبكة الافتراضية.

  • بالنسبة إلى تبعيات خدمة إدارة واجهة برمجة التطبيقات (API) ذات القوة النفقية الأخرى، قم بحل اسم المضيف والوصول إلى نقطة النهاية. يتضمن هذا ما يلي:

    • المقاييس ومراقبة الصحة
    • تشخيصات مدخل Azure
    • ترحيل بروتوكول إرسال البريد البسيط
    • بوابة المطور CAPTCHA
    • الخادم الخاص بخدمات إدارة Azure الرئيسية

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

المشكلات الشائعة في تكوين الشبكة

تم نقل هذا القسم. راجع مرجع تكوين الشبكة الظاهرية.

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

النشر الأولي غير الناجح لخدمة APIM في شبكة فرعية

  • نشر آلة افتراضية في نفس الشبكة الفرعية.
  • الاتصال إلى الجهاز الظاهري والتحقق من صحة الاتصال بأحد الموارد التالية في اشتراك Azure:
    • تخزين البيانات الثنائية الكبيرة في Azure
    • قاعدة بيانات Azure SQL
    • جدول تخزين Azure
    • Azure Key Vault (لمثيل APIM المستضاف على stv2 النظام الأساسي)

هام

بعد التحقق من صحة الاتصال، قم بإزالة جميع الموارد في الشبكة الفرعية قبل نشر API Management في الشبكة الفرعية (مطلوب عند استضافة API Management على stv1 النظام الأساسي).

التحقق من صحة حالة الشبكة

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

  • في المدخل، في القائمة اليمنى، ضمن النشر والبنية التحتية، حدّد حالة اتصال الشبكة>حالة الشبكة.

    لقطة شاشة للتحقق من حالة اتصال الشبكة في المدخل.

تصفية ‏‏الوصف
مطلوب حدد لمراجعة اتصال خدمات Azure المطلوبة لإدارة واجهة برمجة التطبيقات. يشير الفشل إلى أن المثيل غير قادر على أداء العمليات الأساسية لإدارة واجهات برمجة التطبيقات.
اختياري حدد لمراجعة اتصال الخدمات الاختيارية. يشير الفشل فقط إلى أن الوظيفة المحددة لن تعمل (على سبيل المثال، SMTP). قد يؤدي الفشل إلى تدهور استخدام مثيل إدارة واجهة برمجة التطبيقات ومراقبتها وتوفير اتفاقية مستوى الخدمة الملتزمة.

للمساعدة في استكشاف مشكلات الاتصال وإصلاحها، حدد:

  • المقاييس - لمراجعة مقاييس حالة اتصال الشبكة

  • التشخيص - لتشغيل مدقق شبكة ظاهرية خلال فترة زمنية محددة

لمعالجة مشكلات الاتصال، راجع إعدادات تكوين الشبكة وإصلاح إعدادات الشبكة المطلوبة.

التحديثات المتزايدة

عند إجراء تغييرات على شبكتك، راجع NetworkStatus API للتحقق من أن خدمة APIM لم تفقد الوصول إلى الموارد الهامة. يجب تحديث حالة الاتصال كل 15 دقيقة.

لتطبيق تغيير تكوين الشبكة على طبعة إدارة APIM باستخدام البوابة الإلكترونية:

  1. في القائمة اليسرى للمثيل الخاص بك، ضمن Deployment and infrastructure، حدد Network>Virtual network.
  2. حدد تطبيق تكوين الشبكة.

يحتفظ مثيل API Management المستضاف stv1 على النظام الأساسي للحساب، عند نشره في شبكة فرعية ل Resource Manager VNet، بالشبكة الفرعية عن طريق إنشاء ارتباط تنقل الموارد. إذا كانت الشبكة الفرعية تحتوي بالفعل على مورد من موفر مختلف، فسيفشل النشر. وبالمثل، عند حذف خدمة إدارة واجهة برمجة التطبيقات، أو نقلها إلى شبكة فرعية مختلفة، ستتم إزالة ارتباط التنقل في الموارد.

التحديات التي تمت مواجهتها في إعادة تعيين مثيل APIM إلى الشبكة الفرعية السابقة

  • تأمين VNet - عند نقل مثيل APIM مرة أخرى إلى شبكته الفرعية الأصلية، قد لا يكون إعادة التعيين الفوري ممكنا بسبب تأمين VNet، والذي يستغرق ما يصل إلى ست ساعات لإزالته. إذا كانت الشبكة الفرعية الأصلية تحتوي على خدمات إدارة واجهة برمجة التطبيقات الأخرى stv1 المستندة إلى النظام الأساسي (المستندة إلى الخدمة السحابية)، فإن حذفها وانتظار 6 ساعات أمر ضروري لنشر stv2 خدمة تستند إلى النظام الأساسي في نفس الشبكة الفرعية.
  • تأمين مجموعة الموارد - سيناريو آخر يجب مراعاته هو وجود تأمين نطاق على مستوى مجموعة الموارد أو أعلى، مما يعيق عملية حذف ارتباط تنقل الموارد. لحل هذه المشكلة، قم بإزالة تأمين النطاق والسماح بتأخير ما يقرب من 4-6 ساعات لخدمة APIM لإلغاء الارتباط من الشبكة الفرعية الأصلية قبل إزالة التأمين، ما يتيح النشر إلى الشبكة الفرعية المطلوبة.

استكشاف أخطاء الاتصال ب Microsoft Graph وإصلاحها من داخل VNet

مطلوب اتصال الشبكة ب Microsoft Graph للميزات بما في ذلك تسجيل دخول المستخدم إلى مدخل المطور باستخدام موفر هوية Microsoft Entra.

لاستكشاف أخطاء الاتصال ب Microsoft Graph وإصلاحها من داخل VNet:

  • تأكد من تكوين NSG وقواعد الشبكة الأخرى للاتصال الصادر من مثيل API Management إلى Microsoft Graph (باستخدام علامة خدمة AzureActiveDirectory ).

  • تأكد من دقة DNS والوصول إلى graph.microsoft.com الشبكة من داخل الشبكة الظاهرية. على سبيل المثال، توفير جهاز ظاهري جديد داخل VNet، والاتصال به، ومحاولة GET https://graph.microsoft.com/v1.0/$metadata من مستعرض أو باستخدام cURL أو PowerShell أو أدوات أخرى.

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

تعلم المزيد عن: