تدريب - تمكين تجاوز الفشل التلقائي باستخدام توجيه الأفضلية

مكتمل

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

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

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

إنشاء ملف تعريف جديد لـ Traffic Manager

  1. قم بتشغيل الأمر التالي في Cloud Shell لإنشاء ملف تعريف جديد ل Traffic Manager:

    az network traffic-manager profile create \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --name TM-MusicStream-Priority \
        --routing-method Priority \
        --unique-dns-name TM-MusicStream-Priority-$RANDOM
    

    أنت تستخدم هذه المعلمات في الأمر:

    • --أولوية أسلوب التوجيه: تقوم بإنشاء ملف تعريف Traffic Manager باستخدام أسلوب توجيه الأولوية.
    • --اسم DNS فريد: يقوم بإنشاء اسم المجال الفريد عالمياً <unique-dns-name>.trafficmanager.net. نستخدم دالة $RANDOM Bash لإرجاع عدد صحيح عشوائي لضمان أن الاسم فريد.

توزيع تطبيقات الويب

  1. قم بتشغيل الأمر التالي لنشر قالب Resource Manager. ينشئ القالب خادمين، أحدهما في منطقة غرب أوروبا والآخر في منطقة غرب الولايات المتحدة 2. كن صبورا، لأن النشر قد يستغرق بضع دقائق.

    az deployment group create \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --template-uri  https://raw.githubusercontent.com/MicrosoftDocs/mslearn-distribute-load-with-traffic-manager/master/azuredeploy.json \
        --parameters password="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
    

إضافة نقاط النهاية إلى Traffic Manager

  1. تعمل تطبيقات الويب الآن على الأجهزة الظاهرية. قم بتشغيل الأوامر التالية لإضافة موارد عنوان IP العام للأجهزة الظاهرية كنقاط نهاية إلى ملف تعريف Traffic Manager:

    WestId=$(az network public-ip show \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --name westus2-vm-nic-pip \
        --query id \
        --output tsv)
    
    az network traffic-manager endpoint create \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --profile-name TM-MusicStream-Priority \
        --name "Primary-WestUS" \
        --type azureEndpoints \
        --priority 1 \
        --target-resource-id $WestId
    
    WestId=$(az network public-ip show \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --name westeurope-vm-nic-pip \
        --query id \
        --output tsv)
    
    az network traffic-manager endpoint create \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --profile-name TM-MusicStream-Priority \
        --name "Failover-WestEurope" \
        --type azureEndpoints \
        --priority 2 \
        --target-resource-id $WestId
    

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

  2. دعونا نلقي نظرة سريعة على نقاط النهاية التي قمنا بتكوينها. شغّل الأمر التالي:

    az network traffic-manager endpoint list \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --profile-name TM-MusicStream-Priority \
        --output table
    

اختبار التطبيق

  1. دعونا نلقي نظرة على ما يعرضه DNS لتطبيقات الويب وملف تعريف Traffic Manager لدينا. قم بتشغيل الأوامر التالية لعرض عناوين IP لكل من الموارد التي أنشأناها.

  2. استرداد عنوان تطبيق الويب West US 2:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westus2-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  3. استرداد عنوان تطبيق ويب غرب أوروبا:

    nslookup $(az network public-ip show \
            --resource-group "<rgn>[Sandbox resource group]</rgn>" \
            --name westeurope-vm-nic-pip \
            --query dnsSettings.fqdn \
            --output tsv)
    
  4. استرداد عنوان ملف تعريف Traffic Manager:

    # Retrieve the address for the Traffic Manager profile
    nslookup $(az network traffic-manager profile show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name TM-MusicStream-Priority \
                --query dnsConfig.fqdn \
                --output tsv)
    

    يجب أن يتطابق عنوان ملف تعريف Traffic Manager مع عنوان IP الخاص بعنوان IP العام لـ westus2-vm-nic-pip الذي تم تعيينه للجهاز الظاهري westus2-vm.

  5. قم بتشغيل الأمر التالي للانتقال إلى اسم المجال المؤهل بالكامل لملف تعريف Traffic Manager (FQDN). يتم توجيه طلبك إلى نقطة النهاية التي تستجيب مع أقصى أولوية.

    echo http://$(az network traffic-manager profile show \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --name TM-MusicStream-Priority \
        --query dnsConfig.fqdn \
        --output tsv)
    

    تطبع التعليمة البرمجية FQDN في Cloud Shell. حدد FQDN لفتح نافذة أو علامة تبويب مستعرض جديدة.

  6. تحقق من أن التطبيق يعمل والموقع المعروض في أسفل الصفحة هو غرب الولايات المتحدة 2:

    Screenshot of the running West US web app.

  7. قم بتشغيل الأمر التالي لتعطيل نقطة النهاية الأساسية:

    az network traffic-manager endpoint update \
        --resource-group "<rgn>[Sandbox resource group]</rgn>"  \
        --name "Primary-WestUS" \
        --profile-name TM-MusicStream-Priority \
        --type azureEndpoints \
        --endpoint-status Disabled
    
  8. دعونا نلقي نظرة مجدداً على ما يعرضه DNS لتطبيقات الويب وملف تعريف Traffic Manager لدينا.

  9. استرداد عنوان تطبيق الويب West US 2:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westus2-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  10. استرداد عنوان تطبيق ويب غرب أوروبا.:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westeurope-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  11. استرداد عنوان ملف تعريف Traffic Manager:

    nslookup $(az network traffic-manager profile show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name TM-MusicStream-Priority \
                --query dnsConfig.fqdn \
                --output tsv)
    

    يجب أن يتطابق عنوان ملف تعريف Traffic Manager الآن مع تطبيق الويب West Europe.

  12. اختبر التطبيق مرة أخرى من مستعرض الويب لديك عن طريق تحديث صفحة الويب. يجب أن يعيد Traffic Manager توجيه حركة المرور تلقائيا إلى نقطة نهاية غرب أوروبا. اعتماداً على مستعرض الويب، قد يستغرق الأمر بضع دقائق حتى تنتهي صلاحية العنوان الذي تم تخزينه مؤقتاً محلياً. يجب أن يتجاوز فتح الموقع في نافذة خاصة ذاكرة التخزين المؤقت، حتى تتمكن من رؤية التغيير على الفور.

    Screenshot of the running West Europe web app.