Упражнение — тестирование Шлюза приложений
Последним шагом является испытание шлюза приложений и проверка реализации балансировки нагрузки без попыток направлять трафик на недоступный веб-сервер. Мы также хотим убедиться, что наша маршрутизация на основе пути работает правильно.
Тестирование балансировки нагрузки веб-приложения для регистрации транспортных средств
В Cloud Shell выполните следующую команду, чтобы создать корневой URL-адрес Шлюз приложений:
echo http://$(az network public-ip show \ --resource-group $RG \ --name appGatewayPublicIp \ --query dnsSettings.fqdn \ --output tsv)
С помощью веб-браузера перейдите на веб-сайт по URL-адресу, возвращенному предыдущей командой. Это адрес Шлюза приложений. Убедитесь, что отображается домашняя страница веб-приложения для регистрации транспортных средств. Обратите внимание на используемое имя веб-сервера, как показано внизу страницы (webServer1 или webServer2).
Выберите "Обновить" в адресной строке веб-браузера. Обратите внимание на то, что сеанс теперь должен быть подключен к другому веб-серверу. В этой конфигурации Шлюз приложений использует циклический перебор балансировки нагрузки.
Выберите " Зарегистрировать автомобиль", введите сведения о автомобиле, а затем нажмите кнопку "Регистрация".
Нажмите кнопку "Обновить несколько раз". Запросы должны переходить между серверами.
Проверьте устойчивость Шлюза приложений в случае отказа сервера
Чтобы остановить и отключить виртуальную машину для webServer1, выполните следующую команду в Cloud Shell.
az vm deallocate \ --resource-group $RG \ --name webServer1
Вернитесь к приложению в веб-браузере и нажмите кнопку "Обновить " несколько раз. Обратите внимание, что веб-браузер теперь подключается только к webServer2.
В правой части окна Cloud Shell перезапустите экземпляр webServer1.
az vm start \ --resource-group $RG \ --name webServer1
Вернитесь в веб-приложение в веб-браузере и нажмите кнопку "Обновить " несколько раз. Вы должны увидеть, что запросы теперь снова распределяются между обоими веб-серверами.
Вы убедились, что веб-приложение запущено. Шлюз приложений использует подсистему балансировки нагрузки для распределения запросов между серверами. Шлюз приложений определяет сбой на сервере и не направляет запросы на недоступный сервер.
Тестирование маршрутизации на основе путей
Теперь давайте протестируем маршрутизацию на основе пути. Напомним, что URL-адреса в корне сайта и с частью пути /VehicleRegistration/ будут перенаправлены на vmPool, содержащий виртуальные машины, а запросы с частью пути /LicenseRenewal/ будут направляться в appServicePool, который содержит Службу приложений.
Вы только что подтвердили работоспособность маршрутизации на корневой странице, так как открылась страница регистрации транспортного средства. Давайте протестируем работоспособность других маршрутов.
Теперь выберите "Регистрация транспортного средства " на странице шлюза приложений. Откроется страница сайта регистрации транспортных средств. Если URL-адрес содержит часть пути /VehicleRegistration/, маршрут будет проложен к vmPool, где работает сайт регистрации транспортных средств.
Теперь посетите
http://<vehicleAppGateway>/LicenseRenewal/Create
. Это должно занять страницу продления лицензии, запущенную на Служба приложений. Если URL-адрес содержит часть пути /LicenseRenewal/, маршрут будет проложен к appServicePool, где работает сайт продления лицензий.
С помощью этой конфигурации мы можем направлять всех пользователей для обоих сайтов через наш Шлюз приложений, предоставляя им один корневой URL-адрес. Мы можем добавлять дополнительные сайты по мере расширения своего присутствия в Интернете.
Брандмауэр веб-приложения
Мы также включили поддержку WAF в Шлюз приложений. Благодаря этому мы автоматически добавили защиту безопасности на оба веб-сайта. Этим достигается надежный уровень защиты от распространенных уязвимостей и обеспечивается защита нашей инфраструктуры и данных.