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