Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste artigo, adiciona uma sonda personalizada a um gateway de aplicação existente com o PowerShell. As sondas personalizadas são úteis para aplicações que têm uma página específica de verificação de saúde ou para aplicações que não fornecem uma resposta bem-sucedida na aplicação web predefinida.
Important
O Azure tem dois modelos de implementação diferentes para criar e trabalhar com recursos: Resource Manager e Classic. Este artigo aborda a utilização do modelo de implementação Classic. A Microsoft recomenda que a maioria das novas implementações utilize o modelo Resource Manager. Aprenda a realizar estes passos usando o modelo Resource Manager.
Pré-requisito: Instalar o módulo Azure PowerShell
Para realizar os passos deste artigo, precisa de instalar e configurar o módulo Azure PowerShell. Certifique-se de cumprir todas as instruções. Depois de concluída a instalação, inicie sessão no Azure e selecione a sua subscrição.
Note
Precisas de uma conta Azure para completar estes passos. Se não tiver uma conta do Azure, pode criar uma gratuitamente.
Criar um gateway de aplicação
Para criar um gateway de aplicação:
- Crie um recurso de gateway de aplicação.
- Crie um ficheiro XML de configuração ou um objeto de configuração.
- Comprometa a configuração no recurso de gateway de aplicação recém-criado.
Crie um recurso de gateway de aplicação com uma sonda personalizada
Para criar o gateway, use o New-AzureApplicationGateway cmdlet, substituindo os valores pelos seus próprios. A faturação do gateway não começa neste momento. A faturação começa numa etapa posterior, quando o gateway é iniciado com sucesso.
O exemplo seguinte cria um gateway de aplicações usando uma rede virtual chamada "testvnet1" e uma sub-rede chamada "subnet-1".
New-AzureApplicationGateway -Name AppGwTest -VnetName testvnet1 -Subnets @("Subnet-1")
Para validar que o gateway foi criado, podes usar o Get-AzureApplicationGateway cmdlet.
Get-AzureApplicationGateway AppGwTest
Note
O valor padrão para o InstanceCount é 2, com um valor máximo de 10. O valor padrão para o GatewaySize é Medium. Pode escolher entre Pequeno, Médio e Grande.
VirtualIPs e DnsName aparecem como em branco porque o gateway ainda não começou. Estes valores são criados assim que o gateway está em estado de execução.
Configure um gateway de aplicação usando XML
No exemplo seguinte, utiliza-se um ficheiro XML para configurar todas as definições do gateway de aplicação e comprometê-las no recurso do gateway de aplicação.
Copie o texto seguinte para o bloco de notas.
<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>
Edita os valores entre parênteses para os itens de configuração. Guarde o ficheiro com a extensão .xml.
O exemplo seguinte mostra como usar um ficheiro de configuração para configurar o gateway da aplicação para balancear o tráfego HTTP na porta pública 80 e enviar tráfego de rede para a porta backend 80 entre dois endereços IP usando uma sonda personalizada.
Important
O item do protocolo Http ou Https é sensível a maiúsculas minúsculas.
Um novo item <de configuração, o Probe> , é adicionado para configurar sondas personalizadas.
Os parâmetros de configuração são:
| Parameter | Description |
|---|---|
| Name | Nome de referência para sonda personalizada. |
| Protocol | Protocolo utilizado (os valores possíveis são HTTP ou HTTPS). |
| Anfitrião e Caminho | Caminho completo de URL que é invocado pelo gateway de aplicação para determinar o estado da instância. Por exemplo, se tiver um site http://contoso.com/, então a sonda personalizada pode ser configurada para "http://contoso.com/path/custompath.htm" para que as verificações de sonda tenham uma resposta HTTP bem-sucedida. |
| Interval | Configura as verificações do intervalo de sonda em segundos. |
| Timeout | Define o time-out da sonda para uma verificação de resposta HTTP. |
| UnhealthyThreshold | O número de respostas HTTP falhadas necessárias para sinalizar a instância backend como não saudável. |
O nome da sonda é referenciado na <configuração BackendHttpSettings> para atribuir qual pool de backend utiliza definições personalizadas da sonda.
Adicione uma sonda personalizada a um gateway de aplicação existente
Alterar a configuração atual de um gateway de aplicação requer três passos: obter o ficheiro de configuração XML atual, modificar para ter uma sonda personalizada e configurar o gateway de aplicação com as novas definições XML.
Obtenha o ficheiro XML usando
Get-AzureApplicationGatewayConfig. Este cmdlet exporta o XML de configuração a ser modificado para adicionar uma configuração de sonde.Get-AzureApplicationGatewayConfig -Name "<application gateway name>" -Exporttofile "<path to file>"Abra o ficheiro XML num editor de texto. Adicione uma
<probe>secção após<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>Na secção BackendHttpSettings do XML, adicione o nome da sonda como mostrado no seguinte exemplo:
<BackendHttpSettings> <Name>setting1</Name> <Port>80</Port> <Protocol>Http</Protocol> <CookieBasedAffinity>Enabled</CookieBasedAffinity> <RequestTimeout>120</RequestTimeout> <Probe>Probe01</Probe> </BackendHttpSettings>Guarde o ficheiro XML.
Atualize a configuração do gateway de aplicação com o novo ficheiro XML usando
Set-AzureApplicationGatewayConfig. Este cmdlet atualiza o seu gateway de aplicação com a nova configuração.
Set-AzureApplicationGatewayConfig -Name "<application gateway name>" -Configfile "<path to file>"
Passos seguintes
Se quiser configurar a Segurança da Camada de Transporte (TLS), anteriormente conhecida como descarregamento da Camada Secure Sockets (SSL), consulte Configurar um gateway de aplicação para descarregamento TLS.
Se quiser configurar um gateway de aplicação para usar com um balanceador de carga interno, veja Criar um gateway de aplicação com um balanceador de carga interno (ILB).