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


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

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

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

Примечание.

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

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

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Снимок экрана: пример открытия Azure Cloud Shell с помощью кнопки
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Снимок экрана: кнопка

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

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

Создайте группу ресурсов с помощью командлета New-AzResourceGroup:

New-AzResourceGroup -Name myRGFD -Location centralus

Создание двух экземпляров веб-приложения

Создайте два экземпляра веб-приложения в разных регионах Azure с помощью New-AzWebApp:

# Create first web app in Central US region.
$webapp1 = New-AzWebApp `
    -Name "WebAppContoso-01" `
    -Location centralus `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanCentralUS

# Create second web app in East US region.
$webapp2 = New-AzWebApp `
    -Name "WebAppContoso-02" `
    -Location EastUS `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanEastUS

Создавать Azure Front Door.

Создание профиля Azure Front Door

Запустите New-AzFrontDoorCdnProfile , чтобы создать профиль Azure Front Door:

$fdprofile = New-AzFrontDoorCdnProfile `
    -ResourceGroupName myRGFD `
    -Name contosoAFD `
    -SkuName Premium_AzureFrontDoor `
    -Location Global

Добавление конечной точки

Запустите New-AzFrontDoorCdnEndpoint , чтобы создать конечную точку в профиле:

$FDendpoint = New-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -Location Global

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

Создайте параметры пробы работоспособности и балансировки нагрузки, а затем создайте группу источников с помощью New-AzFrontDoorCdnOriginGroup:

# Create health probe settings
$HealthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject `
    -ProbeIntervalInSecond 60 `
    -ProbePath "/" `
    -ProbeRequestType GET `
    -ProbeProtocol Http

# Create load balancing settings
$LoadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject `
    -AdditionalLatencyInMillisecond 50 `
    -SampleSize 4 `
    -SuccessfulSamplesRequired 3

# Create origin group
$originpool = New-AzFrontDoorCdnOriginGroup `
    -OriginGroupName og `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HealthProbeSetting $HealthProbeSetting `
    -LoadBalancingSetting $LoadBalancingSetting

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

Добавьте источники веб-приложения в группу источников с помощью New-AzFrontDoorCdnOrigin:

# Add first web app origin to origin group.
$origin1 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso1 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-01.azurewebsites.net `
    -OriginHostHeader webappcontoso-01.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

# Add second web app origin to origin group.
$origin2 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso2 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-02.azurewebsites.net `
    -OriginHostHeader webappcontoso-02.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

Добавление маршрута

Сопоставите конечную точку с группой источников с помощью New-AzFrontDoorCdnRoute:

$Route = New-AzFrontDoorCdnRoute `
    -EndpointName contosofrontend `
    -Name defaultroute `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -ForwardingProtocol MatchRequest `
    -HttpsRedirect Enabled `
    -LinkToDefaultDomain Enabled `
    -OriginGroupId $originpool.Id `
    -SupportedProtocol Http,Https

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

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

Запустите Get-AzFrontDoorCdnEndpoint , чтобы получить имя узла конечной точки Azure Front Door:

$fd = Get-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoafd `
    -ResourceGroupName myRGFD

$fd.hostname

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

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

Чтобы проверить моментальную глобальную отработку отказа:

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

  2. Остановите одну из веб-приложения, выполнив команду Stop-AzWebApp:

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    
  3. Обновите свой браузер. Вы увидите ту же самую информационную страницу.

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

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-02"
    
  5. Обновите свой браузер. На этот раз вы увидите сообщение об ошибке.

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

  6. Перезапустите одно из веб-приложений, запустив Start-AzWebApp. Обновите браузер и страницу вернуться к нормальному режиму:

    Start-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    

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

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

Remove-AzResourceGroup -Name myRGFD

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

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