Partilhar via


Criar um gateway de aplicação com um ILB (balanceador de carga interno)

Azure Application Gateway Standard v1 can be configured with an Internet-facing VIP or with an internal endpoint that is not exposed to the Internet, also known as an internal load balancer (ILB) endpoint. Configurar o gateway com um ILB é útil para as aplicações de linha de negócio internas não expostas à Internet. It's also useful for services and tiers within a multi-tier application that sit in a security boundary that is not exposed to the Internet but still require round-robin load distribution, session stickiness, or Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), termination.

Este artigo orienta você pelas etapas para configurar um gateway de aplicativo Standard v1 com um ILB.

Antes de começar

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

  1. Instale a versão mais recente do módulo do Azure PowerShell seguindo as instruções de instalação.
  2. Vai criar uma rede virtual e uma sub-rede para o Application Gateway. Verifique se a sub-rede não está a ser utilizada por nenhuma máquina virtual ou implementação na nuvem. O Application Gateway tem de constar, por si só, numa sub-rede de rede virtual.
  3. Os servidores que irá configurar para utilizar o gateway de aplicação devem existir. Caso contrário, os respetivos pontos finais terão de ser criados na rede virtual ou com um IP/VIP público atribuído.

O que é necessário para criar um gateway de aplicação?

  • Backend server pool: The list of IP addresses of the backend servers. The IP addresses listed should either belong to the virtual network but in a different subnet for the application gateway or should be a public IP/VIP.
  • Backend server pool settings: Every pool has settings like port, protocol, and cookie-based affinity. Estas definições estão associadas a um conjunto e são aplicadas a todos os servidores do referido conjunto.
  • Porta frontend: esta porta é a porta pública aberta no gateway de aplicativo. O tráfego chega a esta porta, sendo posteriormente redirecionado para um dos servidores de back-end.
  • Listener: The listener has a frontend port, a protocol (HTTP or HTTPS, these are case-sensitive), and the SSL certificate name (if configuring SSL offload).
  • Regra: A regra vincula o ouvinte e o pool de servidores back-end e define para qual pool de servidores back-end o tráfego deve ser direcionado quando atinge um ouvinte específico. Atualmente, apenas é suportada a regra básica. The basic rule is round-robin load distribution.

Criar um gateway de aplicação

A diferença entre a utilização do Azure Clássico e do Azure Resource Manager é a ordem pela qual vai criar o gateway de aplicação e os itens que devem ser configurados. Com o Resource Manager, todos os itens que irão constituir um gateway de aplicação serão configurados individualmente e, em seguida, reunidos para criar o recurso do gateway de aplicação.

Os passos necessários para criar um gateway de aplicação encontram-se descritos abaixo:

  1. Criar um grupo de recursos para o Resource Manager
  2. Criar uma rede virtual e uma sub-rede para o gateway de aplicação
  3. Criar um objeto de configuração do gateway de aplicação
  4. Create an application gateway resource

Criar um grupo de recursos para o Resource Manager

Não se esqueça de mudar o modo do PowerShell para utilizar o cmdlets do Azure Resource Manager. Para obter mais informações, veja Using Windows PowerShell with Resource Manager (Usar o Windows PowerShell com o Resource Manager).

Passo 1

Connect-AzAccount

Passo 2

Verifique as subscrições da conta.

Get-AzSubscription

Ser-lhe-á solicitado a autenticar-se com as suas credenciais.

Passo 3

Escolha qual das suas subscrições do Azure utilizar.

Select-AzSubscription -Subscriptionid "GUID of subscription"

Passo 4

Crie um grupo de recursos (ignore este passo se estiver a utilizar um grupo de recursos existente).

New-AzResourceGroup -Name appgw-rg -location "West US"

O Azure Resource Manager requer que todos os grupos de recursos especifiquem uma localização, Isto é utilizado como a localização predefinida para recursos nesse grupo de recursos. Verifique se todos os comandos para criar um gateway de aplicação utilizam o mesmo grupo de recursos.

No exemplo anterior, criamos um grupo de recursos chamado "appgw-rg" e o local "West US".

Criar uma rede virtual e uma sub-rede para o gateway de aplicação

O exemplo que se segue mostra como criar uma rede virtual utilizando o Resource Manager:

Passo 1

$subnetconfig = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24

Esta etapa atribui o intervalo de endereços 10.0.0.0/24 a uma variável de sub-rede a ser usada para criar uma rede virtual.

Passo 2

$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName appgw-rg -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $subnetconfig

Esta etapa cria uma rede virtual chamada "appgwvnet" no grupo de recursos "appgw-rg" para a região Oeste dos EUA usando o prefixo 10.0.0.0/16 com sub-rede 10.0.0.0/24.

