Возможности шлюза приложений Azure

Шлюз приложений Azure — это подсистема балансировки нагрузки веб-трафика, предназначенная для управления трафиком веб-приложений.

Application Gateway conceptual

Примечание.

Для веб-рабочих нагрузок настоятельно рекомендуется использовать защиту от атак DDoS Azure и брандмауэр веб-приложения для защиты от новых атак DDoS. Другой вариант — использовать Azure Front Door вместе с брандмауэром веб-приложения. Azure Front Door обеспечивает защиту на уровне платформы от атак DDoS на уровне сети. Дополнительные сведения см . в разделе "Базовые показатели безопасности" для служб Azure.

Шлюз приложений включает в себя следующие функции:

Завершение запросов SSL/TLS

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

Дополнительные сведения см. в разделе Обзор завершения SSL и сквозного SSL со шлюзом приложений

Автомасштабирование

Шлюз приложений Standard_v2 поддерживает автоматическое масштабирование и может увеличивать или уменьшать масштаб в зависимости от изменения шаблонов нагрузки трафика. Кроме того, автоматическое масштабирование позволяет не выбирать размер развертывания или количество экземпляров во время подготовки.

Дополнительные сведения о функциях Шлюз приложений Standard_v2 см. в статье "Что такое Шлюз приложений Azure версии 2".

Избыточность между зонами

Шлюз приложений Standard_v2 может охватывать несколько зон доступности, обеспечивая лучшую отказоустойчивость и избавляя от необходимости выделять отдельные шлюзы приложений в каждой зоне.

Статический виртуальный IP-адрес

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

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

Брандмауэр веб-приложений (WAF) — это служба, которая обеспечивает централизованную защиту ваших веб-приложений от распространенных эксплойтов и уязвимостей. Брандмауэр веб-приложения основан на правилах из основных наборов правил OWASP (открытый проект безопасности веб-приложений) версии 3.1 (только WAF_v2), 3.0 или 2.2.9.

Веб-приложения все чаще подвергаются вредоносным атакам, использующим общеизвестные уязвимости. Повсеместно используются уязвимости для атак путем внедрения кода SQL и межсайтовых сценариев, и это лишь немногие из них. Предотвращение таких атак в коде приложения может быть сложной задачей и потребовать тщательного обслуживания, исправления и мониторинга на многих уровнях топологии приложения. Централизованный брандмауэр веб-приложения значительно упрощает управление безопасностью и помогает администраторам защищать приложение от угроз вторжения. Решение WAF может быстрее реагировать на угрозы безопасности по сравнению с защитой каждого отдельного веб-приложения благодаря установке исправлений известных уязвимостей в центральном расположении. Существующие шлюзы приложений можно легко преобразовать в шлюз приложений с включенным брандмауэром веб-приложений.

Сведения о том, как использовать Azure WAF с Шлюз приложений для защиты от атак DDoS, см. в статье "Защита от атак DDoS в приложении". Дополнительные сведения см. в статье "Что такое Azure Брандмауэр веб-приложений".

Контроллер входящего трафика для AKS

Контроллер входящего трафика Шлюза приложений (AGIC) позволяет использовать трафик от Шлюза приложений в качестве входящего трафика для кластера Службы Azure Kubernetes (AKS).

Контроллер входящего трафика работает как модуль в кластере AKS, потребляет ресурсы входящего трафика Kubernetes и преобразует их в конфигурацию шлюза приложений, что позволяет шлюзу балансировать нагрузку трафика на модули Kubernetes. Контроллер входящего трафика поддерживает только SKU Шлюза приложений Standard_v2 и WAF_v2.

Дополнительные сведения о контроллере входящего трафика Шлюза приложений см. в этой статье.

Маршрутизация на основе URL-адреса

Маршрутизация на основе URL-адресов позволяет направлять трафик в серверные пулы на основе URL-адресов запроса. Один из сценариев — это маршрутизация запросов на различные типы содержимого в различные пулы.

Например, запросы для http://contoso.com/video/* направляются в VideoServerPool, а запросы для http://contoso.com/images/* — в ImageServerPool. Если ни один из шаблонов пути не подходит, выбирается пул DefaultServerPool.

Для получения дополнительной информации см. Обзор маршрутизации на основе URL-пути.

Размещение нескольких сайтов

С помощью шлюза приложений вы можете настроить маршрутизацию на основе имени хоста или имени домена для нескольких веб-приложений на одном шлюзе приложений. Так вы можете настроить более эффективную топологию для развернутых служб, добавляя более 100 веб-сайтов в один шлюз приложений. Каждый веб-сайт может быть направлен в свой собственный внутренний пул. Например, три домена (contoso.com, fabrikam.com и adatum.com) указывают на IP-адрес шлюза приложений. Создайте три многосайтовых прослушивателя и настройте каждый из них на использование соответствующего порта и параметра протокола.

Запросы для http://contoso.com направляются в ContosoServerPool, http://fabrikam.com перенаправляются в FabrikamServerPool и т. Д.

Точно так же в одном развернутом шлюзе приложений можно разместить два поддомена одного родительского домена. К примерам использования поддоменов можно отнести размещение http://blog.contoso.com и http://app.contoso.com в одном развернутом шлюзе приложений. Дополнительные сведения см. в разделе Хостинг нескольких сайтов на шлюзе приложений.

Вы также можете определить имена узлов с подстановочными знаками в многосайтовом прослушивателе и до пяти имен узлов на каждый прослушиватель. См. сведения об использовании имен узлов с подстановочными знаками в прослушивателе.

Перенаправление

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

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

