التشغيل السريع: إنشاء Azure Front Door Standard/Premium - Azure CLI

في هذا التشغيل السريع، ستتعلم كيفية إنشاء ملف تعريف Azure Front Door Standard/Premium باستخدام Azure CLI. يمكنك إنشاء ملف التعريف هذا باستخدام تطبيقي ويب كأصل، وإضافة نهج أمان WAF. يمكنك بعد ذلك التحقق من الاتصال بتطبيقات الويب الخاصة بك باستخدام اسم مضيف نقطة نهاية Azure Front Door.

Diagram of Front Door deployment environment using the Azure CLI.

إشعار

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

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

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

إنشاء مجموعة موارد

في Azure، تقوم بتخصيص الموارد ذات الصلة لمجموعة موارد. يمكنك إمّا استخدام مجموعة موارد حالية وإمّا إنشاء مجموعة موارد جديدة.

قم بتشغيل الأمر az group create لإنشاء مجموعات الموارد.

az group create --name myRGFD --location centralus

إنشاء ملف تعريف Azure Front Door

في هذه الخطوة، يمكنك إنشاء ملف تعريف Azure Front Door الذي تستخدمه خدمتا التطبيق كأصل.

قم بتشغيل الأمر az afd profile create لإنشاء ملف تعريف Azure Front Door.

إشعار

إذا كنت ترغب في نشر Azure Front Door Standard بدلًا من Premium، فاستبدل قيمة معلمة sku بـ Standard_AzureFrontDoor. لن تتمكن من توزيع القواعد المُدارة باستخدام نهج WAF، إذا اخترت SKU القياسي. للمقارنة التفصيلية، راجع مقارنة مستوى Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

قم بإنشاء مثيلين لتطبيق الويب

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

إعداد خطط App Service

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

قم بتشغيل إنشاء خطة خدمة تطبيق az لإنشاء خطط خدمة التطبيق.

az appservice plan create \
    --name myAppServicePlanCentralUS \
    --resource-group myRGFD \
    --location centralus
az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFD \
    --location eastus

إنشاء تطبيقات ويب

بمجرد إنشاء خطط خدمة التطبيق، قم بتشغيل az webapp create لإنشاء تطبيق ويب في كل خطة من خطط خدمة التطبيق في الخطوة السابقة. يجب أن تكون أسماء تطبيقات الويب مميزة على نحو عمومي.

az webapp create \
    --name WebAppContoso-01 \
    --resource-group myRGFD \
    --plan myAppServicePlanCentralUS
az webapp create \
    --name WebAppContoso-02 \
    --resource-group myRGFD \
    --plan myAppServicePlanEastUS

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

إنشاء Azure Front Door

إنشاء ملف تعريف Front Door

قم بتشغيل الأمر az afd profile create لإنشاء ملف تعريف Azure Front Door.

إشعار

إذا كنت تريد توزيع Azure Front Door Standard بدلاً من Premium، فاستبدل قيمة معلمة sku بـ Standard_AzureFrontDoor. لن تتمكن من توزيع القواعد المُدارة باستخدام نهج WAF، إذا اخترت SKU القياسي. للمقارنة التفصيلية، راجع مقارنة مستوى Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

إضافة نقطة نهاية

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

قم بتشغيل إنشاء نقطة نهاية az afd لإنشاء نقطة نهاية في ملف التعريف الخاص بك.

az afd endpoint create \
    --resource-group myRGFD \
    --endpoint-name contosofrontend \
    --profile-name contosoafd \
    --enabled-state Enabled

لمزيد من المعلومات حول نقاط النهاية في Front Door، راجع نقاط النهاية في Azure Front Door.

إنشاء مجموعة أصل

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

شغل إنشاء مجموعة أصل Azure Front Door profile لإنشاء مجموعة أصل تحتوي على تطبيقي الويب.

az afd origin-group create \
    --resource-group myRGFD \
    --origin-group-name og \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 60 \
    --probe-path / \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

إضافة أصل إلى المجموعة

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

قم بتشغيل az afd origin create لإضافة مثيل التطبيق الأول كأصل إلى مجموعة الأصل الخاصة بك.

az afd origin create \
    --resource-group myRGFD \
    --host-name webappcontoso-01.azurewebsites.net \
    --profile-name contosoafd \
    --origin-group-name og \
    --origin-name contoso1 \
    --origin-host-header webappcontoso-01.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

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

az afd origin create \
    --resource-group myRGFD \
    --host-name webappcontoso-02.azurewebsites.net \
    --profile-name contosoafd \
    --origin-group-name og \
    --origin-name contoso2 \
    --origin-host-header webappcontoso-02.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

لمزيد من المعلومات حول الأصول ومجموعات الأصل وفحوصات السلامة، راجع الأصول ومجموعات الأصل في Azure Front Door

إضافة مسار

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

قم بتشغيل إنشاء مسار az afd لتعيين نقطة النهاية الخاصة بك إلى مجموعة الأصل.

az afd route create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --endpoint-name contosofrontend \
    --forwarding-protocol MatchRequest \
    --route-name route \
    --https-redirect Enabled \
    --origin-group og \
    --supported-protocols Http Https \
    --link-to-default-domain Enabled 

لمعرفة المزيد حول المسارات في Azure Front Door، راجع أساليب توجيه نسبة استخدام الشبكة إلى الأصل.