Passo 3

$subnet = $vnet.subnets[0]

Esta etapa atribui o objeto de sub-rede à variável $subnet para as próximas etapas.

Criar um objeto de configuração do gateway de aplicação

Passo 1

$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet

Esta etapa cria uma configuração IP do gateway de aplicativo chamada "gatewayIP01". Quando o Application Gateway é iniciado, ele pega um endereço IP da sub-rede configurada e roteia o tráfego de rede para os endereços IP no pool de IP de back-end. Note que cada instância terá um endereço IP.

Passo 2

$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 10.1.1.8,10.1.1.9,10.1.1.10

Esta etapa configura o pool de endereços IP de back-end chamado "pool01" com endereços IP "10.1.1.8, 10.1.1.9, 10.1.1.10". Those are the IP addresses that receive the network traffic that comes from the frontend IP endpoint. You replace the preceding IP addresses to add your own application IP address endpoints.

Passo 3

$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Disabled

This step configures application gateway setting "poolsetting01" for the load balanced network traffic in the backend pool.

Passo 4

$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01  -Port 80

Esta etapa configura a porta IP do frontend chamada "frontendport01" para o ILB.

Passo 5

$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -Subnet $subnet

Esta etapa cria a configuração de IP frontend chamada "fipconfig01" e a associa a um IP privado da sub-rede de rede virtual atual.

Passo 6

$listener = New-AzApplicationGatewayHttpListener -Name listener01  -Protocol Http -FrontendIPConfiguration $fipconfig -FrontendPort $fp

Esta etapa cria o ouvinte chamado "listener01" e associa a porta frontend à configuração IP do frontend.

Passo 7

$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

Esta etapa cria a regra de roteamento do balanceador de carga chamada "rule01" que configura o comportamento do balanceador de carga.

Passo 8

$sku = New-AzApplicationGatewaySku -Name Standard_Small -Tier Standard -Capacity 2

Esta etapa configura o tamanho da instância do gateway de aplicativo.

Nota

O valor padrão para Capacidade é 2. Para Sku Name, você pode escolher entre Standard_Small, Standard_Medium e Standard_Large.

Criar um gateway de aplicação com o New-AzureApplicationGateway

Cria um gateway de aplicativo com todos os itens de configuração das etapas anteriores. Neste exemplo, o gateway de aplicação é designado “appgwtest”.

$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Location "West US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig  -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku

Esta etapa cria um gateway de aplicativo com todos os itens de configuração das etapas anteriores. No exemplo, o gateway de aplicação é designado “appgwtest”.

Eliminar um gateway de aplicação

Para excluir um gateway de aplicativo, você precisa executar as seguintes etapas na ordem:

  1. Use the Stop-AzApplicationGateway cmdlet to stop the gateway.
  2. Use the Remove-AzApplicationGateway cmdlet to remove the gateway.
  3. Verifique se o gateway foi removido com o cmdlet Get-AzureApplicationGateway.

Passo 1

Obtenha o objeto do gateway de aplicação e associe-o a uma variável “$getgw”.

$getgw =  Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg

Passo 2

Utilize Stop-AzApplicationGateway para parar o gateway de aplicação. This sample shows the Stop-AzApplicationGateway cmdlet on the first line, followed by the output.

Stop-AzApplicationGateway -ApplicationGateway $getgw  
VERBOSE: 9:49:34 PM - Begin Operation: Stop-AzureApplicationGateway
VERBOSE: 10:10:06 PM - Completed Operation: Stop-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   ce6c6c95-77b4-2118-9d65-e29defadffb8

Assim que o gateway de aplicação estiver no estado parado, utilize o cmdlet Remove-AzApplicationGateway para remover o serviço.

Remove-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Force
VERBOSE: 10:49:34 PM - Begin Operation: Remove-AzureApplicationGateway
VERBOSE: 10:50:36 PM - Completed Operation: Remove-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   055f3a96-8681-2094-a304-8d9a11ad8301

Nota

The -force switch can be used to suppress the remove confirmation message.

Para verificar se o serviço foi removido, pode utilizar o cmdlet Get-AzApplicationGateway. Este passo não é necessário.

Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg
VERBOSE: 10:52:46 PM - Begin Operation: Get-AzureApplicationGateway

Get-AzureApplicationGateway : ResourceNotFound: The gateway doesn't exist.

Próximos passos

Se pretender configurar a descarga de SSL, veja Configure an application gateway for SSL offload (Configurar um gateway de aplicação para a descarga de SSL).

Se pretender obter mais informações sobre as opções de balanceamento de carga em geral, veja: