نشر مثيل Azure API Management إلى مناطق Azure متعددة

ينطبق على: Premium

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

عند إضافة منطقة، يمكنك تكوين:

هام

تتوفر ميزة تمكين تخزين بيانات العملاء في منطقة واحدة حاليًا فقط في منطقة جنوب شرق آسيا (سنغافورة) في منطقة آسيا والمحيط الهادئ الجغرافية. بالنسبة لجميع المناطق الأخرى، يتم تخزين بيانات العملاء في Geo.

حول النشر متعدد المناطق

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

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

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

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

  • تحتوي البوابة في كل منطقة (بما في ذلك المنطقة الأساسية) على اسم DNS إقليمي يتبع نمط عنوان URL ل https://<service-name>-<region>-01.regional.azure-api.net، على سبيل المثال https://contoso-westus2-01.regional.azure-api.net.

  • إذا كانت المنطقة غير متصلة، يتم توجيه طلبات واجهة برمجة التطبيقات تلقائيا حول المنطقة الفاشلة إلى أقرب بوابة تالية.

  • إذا كانت المنطقة الأساسية غير متصلة، تصبح وحدة إدارة API Management ومدخل المطور غير متوفرين، ولكن تستمر المناطق الثانوية في خدمة طلبات واجهة برمجة التطبيقات باستخدام أحدث تكوين للبوابة.

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

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

نشر خدمة APIM إلى منطقة إضافية

  1. في مدخل Microsoft Azure، انتقل إلى خدمة إدارة واجهة برمجة التطبيقات وحدد المواقع من القائمة اليسرى.
  2. حدد + إضافة في الشريط العلوي.
  3. حدد الموقع المضاف من القائمة المنسدلة.
  4. حدد عدد المقياس وحداتفي الموقع.
  5. حدد منطقة توفر واحدة أو أكثر اختياريا.
  6. إذا تم نشر مثيل APIM في شبكة ظاهرية، فكون إعدادات الشبكة الظاهرية في الموقع، بما في ذلك الشبكة الظاهرية والشبكة الفرعية وعنوان IP العام (في حالة تمكين مناطق التوفر).
  7. حدد إضافة للتأكيد.
  8. كرر هذه العملية حتى تقوم بتكوين كافة المواقع.
  9. حدد "حفظ" في الشريط العلوي لبدء عملية النشر.

إزالة منطقة خدمة APIM

  1. في مدخل Microsoft Azure، انتقل إلى خدمة إدارة واجهة برمجة التطبيقات وحدد المواقع من القائمة اليسرى.
  2. بالنسبة للموقع الذي ترغب في إزالته، حدد قائمة السياق باستخدام الزر ... في الطرف الأيسر من الجدول. حدد حذف.
  3. تأكد من الحذف وحدد حفظ لتطبيق التغييرات.

توجيه استدعاءات واجهة برمجة التطبيقات إلى خدمات الواجهة الخلفية الإقليمية

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

للاستفادة من التوزيع الجغرافي للنظام الخاص بك، يجب أن يكون لديك خدمات خلفية موزعة في نفس المناطق مثل مثيلات Azure API Management. بعد ذلك، باستخدام النهج @(context.Deployment.Region) والخصائص، يمكنك توجيه حركة المرور إلى مثيلات محلية من الواجهة الخلفية.

  1. انتقل إلى مثيل إدارة واجهة برمجة تطبيقات Azure وحدد واجهات برمجة التطبيقات من القائمة اليسرى.

  2. حدد واجهة برمجة التطبيقات API المطلوبة.

  3. حدد محرر التعليمات البرمجية من القائمة المنسدلة للسهم في المعالجة الواردة.

    محرر التعليمات البرمجية لـ API

  4. استخدم set-backend النهج المقترنة مع choose نهج شرطية لإنشاء نهج توجيه مناسب في <inbound> </inbound> مقطع الملف.

    على سبيل المثال، سيعمل ملف XML التالي لمناطق غرب الولايات المتحدة وشرق آسيا:

    <policies>
        <inbound>
            <base />
            <choose>
                <when condition="@("West US".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                    <set-backend-service base-url="http://contoso-backend-us.com/" />
                </when>
                <when condition="@("East Asia".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                    <set-backend-service base-url="http://contoso-backend-asia.com/" />
                </when>
                <otherwise>
                    <set-backend-service base-url="http://contoso-backend-other.com/" />
                </otherwise>
            </choose>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

استخدام Traffic Manager للتوجيه إلى الخلفيات الإقليمية

يمكنك أيضًا مواجهة خدمات الواجهة الخلفية الخاصة بك مع إدارة حركة مرور Azure، وتوجيه مكالمات API إلى إدارة حركة المرور، والسماح لها بحل التوجيه تلقائيًا.

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

  • للتحكم في نسبة استخدام الشبكة أثناء عمليات الصيانة، نوصي باستخدام أسلوب التوجيه الأولوية.

استخدام التوجيه المخصص إلى البوابات الإقليمية لإدارة واجهة برمجة التطبيقات

تقوم APIM بتوجيه الطلبات إلى بوابة إقليمية استنادا إلى أقل زمن انتقال. على الرغم من أنه من غير الممكن تجاوز هذا الإعداد في APIM، يمكنك استخدام Traffic Manager الخاص بك مع قواعد التوجيه المخصصة.

  1. قم بإنشاء إدارة حركة المرور Azureالخاصة بك.
  2. إذا كنت تستخدم مجالا مخصصا، فاستخدمه مع Traffic Manager بدلا من خدمة APIM.
  3. كوّن نقاط النهاية الإقليمية لإدارة API في إدارة حركة المرور. تتبع نقاط النهاية الإقليمية نمط URL https://<service-name>-<region>-01.regional.azure-api.net الخاص به، على سبيل المثال https://contoso-westus2-01.regional.azure-api.net.
  4. كوّن نقاط النهاية الإقليمية لإدارة API في إدارة حركة المرور. تتبع نقاط النهاية الإقليمية نمط URL https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdef الخاص به، على سبيل المثال https://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef.
  5. قم بتحديد أسلوب التوجيه من إدارة حركة المرور.

تعطيل التوجيه إلى بوابة إقليمية

في بعض الحالات، قد تحتاج إلى تعطيل التوجيه مؤقتا إلى إحدى البوابات الإقليمية. على سبيل المثال:

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

لتعطيل التوجيه إلى بوابة إقليمية في مثيل APIM، قم بتحديث قيمة خاصية البوابة disableGateway إلى true. يمكنك تعيين القيمة باستخدام Create or update service REST API أو الأمر az apim update في Azure CLI أو set-azapimanagement Azure PowerShell cmdlet أو أدوات Azure الأخرى.

إشعار

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

لتعطيل بوابة إقليمية باستخدام Azure CLI:

  1. استخدم الأمر az apim show لإظهار المواقع وحالة البوابة وعناوين URL الإقليمية المكونة لمثيل APIM.

    az apim show --name contoso --resource-group apim-hello-world-resource \
        --query "additionalLocations[].{Location:location,Disabled:disableGateway,Url:gatewayRegionalUrl}" \
        --output table
    

    مثال على الإخراج:

    Location    Disabled    Url
    ----------  ----------  ------------------------------------------------------------
    West US 2   True        https://contoso-westus2-01.regional.azure-api.net
    West Europe True        https://contoso-westeurope-01.regional.azure-api.net
    
  2. استخدم الأمر az apim update لتعطيل البوابة في موقع متوفر، مثل West US 2.

    az apim update --name contoso --resource-group apim-hello-world-resource \
    --set additionalLocations[location="West US 2"].disableGateway=true
    

    قد يستغرق التحديث بضع دقائق.

  3. تحقق من إعادة توجيه حركة المرور الموجهة إلى عنوان URL للبوابة الإقليمية إلى منطقة أخرى.

لاستعادة التوجيه إلى البوابة الإقليمية، قم بتعيين قيمة disableGateway إلى false.

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

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

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

هام

عند تكوينها في وضع VNet الداخلي، يجب أن يكون لكل بوابة إقليمية أيضا اتصال صادر على المنفذ 1433 بقاعدة بيانات Azure SQL المكونة لمثيل APIM الخاص بك، وهو موجود فقط في المنطقة الأساسية . تأكد من السماح بالاتصال ب FQDN أو عنوان IP لقاعدة بيانات Azure SQL هذه في أي مسارات أو قواعد جدار حماية تقوم بتكوينها للشبكات في مناطقك الثانوية؛ لا يمكن استخدام علامة خدمة Azure SQL في هذا السيناريو. للعثور على اسم قاعدة بيانات Azure SQL في المنطقة الأساسية، انتقل إلى صفحة حالة شبكة الشبكة>لمثيل API Management في المدخل.

عناوين IP

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

    • وضع VNet الخارجي - عناوين IP العامة مطلوبة أيضا لتوجيه حركة مرور HTTP العامة إلى بوابات واجهة برمجة التطبيقات.

    • وضع VNet الداخلي - يتم أيضا إنشاء عنوان IP خاص في كل منطقة تمت إضافتها باستخدام شبكة ظاهرية. استخدم هذه العناوين للاتصال داخل الشبكة بنقاط نهاية APIM في المناطق الأساسية والثانوية.

التوجيه

  • وضع VNet الخارجي - تتم معالجة توجيه حركة مرور HTTP العامة إلى البوابات الإقليمية تلقائيا، بنفس الطريقة بالنسبة لمثيل APIM غير متصل بالشبكة.

  • وضع VNet الداخلي - لا يتم توجيه حركة مرور HTTP الخاصة أو موازنة التحميل إلى البوابات الإقليمية بشكل افتراضي. يمتلك المستخدمون التوجيه وهم مسؤولون عن تقديم الحل الخاص بهم لإدارة التوجيه وموازنة التحميل الخاصة عبر مناطق متعددة.

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