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

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

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

Diagram of Traffic Manager deployment environment using CLI.

Если у вас еще нет подписки 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 CLI версии 2.0.28 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

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

Создайте группу ресурсов с помощью команды az group create. Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.

В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.


  az group create \
    --name myResourceGroup \
    --location eastus

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

С помощью команды az network traffic-manager profile create создайте профиль диспетчера трафика, который направляет пользовательский трафик на основании приоритета конечной точки.


mytrafficmanagerprofile='mytrafficmanagerprofile'$RANDOM

az network traffic-manager profile create \
	--name $mytrafficmanagerprofile \
	--resource-group myResourceGroup \
	--routing-method Priority \
	--path '/' \
	--protocol "HTTP" \
	--unique-dns-name $mytrafficmanagerprofile  \
	--ttl 30 \
--port 80

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

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

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

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


az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myResourceGroup \
    --location eastus \
    --sku S1

az appservice plan create \
    --name myAppServicePlanWestEurope \
    --resource-group myResourceGroup \
    --location westeurope \
    --sku S1

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

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


mywebappeastus='myWebAppEastUS'$RANDOM
myWebAppWestEurope='myWebAppWestEurope'$RANDOM

az webapp create \
    --name $mywebappeastus \
    --plan myAppServicePlanEastUS \
    --resource-group myResourceGroup

az webapp create \
    --name $myWebAppWestEurope \
    --plan myAppServicePlanWestEurope \
    --resource-group myResourceGroup

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

Чтобы добавить два веб-приложения в качестве конечных точек в профиль диспетчера трафика, используйте команду az network traffic-manager endpoint create и сделайте следующее.

  • Определите идентификатор веб-приложения и добавьте веб-приложение в регион Azure Восточная часть США как основную конечную точку для маршрутизации всего пользовательского трафика.
  • Определите идентификатор веб-приложения и добавьте веб-приложение в регион Azure Западная Европа как конечную точку отработки отказа.

Если основная конечная точка недоступна, трафик автоматически направляется на конечную точку отработки отказа.

Конечная точка в восточной части США


App1ResourceId=$(az webapp show --name $mywebappeastus --resource-group myResourceGroup --query id --output tsv)

az network traffic-manager endpoint create \
    --name $mywebappeastus \
    --resource-group myResourceGroup \
    --profile-name $mytrafficmanagerprofile \
    --type azureEndpoints \
    --target-resource-id $App1ResourceId \
    --priority 1 \
    --endpoint-status Enabled

Конечная точка в Западной Европе


App2ResourceId=$(az webapp show --name $myWebAppWestEurope --resource-group myResourceGroup --query id --output tsv)

az network traffic-manager endpoint create \
    --name $myWebAppWestEurope \
    --resource-group myResourceGroup \
    --profile-name $mytrafficmanagerprofile \
    --type azureEndpoints \
    --target-resource-id  $App2ResourceId \
    --priority 2 \
    --endpoint-status Enabled

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

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

В указанном ниже примере измените <app1name_eastus> и <app2name_westeurope> именами приложений, созданных для каждого региона, как описано в предыдущем разделе. Затем замените <profile_name> на имя профиля, используемого в предыдущем разделе.

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

Определите DNS-имя профиля диспетчера трафика с помощью команды az network traffic-manager profile show.


az network traffic-manager profile show \
    --name $mytrafficmanagerprofile \
    --resource-group myResourceGroup \
    --query dnsConfig.fqdn

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

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

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

    Примечание.

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

  2. Чтобы просмотреть отработку отказа диспетчера трафика в действии, отключите свой основной сайт с помощью команды az network traffic-manager endpoint update.

    
     az network traffic-manager endpoint update \
         --name $mywebappeastus \
         --resource-group myResourceGroup \
         --profile-name $mytrafficmanagerprofile \
         --type azureEndpoints \
         --endpoint-status Disabled
    
    
  3. Скопируйте DNS-имя профиля Диспетчера трафика (http://<relativednsname>.trafficmanager.net), чтобы просмотреть веб-сайт в новом сеансе веб-браузера.

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

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

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


az group delete \
    --resource-group myResourceGroup

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

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