مشاركة عبر


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

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

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

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

رسم توضيحي يوضح إدارة واجهات برمجة التطبيقات في شبكة افتراضية خارجية.

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

إشعار

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

هام

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

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

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

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

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

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

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

  • (اختياري) عنوان IPv4 عام قياسي ل SKU.

    هام

    • بدءا من مايو 2024، لم تعد هناك حاجة إلى مورد عنوان IP عام عند نشر (إدخال) مثيل APIM في VNet في الوضع الداخلي أو ترحيل تكوين VNet الداخلي إلى شبكة فرعية جديدة. في وضع VNet الخارجي، يكون تحديد عنوان IP عام اختياريا؛ إذا لم توفر واحدا، يتم تكوين عنوان IP العام المدار من Azure تلقائيا واستخدامه لحركة مرور واجهة برمجة تطبيقات وقت التشغيل. قم بتوفير عنوان IP العام فقط إذا كنت تريد امتلاك عنوان IP العام المستخدم للاتصال الوارد أو الصادر إلى الإنترنت والتحكم فيه.
    • إذا تم توفيره، يجب أن يكون عنوان IP في نفس المنطقة والاشتراك مثل مثيل APIM والشبكة الظاهرية.

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

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

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

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

  • بالنسبة لعمليات توزيع APIM متعددة المناطق، قم بتكوين موارد الشبكة الظاهرية بشكل منفصل لكل موقع.

تمكين الاتصال بالشبكة الافتراضية

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

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

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

  3. في قائمة الشريط الجانبي، تحت النشر + البنية التحتية، اختر الشبكة.

  4. حدد نوع الوصول الخارجي . لقطة شاشة لإعدادات الشبكة في بوابة Azure.

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

    1. اختر موقعا.
    2. اختر الشبكة الافتراضية، الشبكة الفرعية، و(اختياريا) عنوان IP العام.
    • قائمة الشبكات الافتراضية مليئة بالشبكات الافتراضية المتاحة في اشتراكات Azure الخاصة بك، وتم إعدادها في المنطقة التي تقوم بتكوينها.

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

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

  7. اختر التحقق للتأكد من استيفاء المتطلبات المسبقة ويمكن لخدمة إدارة API التحديث بنجاح.

  8. استمر في إعداد إعدادات الشبكة الافتراضية للمواقع المتبقية من مثيل إدارة واجهة برمجة التطبيقات الخاصة بك.

  9. في شريط التنقل العلوي، حدد حفظ.

تمكين الاتصال باستخدام قالب مدير الموارد

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

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

تكوين قواعد NSG

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

هام

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

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

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

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

لقطة شاشة توضح كيفية إضافة API من الشبكة الافتراضية في البوابة.

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

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

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

هام

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

التوجيه

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

لمزيد من المعلومات والاعتبارات، راجع عناوين IP لإدارة واجهة برمجة تطبيقات Azure.

عناوين 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 (مطلوب فقط في المنطقة الأساسية إذا تم نشر خدمة APIM في مناطق متعددة)
    • تخزين Azure
    • مراكز أحداث Azure
    • Azure Key Vault

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

    إشعار

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

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

    إشعار

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

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

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

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

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

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

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

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

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

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

هام

بعد التحقق من صحة الاتصال، قم بإزالة كافة الموارد في الشبكة الفرعية قبل نشر APIM في الشبكة الفرعية.

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

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

  • في البوابة، في قائمة الشريط الجانبي، تحت النشر + البنية التحتية، اخترحالة شبكةالشبكة>.

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

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

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

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

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

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

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

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

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

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

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

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

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