Возможности поддержки перенаправления для шлюза приложений:

  • Глобальное перенаправление с одного порта на другой через шлюз. Это позволяет организовать на сайте перенаправление с HTTP на HTTPS.
  • Перенаправление на основе пути. Этот тип перенаправления позволяет организовать перенаправление с HTTP на HTTPS только в указанную область сайта, например в область корзины для покупок, которая обозначается как /cart/*.
  • Перенаправление на внешний сайт.

Дополнительные сведения см. в разделе Обзор перенаправления шлюза приложений.

Сходство сеансов

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

Дополнительные сведения см. в разделе Как работает шлюз приложений.

Трафик WebSocket и HTTP/2

Шлюз приложений обеспечивает встроенную поддержку протоколов WebSocket и HTTP/2. Настраиваемый пользователем параметр для выборочного включения или отключения поддержки WebSocket отсутствует.

Протоколы WebSocket и HTTP/2 обеспечивают полную дуплексную связь между клиентом и сервером через длительное TCP-подключение. Благодаря этому обеспечивается лучшее интерактивное взаимодействие между веб-сервером и клиентом, которое может быть двунаправленным, без необходимости выполнять опрос, как это требуется в реализациях на основе HTTP. Эти протоколы имеют низкие накладные расходы, в отличие от HTTP, и могут повторно использовать одно и то же TCP-соединение для нескольких запросов / ответов, что приводит к более эффективному использованию ресурсов. Эти протоколы предназначены для работы через традиционные HTTP-порты 80 и 443.

Дополнительные сведения см. в разделах о поддержке WebSocket и поддержке HTTP/2.

Сток подключений

Подключение очистка помогает добиться корректного удаления членов внутреннего пула во время запланированных обновлений или проблем с работоспособностью серверной части. Этот параметр включен с помощью параметра серверной части и применяется ко всем членам внутреннего пула во время создания правила. После включения шлюз приложений гарантирует, что все экземпляры серверного пула не получают новых запросов, позволяя существующим запросам выполняться в течение заданного срока. Это относится к случаям, когда внутренние экземпляры:

  • Явным образом удален из внутреннего пула после изменения конфигурации пользователем
  • сообщается как неработоспособная пробы работоспособности или
  • удален во время операции масштабирования

Единственным исключением является то, что запросы по-прежнему являются прокси-серверами для экземпляров отмены регистрации из-за сопоставления сеансов, управляемых шлюзом.

Очистка подключений также учитывается для подключений WebSocket. Подключение очистка вызывается для каждого отдельного обновления шлюза. Чтобы предотвратить потерю подключения к существующим членам внутреннего пула, обязательно включите очистку подключений.

Сведения об ограничениях времени см. в разделе "Серверная Параметры конфигурация".

Пользовательские страницы ошибок

Шлюз приложений позволяет создавать пользовательские страницы ошибок вместо отображения страниц ошибок по умолчанию. На пользовательской странице ошибок вы можете использовать собственные символику и макет.

См. также о пользовательских ошибках.

Перезапись заголовков HTTP и URL-адреса

Заголовки HTTP позволяют клиенту и серверу передавать дополнительную информацию вместе с запросом или ответом. Перезаписывая эти заголовки HTTP, можно реализовать несколько важных сценариев, в том числе:

  • Добавление полей заголовка, связанных с безопасностью, например HSTS или X-XSS-Protection.
  • Удаление полей заголовка ответа, которые могут раскрыть конфиденциальную информацию.
  • Чередование информации о портах из заголовков X-Forwarded-For.

Шлюз приложений и SKU WAF версии 2 поддерживают возможность добавления, удаления или обновления заголовков HTTP-запросов и ответов, а пакеты запросов и ответов перемещаются между клиентскими и внутренними пулами. Вы также можете перезаписывать URL-адреса, параметры строки запроса и имя узла. При перезаписи URL-адресов и маршрутизации на основе URL-адресов можно выбрать маршрутизацию запросов к одному из внутренних пулов на основе исходного пути или пути перезаписи, используя параметр сопоставления путей повторной оценки.

Он также дает возможность добавить условия, чтобы убедиться, что указанные заголовки или URL-адрес перезаписываются только в том случае, если соблюдены определенные условия. Эти условия основываются на сведениях о запросе и ответе.

Для получения дополнительной информации см. Перезапись заголовков HTTP и URL-адреса.

Определение параметров

Шлюз приложений Standard_v2 можно настроить для автомасштабирования или развертывания фиксированного размера. Артикул v2 не предлагает инстансов разных размеров. Дополнительные сведения о производительности и ценах на версию 2 см. в разделах Автомасштабирование версии 2 и Общие сведения о ценах.

Стандартная версия шлюза приложений (v1) предлагается в трех размерах: малый, средний и большой. Экземпляры малого размера предназначены для разработки и тестирования сценариев.

Полный список ограничений шлюза приложений см. здесь.

В таблице ниже показана средняя пропускная способность каждого экземпляра шлюза приложений версии 1 с активированной разгрузкой SSL.

Средний размер ответа серверной страницы Небольшой Средняя Большой
6 КБ 7,5 Мбит/с 13 Мбит/с 50 Мбит/с
100 КБ 35 Мбит/с 100 Мбит/с 200 Мбит/с

Примечание.

Это примерные значения для настройки пропускной способности шлюза приложений. Фактическая пропускная способность зависит от различных сведений о среде, таких как средний размер страницы, расположение внутренних экземпляров и время обработки для обслуживания страницы. Чтобы точно определить производительность, выполните собственные тесты. Приведенные здесь значения служат только для планирования емкости.

Сравнение функций версии

Сравнение функций Шлюз приложений версии 1-v2 см. в разделе "Что такое Шлюз приложений Azure версии 2".

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