Упражнение. Настройка среды
В этом упражнении вы настроите предварительно настроенную среду с помощью Load Balancer и создадите диаграммы для мониторинга работоспособности Load Balancer.
Это необязательное упражнение. Для его выполнения необходим доступ к подписке Azure, в которой можно создавать ресурсы Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Настройка среды
Войдите на портал Azure.
В строке меню в правой верхней части страницы выберите Cloud Shell.
Выберите Bash.
Выполните следующую команду, чтобы скачать скрипты, используемые для этого упражнения.
git clone https://github.com/MicrosoftDocs/mslearn-troubleshoot-inbound-network-connectivity-azure-load-balancer load-balancer
Перейдите в папку load-balancer/src/scripts.
cd ~/load-balancer/src/scripts
Выполните приведенную ниже команду, чтобы задать имя пользователя для виртуальных машин. Имя пользователя можно изменить на другое. Вам потребуется имя пользователя позже в этом упражнении, поэтому запишите то, что вы используете.
export USERNAME=azureuser
Выполните приведенную ниже команду, чтобы задать пароль для виртуальных машин, созданных сценариями. Пароль хранится в переменной, а также записывается в текстовый файл passwd.txt на тот случай, если он потребуется позже.
export PASSWORD=$(openssl rand -base64 32) echo $PASSWORD > passwd.txt
Укажите имя группы ресурсов.
export RESOURCEGROUP=learn-ts-loadbalancer-rg
Укажите расположение. Замените значение eastus на ближайшее к вам расположение.
export LOCATION=eastus
Ниже перечислены некоторые возможные значения расположения:
- westus2
- центрально-южная часть США
- centralus
- eastus
- westeurope
- юго-восточная Азия
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
Выполните приведенную ниже команду, чтобы создать группу ресурсов.
az group create --name $RESOURCEGROUP --location $LOCATION
Выполните приведенную ниже команду, чтобы создать подсистему балансировки нагрузки, виртуальные машины и виртуальную сеть.
bash setup.sh $RESOURCEGROUP
Выполнение сценария займет до 25 минут.
Проверка созданных ресурсов
На портале Azure найдите Группы ресурсов.
Выберите learn-ts-loadbalancer-rg.
Отсортируйте список ресурсов по типу.
Группа ресурсов должна содержать ресурсы, указанные в этой таблице.
Имя. Тип Описание retailappvm1_disk1_xxx и retailappvm1_disk2_xxx Диск Виртуальные жесткие диски для двух виртуальных машин. retailapplb Подсистема балансировки нагрузки Подсистема балансировки нагрузки для приложения, выполняемого на виртуальных машинах. Внутренний пул в подсистеме балансировки нагрузки ссылается на виртуальные машины retailappvm1 и retailappvm2. nicvm1 и nicvm2 Сетевой интерфейс Сетевые интерфейсы для двух виртуальных машин. retailappnicvm1nsg и retailappnicvm2nsg Группа безопасности сети (NSG) Группы безопасности сети, управляющие трафиком, поступающим на каждую виртуальную машину. retailappnsg группу безопасности сети; Выступает в качестве начального фильтра для обеих виртуальных машин, но группа безопасности сети для каждой виртуальной машины позволяет фильтровать трафик на основе каждого компьютера. retailappip Общедоступный IP-адрес Общедоступный IP-адрес, предоставляющий интерфейсный доступ к подсистеме балансировки нагрузки. retailappvm1 и retailappvm2 Виртуальная машина Виртуальные машины, на которых выполняется приложение розничной торговли. retailappvmjumpbox Виртуальная машина Виртуальная машина, которая также находится в виртуальной сети, но имеет общедоступный IP-адрес. Администратор может войти на эту виртуальную машину, чтобы получить доступ к виртуальным машинам retailappvm1 и retailappvm2, которые имеют только частные IP-адреса. retailappvnet Виртуальная сеть Виртуальная сеть для виртуальных машин. Выберите подсистему балансировки нагрузки retailapplb.
В разделе Параметры выберите Правила балансировки нагрузки.
Выберите retailapprule. Подсистема балансировки нагрузки настроена для маршрутизации трафика, поступающего на порт 80 внешнего адреса, на порт 80 машин во внутреннем пуле.
Закройте панель retailapprule.
В разделе Параметры выберите Зонды работоспособности.
Выберите retailapphealthprobe. Проба работоспособности для внутреннего пула также отправляет сообщения на порт 80, чтобы убедиться, что приложение доступно на каждой виртуальной машине.
Закройте панель retailapphealthprobe.
Тестирование подсистемы балансировки нагрузки
Вернитесь в Azure Cloud Shell.
Выполните следующую команду, чтобы получить общедоступный IP-адрес внешнего интерфейса подсистемы балансировки нагрузки.
bash findip.sh
Откройте браузер и перейдите по этому IP-адресу. Результатом должно быть страница с сообщением retailappvm1 или retailappvm2 в зависимости от того, как подсистема балансировки нагрузки направляет запрос.
В Cloud Shell выполните следующую команду, чтобы перейти в папку src/stresstest.
cd ~/load-balancer/src/stresstest
Эта папка содержит приложение .NET Core, которое имитирует сотни одновременно работающих пользователей, отправляющих запросы на виртуальные машины через Load Balancer.
Запустите приложение с помощью приведенной ниже команды. Замените элемент <ip address> внешним IP-адресом подсистемы балансировки нагрузки.
dotnet run <ip address>
Приложение должно ответить рядом сообщений, указывающих, был ли получен ответ от retailappvm1 или retailappvm2.
Дайте приложению поработать в течение пяти минут. Чтобы остановить приложение, нажмите клавишу ВВОД.
Создание диаграмм для мониторинга метрик
На портале Azure перейдите к группе ресурсов learn-ts-loadbalancer-rg.
Выберите подсистему балансировки нагрузки retailapplb.
В разделе Мониторинг выберите Метрики.
Добавьте приведенную ниже метрику на пустую диаграмму.
Свойство Значение Область retailapplb Пространство имен метрики Стандартные метрики подсистемы балансировки нагрузки Метрика Число пакетов Агрегат Ср. В верхней части страницы задайте диапазон Последние 30 минут. Диаграмма должна выглядеть примерно следующим образом. Обратите внимание на пиковое значение среднего числа пакетов.
Кроме того, установите флажок Закрепить на панели мониторинга.
Выберите Создать и введите следующие значения.
Поле значение Тип Private Имя панели мониторинга dashboard-learn-ts-loadbalancer Выберите Создать и закрепить.
Выберите Создать диаграмму и добавьте следующую метрику.
Свойство Значение Область retailapplb Пространство имен метрики Стандартные метрики подсистемы балансировки нагрузки Метрика Health Probe Status (Состояние пробы работоспособности) Агрегат Ср. Выберите Добавить метрику и добавьте еще одну метрику на диаграмму, введя приведенные ниже значения.
Свойство Значение Область retailapplb Пространство имен метрики Стандартные метрики подсистемы балансировки нагрузки Метрика Data Path Availability (Доступность пути к данным) Агрегат Ср. Задайте диапазон Последние 30 минут. Диаграмма должна выводить статистику по обеим метрикам в масштабе 100 %.
Выберите Закрепить на панели мониторинга>Существующие.
Для панели мониторинга выберите dashboard-learn-ts-loadbalancer.
Выберите Закрепить.
Теперь у вас есть базовый набор метрик для системы, когда она работает правильно.