Упражнение — тестирование Шлюза приложений

Завершено

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

Схема, на которой показаны развернутые ресурсы.

Тестирование балансировки нагрузки веб-приложения для регистрации транспортных средств

  1. В Cloud Shell выполните следующую команду, чтобы создать корневой URL-адрес Шлюз приложений:

    echo http://$(az network public-ip show \
      --resource-group $RG \
      --name appGatewayPublicIp \
      --query dnsSettings.fqdn \
      --output tsv)
    
  2. С помощью веб-браузера перейдите на веб-сайт по URL-адресу, возвращенному предыдущей командой. Это адрес Шлюза приложений. Убедитесь, что отображается домашняя страница веб-приложения для регистрации транспортных средств. Обратите внимание на используемое имя веб-сервера, как показано внизу страницы (webServer1 или webServer2).

    Снимок экрана: изображение из веб-приложения для регистрации транспортных средств.

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

  4. Выберите " Зарегистрировать автомобиль", введите сведения о автомобиле, а затем нажмите кнопку "Регистрация".

  5. Нажмите кнопку "Обновить несколько раз". Запросы должны переходить между серверами.

Проверьте устойчивость Шлюза приложений в случае отказа сервера

  1. Чтобы остановить и отключить виртуальную машину для webServer1, выполните следующую команду в Cloud Shell.

    az vm deallocate \
      --resource-group $RG \
      --name webServer1
    
  2. Вернитесь к приложению в веб-браузере и нажмите кнопку "Обновить " несколько раз. Обратите внимание, что веб-браузер теперь подключается только к webServer2.

  3. В правой части окна Cloud Shell перезапустите экземпляр webServer1.

    az vm start \
      --resource-group $RG \
      --name webServer1
    
  4. Вернитесь в веб-приложение в веб-браузере и нажмите кнопку "Обновить " несколько раз. Вы должны увидеть, что запросы теперь снова распределяются между обоими веб-серверами.

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

Тестирование маршрутизации на основе путей

Теперь давайте протестируем маршрутизацию на основе пути. Напомним, что URL-адреса в корне сайта и с частью пути /VehicleRegistration/ будут перенаправлены на vmPool, содержащий виртуальные машины, а запросы с частью пути /LicenseRenewal/ будут направляться в appServicePool, который содержит Службу приложений.

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

  1. Теперь выберите "Регистрация транспортного средства " на странице шлюза приложений. Откроется страница сайта регистрации транспортных средств. Если URL-адрес содержит часть пути /VehicleRegistration/, маршрут будет проложен к vmPool, где работает сайт регистрации транспортных средств.

    Снимок экрана: веб-приложение для регистрации транспортного средства.

  2. Теперь посетите http://<vehicleAppGateway>/LicenseRenewal/Create. Это должно занять страницу продления лицензии, запущенную на Служба приложений. Если URL-адрес содержит часть пути /LicenseRenewal/, маршрут будет проложен к appServicePool, где работает сайт продления лицензий.

    Снимок экрана: изображение веб-приложения для продления лицензии.

С помощью этой конфигурации мы можем направлять всех пользователей для обоих сайтов через наш Шлюз приложений, предоставляя им один корневой URL-адрес. Мы можем добавлять дополнительные сайты по мере расширения своего присутствия в Интернете.

Брандмауэр веб-приложения

Мы также включили поддержку WAF в Шлюз приложений. Благодаря этому мы автоматически добавили защиту безопасности на оба веб-сайта. Этим достигается надежный уровень защиты от распространенных уязвимостей и обеспечивается защита нашей инфраструктуры и данных.