Краткое руководство. Создание профиля Диспетчер трафика для высокодоступного веб-приложения с помощью Azure CLI
В этом кратком руководстве показано, как создать профиль диспетчера трафика, который обеспечивает высокий уровень доступности веб-приложения.
В этом кратком руководстве вы создадите два экземпляра веб-приложения. Каждый из них выполняется в разном регионе 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 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.
Просмотр диспетчера трафика в действии
Введите DNS-имя своего профиля Диспетчера трафика (http://<relativednsname>.trafficmanager.net) в веб-браузере, чтобы просмотреть веб-сайт по умолчанию для веб-приложения.
Примечание.
В этом кратком сценарии все запросы направляются к основной конечной точке, которой присваивается Приоритет 1.
Чтобы просмотреть отработку отказа диспетчера трафика в действии, отключите свой основной сайт с помощью команды 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
Скопируйте DNS-имя профиля Диспетчера трафика (http://<relativednsname>.trafficmanager.net), чтобы просмотреть веб-сайт в новом сеансе веб-браузера.
Убедитесь, что веб-приложение по-прежнему доступно.
Очистка ресурсов
Закончив работу, удалите группы ресурсов, веб-приложения и все связанные ресурсы с помощью команды az group delete.
az group delete \
--resource-group myResourceGroup
Следующие шаги
В этом кратком руководстве вы создали профиль диспетчера трафика, который обеспечивает высокий уровень доступности веб-приложения. Дополнительные сведения о маршрутизации трафика см. в руководствах по диспетчеру трафика.