Создание пользовательской проверки для шлюза приложений (классического) Azure с помощью PowerShell
Следуя инструкциям этой статьи вы добавите пользовательскую пробу в имеющийся шлюз приложений с помощью PowerShell. Пользовательские пробы полезны в приложениях с конкретной страницей проверки работоспособности или приложениях, не предоставляющих успешный ответ веб-приложению по умолчанию.
Внимание
В Azure предлагаются две модели развертывания для создания ресурсов и работы с ними: модель Resource Manager и классическая модель. В этой статье рассматривается использование классической модели развертывания. Для большинства новых развертываний Майкрософт рекомендует использовать модель диспетчера ресурсов. Узнайте, как выполнить эти действия с помощью модели Resource Manager.
Предварительные требования. Установка модуля Azure PowerShell
Для выполнения действий, описанных в этой статье, требуется установить и настроить модуль Azure PowerShell. Обязательно выполните все инструкции. По завершении установки войдите в Azure и выберите свою подписку.
Примечание.
Для выполнения этих инструкций требуется учетная запись Azure. Если у вас нет учетной записи Azure, вы можете зарегистрироваться и получить бесплатную пробную версию.
Создание Шлюза приложений
Создание шлюза приложений:
- Создание ресурса шлюза приложений.
- Создайте XML-файл конфигурации или объект конфигурации.
- Применить конфигурацию к созданному ресурсу шлюза приложений.
Создание ресурса шлюза приложений с пользовательской пробой
Для создания шлюза используйте командлет New-AzureApplicationGateway
, подставив в него свои значения. Выставление счетов для шлюза не начинается на этом этапе. а позднее, после успешного запуска шлюза.
В следующем примере создается шлюз приложений с использованием виртуальной сети testvnet1 и подсети subnet-1.
New-AzureApplicationGateway -Name AppGwTest -VnetName testvnet1 -Subnets @("Subnet-1")
Чтобы проверить создание шлюза, используйте командлет Get-AzureApplicationGateway
.
Get-AzureApplicationGateway AppGwTest
Примечание.
Значение параметра InstanceCount по умолчанию — 2 (максимальное значение — 10). Значение GatewaySize (Размер шлюза) по умолчанию — Medium (Средний). Можно выбрать значения Small, Medium или Large.
Параметры VirtualIPs и DnsName отображаются без значений, так как шлюз еще не запущен. Эти значения будут определены после запуска шлюза.
Настройка шлюза приложений с помощью XML-файла
В следующем примере все параметры шлюза приложений настраиваются и применяются к ресурсу шлюза приложений при помощи XML-файла.
Скопируйте следующий текст в Блокнот.
<ApplicationGatewayConfiguration xmlns:i="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/windowsazure">
<FrontendIPConfigurations>
<FrontendIPConfiguration>
<Name>fip1</Name>
<Type>Private</Type>
</FrontendIPConfiguration>
</FrontendIPConfigurations>
<FrontendPorts>
<FrontendPort>
<Name>port1</Name>
<Port>80</Port>
</FrontendPort>
</FrontendPorts>
<Probes>
<Probe>
<Name>Probe01</Name>
<Protocol>Http</Protocol>
<Host>contoso.com</Host>
<Path>/path/custompath.htm</Path>
<Interval>15</Interval>
<Timeout>15</Timeout>
<UnhealthyThreshold>5</UnhealthyThreshold>
</Probe>
</Probes>
<BackendAddressPools>
<BackendAddressPool>
<Name>pool1</Name>
<IPAddresses>
<IPAddress>1.1.1.1</IPAddress>
<IPAddress>2.2.2.2</IPAddress>
</IPAddresses>
</BackendAddressPool>
</BackendAddressPools>
<BackendHttpSettingsList>
<BackendHttpSettings>
<Name>setting1</Name>
<Port>80</Port>
<Protocol>Http</Protocol>
<CookieBasedAffinity>Enabled</CookieBasedAffinity>
<RequestTimeout>120</RequestTimeout>
<Probe>Probe01</Probe>
</BackendHttpSettings>
</BackendHttpSettingsList>
<HttpListeners>
<HttpListener>
<Name>listener1</Name>
<FrontendIP>fip1</FrontendIP>
<FrontendPort>port1</FrontendPort>
<Protocol>Http</Protocol>
</HttpListener>
</HttpListeners>
<HttpLoadBalancingRules>
<HttpLoadBalancingRule>
<Name>lbrule1</Name>
<Type>basic</Type>
<BackendHttpSettings>setting1</BackendHttpSettings>
<Listener>listener1</Listener>
<BackendAddressPool>pool1</BackendAddressPool>
</HttpLoadBalancingRule>
</HttpLoadBalancingRules>
</ApplicationGatewayConfiguration>
Измените значения в скобках для элементов конфигурации. Сохраните файл с расширением XML.
В следующем примере показано, как использовать файл конфигурации для настройки шлюза приложений для балансировки трафика HTTP на общедоступном порту 80 и отправки сетевого трафика на внутренний порт 80 между двумя IP-адресами с помощью пользовательской пробы.
Внимание
В элементе протокола HTTP или HTTPS учитывается регистр.
Новый элемент конфигурации <Probe> добавляется для настройки пользовательских проверок работоспособности.
Используются следующие параметры конфигурации:
Параметр | Описание: |
---|---|
Имя | Имя пользовательской пробы. |
Протокол | Используемый протокол (возможные значения: HTTP или HTTPS). |
Host и Path | Полный путь URL-адреса, который вызывается шлюзом приложений для определения работоспособности экземпляра. Например, если у вас есть веб-сайт http://contoso.com/, настраиваемая проба может быть настроена для "http://contoso.com/path/custompath.htm" Для проверки проверки успешного HTTP-ответа. |
Интервал | Задает интервал между пробами в секундах. |
Время ожидания | Определяет время ожидания для проверки ответа HTTP. |
UnhealthyThreshold | Количество неудачных HTTP-ответов, необходимых для флага внутреннего экземпляра как неработоспособного. |
Имя пробы ссылается в <конфигурации BackendHttpSettings> , чтобы назначить, какой серверный пул использует пользовательские параметры пробы.
Добавление пользовательской пробы в имеющийся шлюз приложений
Изменение текущей конфигурации шлюза приложений состоит из трех шагов: получение XML-файла конфигурации, внесение изменений для пользовательской проверки и настройка шлюза приложений с использованием новых параметров XML.
Получите XML-файл с помощью командлета
Get-AzureApplicationGatewayConfig
. Он экспортирует XML-файл конфигурации, который нужно изменить, чтобы добавить параметры пробы.Get-AzureApplicationGatewayConfig -Name "<application gateway name>" -Exporttofile "<path to file>"
Откройте XML-файл в текстовом редакторе. Добавьте раздел
<probe>
после<frontendport>
.<Probes> <Probe> <Name>Probe01</Name> <Protocol>Http</Protocol> <Host>contoso.com</Host> <Path>/path/custompath.htm</Path> <Interval>15</Interval> <Timeout>15</Timeout> <UnhealthyThreshold>5</UnhealthyThreshold> </Probe> </Probes>
В разделе backendHttpSettings XML-файла добавьте имя пробы, как показано в следующем примере.
<BackendHttpSettings> <Name>setting1</Name> <Port>80</Port> <Protocol>Http</Protocol> <CookieBasedAffinity>Enabled</CookieBasedAffinity> <RequestTimeout>120</RequestTimeout> <Probe>Probe01</Probe> </BackendHttpSettings>
Сохраните XML-файл.
Обновите конфигурацию шлюза приложения с помощью нового XML-файла, используя командлет
Set-AzureApplicationGatewayConfig
. Он обновит шлюз приложений с учетом новой конфигурации.
Set-AzureApplicationGatewayConfig -Name "<application gateway name>" -Configfile "<path to file>"
Следующие шаги
Если вы хотите настроить протокол TLS (ранее он назывался протоколом SSL), см. статью Создание шлюза приложений для завершения TLS-запросов с помощью Azure PowerShell.
Указания по настройке шлюза приложений для использования с внутренним балансировщиком нагрузки см. в статье Создание шлюза приложений с внутренней подсистемой балансировщика нагрузки (ILB).