Поделиться через


Краткое руководство. Создание Azure Front Door с помощью Azure CLI

Из этого краткого руководства вы узнаете, как создать Azure Front Door с помощью Azure CLI. Вы настраиваете профиль с двумя веб-приложения Azure в качестве источника и добавляете политику безопасности WAF. Наконец, вы проверяете подключение к веб-приложения с помощью имени узла конечной точки Azure Front Door.

Схема среды развертывания Azure Front Door с помощью Azure CLI.

Примечание.

Для веб-рабочих нагрузок настоятельно рекомендуется использовать защиту от атак DDoS Azure и брандмауэр веб-приложения для защиты от новых атак DDoS. Другой вариант — использовать Azure Front Door вместе с брандмауэром веб-приложения. Azure Front Door обеспечивает защиту на уровне платформы от атак DDoS на уровне сети. Дополнительные сведения см . в разделе "Базовые показатели безопасности" для служб Azure.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Создание или изменение группы ресурсов

В 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. Оба экземпляра работают в активном или активном режиме, то есть могут обрабатывать трафик. Эта настройка отличается от конфигурации Active/Stand-By, где один экземпляр служит отработкой отказа.

Создание планов службы приложений

Сначала создайте два плана службы приложений: один в центральной части США и другой в восточной части США.

Выполните следующие команды, чтобы создать планы службы приложений:

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 \
    --name WebAppContoso-01 \
    --resource-group myRGFD \
    --plan myAppServicePlanCentralUS
az webapp create \
    --name WebAppContoso-02 \
    --resource-group myRGFD \
    --plan myAppServicePlanEastUS

Запишите имена узлов по умолчанию для каждого веб-приложения, так как вам потребуется определить внутренние адреса при развертывании Azure Front Door на следующем шаге.

Создавать 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 Front Door. Конечная точка — это логическая группировка одного или нескольких маршрутов, связанных с доменными именами. Каждая конечная точка назначает доменное имя Azure Front Door, и вы можете связать конечные точки с пользовательскими доменами с помощью маршрутов. Профили Azure Front Door могут содержать несколько конечных точек.

Выполните команду az afd endpoint create, чтобы создать конечную точку в вашем профиле.

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

Дополнительные сведения о конечных точках в Azure Front Door см. в статье "Конечные точки Azure Front Door".

Создание группы источников

Создайте группу источников, которая определяет трафик и ожидаемые ответы для экземпляров приложения. Группы источников также определяют, как источники оцениваются пробами работоспособности.

Запустите az afd origin-group create , чтобы создать группу источников, содержащую две веб-приложения.

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

Добавление источников в группу источников

Добавьте оба экземпляра приложения, созданные ранее в качестве источников, в новую группу источников. Источники в Azure Front Door относятся к приложениям, из которого Azure 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 route create, чтобы сопоставить конечную точку с группой источников.

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 Брандмауэр веб-приложений (WAF) в Azure Front Door обеспечивает централизованную защиту для веб-приложений, защищая их от распространенных эксплойтов и уязвимостей.

В этом руководстве вы создадите политику WAF, содержащую два управляемых правила. Вы также можете создавать политики WAF с настраиваемыми правилами.

Создание политики WAF

Запустите az network front-door waf-policy create , чтобы создать новую политику WAF для Azure Front Door. В этом примере создается политика, которая включается и работает в режиме предотвращения.

Примечание.

Управляемые правила доступны только с уровнем Azure Front Door Premium. Пользовательские правила можно использовать с уровнем "Стандартный".

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

Примечание.

Если вы выберете Detection режим, WAF не будет блокировать какие-либо запросы.

Дополнительные сведения о параметрах политики WAF для Azure Front Door см. в разделе "Параметры политики" для Брандмауэр веб-приложений в Azure Front Door.

Назначение управляемых правил политике WAF

Наборы правил, управляемые 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

Дополнительные сведения об управляемых правилах в Azure Front Door см. в Брандмауэр веб-приложений группах правил и правилах DRS.

Применение политики безопасности

Теперь примените политики WAF к Azure Front Door, создав политику безопасности. Этот параметр применяет правила, управляемые Azure, к конечной точке, определенной ранее.

Выполните команду az afd security-policy create, чтобы применить политику WAF к домену по умолчанию конечной точки.

Примечание.

Замените mysubscription идентификатором подписки Azure в доменах и параметрах политики waf. Выполните команду az account subscription list, чтобы получить сведения об идентификаторе подписки.

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

Тестирование Azure Front Door

После создания профиля Azure Front Door потребуется несколько минут для развертывания конфигурации глобально. После завершения вы сможете получить доступ к созданному интерфейсному узлу.

Запустите az afd endpoint show , чтобы получить имя узла конечной точки Azure Front Door.

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

Выполните переход в браузере, используя имя узла конечной точки: contosofrontend-<hash>.z01.azurefd.net. Запрос направляется в наименее скрытое веб-приложение в группе источников.

Снимок экрана с сообщением

Чтобы проверить моментальную глобальную отработку отказа, выполните следующие действия.

  1. Откройте браузер и перейдите к имени узла конечной точки: contosofrontend-<hash>.z01.azurefd.net

  2. Остановите одну из веб-приложения, выполнив az webapp stop:

    az webapp stop --name WebAppContoso-01 --resource-group myRGFD
    
  3. Обновите свой браузер. Вы увидите ту же самую информационную страницу.

Совет

Для этих действий может возникнуть небольшая задержка. Возможно, вам потребуется выполнить обновление еще раз.

  1. Остановите другое веб-приложение, а также:

    az webapp stop --name WebAppContoso-02 --resource-group myRGFD
    
  2. Обновите свой браузер. На этот раз вы увидите сообщение об ошибке.

    Снимок экрана с сообщением: оба экземпляра веб-приложения остановлены

  3. Перезапустите одно из веб-приложений, выполнив команду az webapp start. Обновите браузер, и страница должна вернуться в нормальное состояние.

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

Очистка ресурсов

Если ресурсы, созданные для Azure Front Door, больше не нужны, можно удалить группу ресурсов. Это действие удаляет Azure Front Door и все связанные ресурсы.

Выполните следующую команду, чтобы удалить группу ресурсов.

az group delete --name myRGFD

Следующие шаги

Перейдите к следующей статье, чтобы узнать, как добавить личный домен в Azure Front Door.