Интеграция среды службы приложений с внутренней системой балансировки нагрузки (ILB) со шлюзом приложений Azure
Среда службы приложений — это развернутая служба приложений Azure в подсети виртуальной сети Azure клиента. Ее можно развернуть с использованием внешней или внутренней конечной точки для доступа к приложениям. Развертывание Среда службы приложений с внутренней конечной точкой называется внутренней подсистемой балансировки нагрузки (ILB) Среда службы приложений.
Брандмауэры веб-приложения защищают веб-приложения, проверяя входящий трафик Интернета и блокируя атаки с использованием кода SQL и межсайтовых скриптов, передачи вредоносных программ, атаки DDoS на приложения и другие атаки. Устройство WAF можно получить из Azure Marketplace или использовать Шлюз приложений Azure.
Шлюз приложений Azure — это виртуальное устройство, которое обеспечивает балансировку нагрузки уровня 7, разгрузку TLS и защиту брандмауэра веб-приложений (WAF). Он может ожидать передачи данных через общедоступный IP-адрес и направлять трафик к конечной точке приложения. Ниже описано, как интегрировать шлюз приложений с настроенным WAF с приложением в среде службы приложений ILB.
Интеграция шлюза приложений и среды службы приложений с ILB осуществляется на уровне приложения. Настройка шлюза приложений для работы со средой службы приложений с внутренней подсистемой балансировки нагрузки выполняется для конкретных приложений в среде службы приложений с ILB.
В этом пошаговом руководстве описаны следующие операции.
- Создание шлюза приложений Azure.
- Настройка шлюза приложения для указания на приложение в среде службы приложений с внутренней подсистемой балансировки нагрузки.
- Изменение общедоступного имени узла DNS, указывающего на шлюз приложений.
Необходимые компоненты
Чтобы интегрировать шлюз приложений в среду службы приложений с внутренней подсистемой балансировки нагрузки, требуется:
- Среда службы приложений с подсистемой балансировки нагрузки.
- Частная зона DNS для Среда службы приложений балансировки нагрузки.
- Приложение, выполняющееся в среде службы приложений с внутренней подсистемой балансировки нагрузки.
- Общедоступное DNS-имя шлюза приложений.
- Если необходимо использовать шифрование TLS для шлюза приложений, требуется действительный общедоступный сертификат, используемый для привязки к шлюзу приложений.
Среда службы приложений подсистемы балансировки нагрузки
Дополнительные сведения о создании Среда службы приложений балансировки нагрузки см. в статье "Создание Среда службы приложений" в портал Azure и создании Среда службы приложений с помощью шаблона Azure Resource Manager.
После создания Среда службы приложений балансировки нагрузки домен
<YourAseName>.appserviceenvironment.net
по умолчанию .Внутренний балансировщик нагрузки подготавливается для входящего доступа. Вы можете проверить входящий адрес в IP-адресах в разделе "Параметры Среда службы приложений". Вы можете создать частную зону DNS, сопоставленную с этим IP-адресом позже.
Частная зона DNS
Для внутреннего разрешения имен требуется Частная зона DNS. Создайте его с помощью имени Среда службы приложений с помощью наборов записей, показанных в следующей таблице (инструкции см. в кратком руководстве. Создание частной зоны DNS Azure с помощью портал Azure).
Имя. | Тип | значение |
---|---|---|
* | а | Среда службы приложений входящий адрес |
@ | а | Среда службы приложений входящий адрес |
@ | SOA | Среда службы приложений DNS-имя |
*.scm | а | Среда службы приложений входящий адрес |
Служба приложений на Среда службы приложений балансировки нагрузки
Необходимо создать план Служба приложений и приложение в Среда службы приложений подсистемы балансировки нагрузки. При создании приложения на портале выберите Среда службы приложений ILB в качестве региона.
Общедоступное DNS-имя для шлюза приложений
Для подключения к шлюзу приложений из Интернета требуется имя домена с маршрутизацией. В этом случае я использовал маршрутизируемое доменное имя asabuludemo.com
и планирую подключиться к службе приложений с этим доменным именем app.asabuludemo.com
. IP-адрес, сопоставленный с этим доменом приложения, необходимо задать для Шлюз приложений общедоступный IP-адрес после создания шлюза приложений.
Если общедоступный домен сопоставлен со шлюзом приложений, настраивать личный домен в службе приложений не требуется. Вы можете приобрести пользовательское доменное имя в доменах службы приложений.
Действительный открытый сертификат
Для улучшения безопасности привязывается сертификат TLS для шифрования сеанса. Чтобы привязать сертификат TLS к шлюзу приложений, требуется действительный общедоступный сертификат со следующими сведениями. С помощью сертификатов Служба приложений вы можете приобрести сертификат TLS и экспортировать его в .pfx
формате.
Имя. | Стоимость | Описание |
---|---|---|
Общее имя | <yourappname>.<yourdomainname> , например: app.asabuludemo.com или *.<yourdomainname> , например: *.asabuludemo.com |
Стандартный сертификат или групповой сертификат для шлюза приложений |
Альтернативное имя субъекта | <yourappname>.scm.<yourdomainname> , например: app.scm.asabuludemo.com или *.scm.<yourdomainname> , например: *.scm.asabuludemo.com |
Сеть SAN, которая позволяет подключаться к службе приложений KUDU. Это необязательный параметр, если вы не хотите публиковать службу службы приложений KUDU в Интернете. |
Файл сертификата должен иметь закрытый ключ и сохранить его в .pfx
формате. Сертификат импортируется в шлюз приложений позже.
Создание Шлюза приложений
Основные сведения о создании шлюза приложений см. в разделе Руководство. Создание шлюза приложений с брандмауэром веб-приложения с помощью портала Azure.
В этом руководстве мы используем портал Azure для создания шлюза приложений с Среда службы приложений ILB.
В портале Azure выберите Создать новый>Сеть>Шлюз приложений, чтобы создать шлюз приложений.
Основные параметры
В раскрывающемся списке Уровень можно выбрать Стандартный V2 или WAF V2, чтобы включить функцию WAF в шлюзе приложений.
Параметр внешних интерфейсов
Выберите тип IP-адреса внешнего интерфейса — Общедоступный, Частный или Оба. Если задано значение Частный или Оба, необходимо назначить статический IP-адрес в диапазоне подсети шлюза приложений. В этом случае мы установили общедоступный IP-адрес только для общедоступной конечной точки.
Общедоступный IP-адрес. Необходимо связать общедоступный IP-адрес для общего доступа к шлюзу приложений. Запишите этот IP-адрес, т. к. вам потребуется добавить запись в службу DNS позже.
Параметр серверной части
Введите имя пула серверной части и выберите Службы приложений или IP-адрес или полное доменное имя в поле Тип целевого объекта. В этом случае мы настроили Службы приложений и выбираем имя службы приложений из раскрывающегося списка целевых объектов.
Параметр конфигурации
В параметре конфигурации необходимо добавить правило маршрутизации, выбрав значок "Добавить правило маршрутизации".
Необходимо настроить Прослушиватель и Цели серверной части в правиле маршрутизации. Вы можете добавить прослушиватель HTTP для подтверждения развертывания концепции или добавить прослушиватель HTTPS для улучшения безопасности.
Для подключения к шлюзу приложений с протоколом HTTP можно создать прослушиватель со следующими параметрами:
Параметр Стоимость Описание Имя правила Например: http-routingrule
Имя маршрутизации Имя прослушивателя Например: http-listener
Имя прослушивателя Интерфейсный IP-адрес Общедоступный Для доступа к Интернету задайте значение "Общедоступный". Протокол HTTP Не используйте шифрование TLS Порт 80 HTTP-порт по умолчанию Тип прослушивателя Несколько сайтов Разрешить прослушивание нескольких сайтов в шлюзе приложений Host type Несколько элементов / подстановочный знак Если для типа прослушивателя задано значение "Несколько сайтов", задайте для параметра имени веб-сайта значение "Несколько элементов" или "Подстановочный знак". Host name Например: app.asabuludemo.com
Задайте для службы приложений имя маршрутизируемого домена. Чтобы подключиться к шлюзу приложений с шифрованием TLS, можно создать прослушиватель со следующими параметрами:
Параметр Стоимость Описание Имя правила Например: https-routingrule
Имя маршрутизации Имя прослушивателя Например: https-listener
Имя прослушивателя Интерфейсный IP-адрес Общедоступный Для доступа к Интернету задайте значение "Общедоступный". Протокол HTTPS Использование шифрования TLS Порт 443 HTTPS порт по умолчанию Параметры HTTPS Загрузить сертификат Загрузите сертификат, который содержит CN и закрытый ключ в формате .pfx. Тип прослушивателя Несколько сайтов Разрешить прослушивание нескольких сайтов в шлюзе приложений Host type Несколько элементов / подстановочный знак Если для типа прослушивателя задано значение "Несколько сайтов", задайте для параметра имени веб-сайта значение "Несколько элементов" или "Подстановочный знак". Host name Например: app.asabuludemo.com
Задайте для службы приложений имя маршрутизируемого домена. Необходимо настроить серверный пул и Параметр HTTP во Целях серверной части. Серверный пул был настроен на предыдущих шагах. Нажмите кнопку "Добавить новую ссылку", чтобы добавить параметр HTTP.
Параметры HTTP, перечисленные в следующей таблице:
Параметр Стоимость Описание Имя параметра HTTP Например: https-setting
Имя параметра HTTP Протокол серверной части HTTPS Использование шифрования TLS Серверный порт 443 HTTPS порт по умолчанию Использовать сертификат хорошо известного центра сертификации Да Имя домена по умолчанию Среда службы приложений .appserviceenvironment.net
балансировки нагрузки. Сертификат этого домена выдан общедоступным доверенным корневым центром. В параметре "Доверенный корневой сертификат" можно настроить использование доверенного корневого сертификата, выданного хорошо известным ЦС.Переопределить новым именем узла Да Заголовок имени узла перезаписан при подключении к приложению на Среда службы приложений балансировки нагрузки Переопределение имени узла Выбор имени узла из целевого объекта серверной части При настройке внутреннего пула для службы приложений можно выбрать узел из целевого объекта серверной части. Создание настраиваемых проб No Использовать пробу по умолчанию
Настройка интеграции шлюза приложений с Среда службы приложений балансировки нагрузки
Чтобы получить доступ к ILB Среда службы приложений из шлюза приложений, необходимо проверить, является ли виртуальная сеть ссылкой на частную зону DNS. Если виртуальная сеть не связана с виртуальной сетью шлюза приложений, добавьте ссылку виртуальной сети, выполнив следующие действия.
Настройка соединений виртуальной сети с помощью частной зоны DNS
- Чтобы настроить подключение к виртуальной сети с помощью частной зоны DNS, перейдите в зону конфигурации частной зоны DNS. Выберите Соединения виртуальной сети>Добавить
- Введите Имя ссылки и выберите соответствующую подписку и виртуальную сеть, в которой находится шлюз приложений.
- Состояние работоспособности серверной части можно проверить в параметре Работоспособность серверной части на плоскости шлюза приложений.
Добавление общедоступной записи DNS
Необходимо настроить правильное сопоставление DNS при доступе к шлюзу приложений из Интернета.
- Общедоступный IP-адрес шлюза приложений можно найти в Интерфейсных IP-конфигурациях на плоскости шлюза приложений.
- Используя службу Azure DNS в качестве примера, можно добавить набор записей, чтобы связать имя домена приложения с общедоступным IP-адресом шлюза приложений.
Проверка подключения
- На компьютере с доступом через Интернет можно проверить разрешение имен для имени домена приложения на общедоступный IP-адрес шлюза приложений.
- На компьютере с доступом через Интернет проверьте веб-доступ из браузера.