Краткое руководство: Создание профиля для Диспетчера трафика для высокодоступного веб-приложения с помощью Azure PowerShell

В этом кратком руководстве показано, как создать профиль диспетчера трафика, который обеспечивает высокий уровень доступности веб-приложения.

В этой краткой инструкции вы создадите два экземпляра веб-приложения. Каждый из них выполняется в разном регионе Azure. Будет создан профиль диспетчера трафика, который основывается на приоритете конечной точки. Профиль направляет пользовательский трафик на основной сайт, где работает веб-приложение. Диспетчер трафика постоянно отслеживает веб-приложение. Если основной сайт недоступен, он предоставляет автоматический переход на резервный сайт.

Схема среды развертывания Traffic Manager.

Предварительные условия

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

Azure Cloud Shell

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

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

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в 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. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Чтобы установить и использовать PowerShell локально, для работы с этой статьей вам понадобится модуль Azure PowerShell 5.4.1 или более поздней версии. Выполните команду Get-Module -ListAvailable Az, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. При использовании PowerShell на локальном компьютере также нужно запустить Connect-AzAccount, чтобы создать подключение к Azure.

Создайте группу ресурсов.

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


# Variables
$Location1="EastUS"

# Create a Resource Group
New-AzResourceGroup -Name MyResourceGroup -Location $Location1

Создание профиля диспетчера трафика

С помощью команды New-AzTrafficManagerProfile создайте профиль диспетчера трафика, который направляет пользовательский трафик в зависимости от приоритета конечных точек.


# Generates a random value
$Random=(New-Guid).ToString().Substring(0,8)
$mytrafficmanagerprofile="mytrafficmanagerprofile$Random"

New-AzTrafficManagerProfile `
-Name $mytrafficmanagerprofile `
-ResourceGroupName MyResourceGroup `
-TrafficRoutingMethod Priority `
-MonitorPath '/' `
-MonitorProtocol "HTTP" `
-RelativeDnsName $mytrafficmanagerprofile `
-Ttl 30 `
-MonitorPort 80

Создание веб-приложений

Для этого быстрого старта необходимо развернуть две инстанции веб-приложения в двух разных регионах Azure (Запад США и Восток США). Каждый будет использоваться в качестве основных и резервных конечных точек для диспетчера трафика.

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

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


# Variables
$Location1="EastUS"
$Location2="WestEurope"

# Create an App service plan
New-AzAppservicePlan -Name "myAppServicePlanEastUS$Random" -ResourceGroupName MyResourceGroup -Location $Location1 -Tier Standard
New-AzAppservicePlan -Name "myAppServicePlanWestEurope$Random" -ResourceGroupName MyResourceGroup -Location $Location2 -Tier Standard

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

Создайте два экземпляра веб-приложения с помощью New-AzWebApp в планах службы приложений в регионах Azure Восточная часть США и Западная Европа.

$App1ResourceId=(New-AzWebApp -Name myWebAppEastUS -ResourceGroupName MyResourceGroup -Location $Location1 -AppServicePlan "myAppServicePlanEastUS").Id
$App2ResourceId=(New-AzWebApp -Name myWebAppWestEurope -ResourceGroupName MyResourceGroup -Location $Location2 -AppServicePlan "myAppServicePlanWestEurope").Id

Добавление конечных точек диспетчера трафика

Чтобы добавить два веб-приложения в качестве конечных точек в профиль диспетчера трафика, используйте командлет New-AzTrafficManagerEndpoint и сделайте следующее.

  • Добавьте веб-приложение, расположенное в регионе Azure Восточная часть США, в качестве основной конечной точки для маршрутизации всего объема пользовательского трафика.
  • Добавьте веб-приложение, расположенное в регионе Azure Западная Европа, в качестве конечной точки аварийного переключения. Если основная конечная точка недоступна, трафик автоматически направляется на резервную конечную точку.
New-AzTrafficManagerEndpoint -Name "myPrimaryEndpoint" `
-ResourceGroupName MyResourceGroup `
-ProfileName "$mytrafficmanagerprofile" `
-Type AzureEndpoints `
-TargetResourceId $App1ResourceId `
-EndpointStatus "Enabled" `
-Priority 1

New-AzTrafficManagerEndpoint -Name "myFailoverEndpoint" `
-ResourceGroupName MyResourceGroup `
-ProfileName "$mytrafficmanagerprofile" `
-Type AzureEndpoints `
-TargetResourceId $App2ResourceId `
-EndpointStatus "Enabled" `
-Priority 2

Тестирование профиля диспетчера трафика

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

Определение DNS-имени

Определите DNS-имя профиля диспетчера трафика с помощью командлета Get-AzTrafficManagerProfile.

Get-AzTrafficManagerProfile -Name $mytrafficmanagerprofile `
-ResourceGroupName MyResourceGroup

Скопируйте значение RelativeDnsName. DNS-именем в профиле Диспетчера трафика будет http://<relativednsname>.trafficmanager.net.

Просмотр диспетчера трафика в действии

  1. Введите DNS-имя своего профиля Диспетчера трафика (http://<relativednsname>.trafficmanager.net) в веб-браузере, чтобы просмотреть веб-сайт по умолчанию для веб-приложения.

    Примечание.

    В этом кратком сценарии все запросы направляются к основной конечной точке, Установлен Приоритет 1.

  2. Чтобы просмотреть отработку отказа диспетчера трафика в действии, отключите свой основной сайт с помощью командлета Disable-AzTrafficManagerEndpoint.

     Disable-AzTrafficManagerEndpoint -Name "myPrimaryEndpoint" `
     -Type AzureEndpoints `
     -ProfileName $mytrafficmanagerprofile `
     -ResourceGroupName MyResourceGroup `
     -Force
    
  3. Скопируйте DNS-имя профиля Диспетчера трафика (http://<relativednsname>.trafficmanager.net), чтобы просмотреть веб-сайт в новом сеансе веб-браузера.

  4. Убедитесь, что веб-приложение по-прежнему доступно.

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

После завершения удалите группы ресурсов, веб-приложения и все связанные ресурсы, используя командлет Remove-AzResourceGroup.

Remove-AzResourceGroup -Name MyResourceGroup

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

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