أنشئ نهج أمان جديدًا

يوفر Azure Web Application Firewall (WAF) على Front Door حماية مركزية لتطبيقات الويب الخاصة بك، والدفاع عنها ضد الاستغلالات والثغرات الأمنية الشائعة.

في هذا البرنامج التعليمي، يمكنك إنشاء نهج WAF الذي يضيف قاعدتين مدارتين. يمكنك أيضا إنشاء نهج WAF باستخدام قواعد مخصصة

إنشاء نهج جدار حماية تطبيق الويب

قم بتشغيل إنشاء نهج جدار حماية تطبيق الويب للباب الأمامي للشبكة من az لإنشاء نهج جدار حماية تطبيق الويب جديد لـ Front Door الخاص بك. ينشئ هذا المثال نهجًا ممكّنًا وفي وضع المنع.

إشعار

ستعمل القواعد المدارة فقط مع مستوى Front Door Premium. يمكنك اختيار المستوى القياسي لاستخدام قواعد onlu المخصصة.

az network front-door waf-policy create \
    --name contosoWAF \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor \
    --disabled false \
    --mode Prevention

إشعار

إذا قمت بتحديد وضع Detection، فلن يحظر جدار حماية تطبيق الويب أي طلبات.

لمعرفة المزيد حول إعدادات نهج WAF ل Front Door، راجع إعدادات النهج لجدار حماية تطبيق الويب على Azure Front Door.

تعيين القواعد المُدارة إلى نهج جدار حماية تطبيق الويب

توفر مجموعات القواعد المدارة من Azure طريقة سهلة لحماية تطبيقك من تهديدات الأمان الشائعة.

قم بتشغيل الأمر az network front-door waf-policy managed-rules add لإضافة القواعد المُدارة إلى نهج WAF الخاصة بك. يضيف هذا المثال Microsoft_DefaultRuleSet_2.1 و Microsoft_BotManagerRuleSet_1.0 إلى النهج الخاص بك.

az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_DefaultRuleSet \
    --action Block \
    --version 2.1 
az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_BotManagerRuleSet \
    --version 1.0

لمعرفة المزيد حول القواعد المدارة في Front Door، راجع مجموعات قواعد وقواعد جدار حماية تطبيق الويب DRS.

إنشاء نهج الأمان

الآن قم بتطبيق نهجي WAF هذين على Front Door الخاص بك عن طريق إنشاء نهج أمان. يطبق هذا الإعداد القواعد المدارة من Azure على نقطة النهاية التي قمت بتعريفها مسبقا.

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

إشعار

استبدل "mysubscription" بمعرف اشتراك Azure في المجالات ومعلمات نهج waf. قم بتشغيل قائمة اشتراكات حساب az للحصول على تفاصيل معرف الاشتراك.

az afd security-policy create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contosofrontend \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

اختبر Front Door

عندما تنشئ ملف تعريف Azure Front Door Standard/Premium، فذلك يستغرق بعض الدقائق من أجل نشر الإعدادات عالميًا بمجرد الانتهاء، يمكنك الوصول إلى مضيف الواجهة الأمامية الذي أنشأته.

قم بتشغيل عرض نقطة نهاية az afd للحصول على اسم المضيف لنقطة نهاية Front Door.

az afd endpoint show --resource-group myRGFD --profile-name contosoafd --endpoint-name contosofrontend

في المستعرض، انتقل إلى اسم مضيف نقطة النهاية: contosofrontend-<hash>.z01.azurefd.net. يتم توجيه طلبك تلقائيا إلى تطبيق الويب الأقل كامنا في مجموعة الأصل.

Screenshot of the message: Your web app is running and waiting for your content

لاختبار تجاوز الفشل العمومي الفوري، نستخدم الخطوات التالية:

  1. افتح مستعرضا وانتقل إلى اسم مضيف نقطة النهاية: contosofrontend-<hash>.z01.azurefd.net.

  2. إيقاف أحد تطبيقات الويب عن طريق تشغيل إيقاف تطبيق ويب az

    az webapp stop --name WebAppContoso-01 --resource-group myRGFD
    
  3. قم بتحديث المستعرض. يجب أن تشاهد صفحة المعلومات نفسها.

تلميح

هناك القليل من التأخير لهذه الإجراءات. ربما تحتاج لإعادة التحديث مرة ثانية

  1. ابحث عن تطبيق الويب الآخر، وتوقف عنه أيضًا.

    az webapp stop --name WebAppContoso-02 --resource-group myRGFD
    
  2. قم بتحديث المستعرض. هذه المرة، يجب أن تشاهد رسالة خطأ.

    Screenshot of the message: Both instances of the web app stopped

  3. إعادة تشغيل أحد تطبيقات الويب عن طريق تشغيل بدء تطبيق ويب az. قم بتحديث المستعرض والعودة إلى وضعها الطبيعي.

    az webapp start --name WebAppContoso-01 --resource-group myRGFD
    

تنظيف الموارد

عندما لا تحتاج إلى مجموعة موارد Front Door، احذف مجموعتي الموارد. يؤدي حذف مجموعات الموارد أيضًا إلى حذف Front Door وجميع الموارد ذات الصلة.

تشغيل az group delete:

az group delete --name myRGFD

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

تقدم إلى المقالة التالية لمعرفة كيفية إضافة مجال مخصص إلى الباب الأمامي.