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 início rápido, você usa o Azure PowerShell para criar um gateway de aplicativo. Depois testas para te certificares de que funciona corretamente.
O gateway de aplicações direciona o tráfego web de aplicações para recursos específicos num pool de back-end. Você atribui ouvintes a portas, cria regras e adiciona recursos a um pool de back-end. Para simplificar, este artigo usa uma configuração simples com um endereço IP de frontend público, um módulo de escuta básico para hospedar um único site no gateway de aplicações, uma regra de roteamento de solicitação básica e duas máquinas virtuais no pool de backend.
Você também pode concluir este início rápido usando a CLI do Azure ou o portal do Azure.
Note
O frontend do Application Gateway agora suporta endereços IP de pilha dupla (Pré-visualização). Agora você pode criar até quatro endereços IP frontend: dois endereços IPv4 (público e privado) e dois endereços IPv6 (público e privado).
Prerequisites
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Azure PowerShell versão 1.0.0 ou posterior (se você executar o Azure PowerShell localmente).
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que você pode usar por meio do navegador. Você pode usar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.
Para iniciar o Azure Cloud Shell:
| Option | Example/Link |
|---|---|
| Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. |
|
| Vá para https://shell.azure.com, ou selecione o botão Iniciar o Cloud Shell para abrir o Cloud Shell no navegador. |
|
| Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
|
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.
Selecione Enter para executar o código ou comando.
Note
Recomendamos que utilize o módulo Azure Az PowerShell para interagir com o Azure. Para começar, veja Install Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrate Azure PowerShell from AzureRM to Az.
Conectar-se ao Azure
Para se conectar ao Azure, execute Connect-AzAccount.
Criar um grupo de recursos
No Azure, você aloca recursos relacionados a um grupo de recursos. Você pode usar um grupo de recursos existente ou criar um novo.
Para criar um novo grupo de recursos, use o New-AzResourceGroup cmdlet:
New-AzResourceGroup -Name myResourceGroupAG -Location eastus
Criar recursos de rede
Para que o Azure se comunique entre os recursos que você cria, ele precisa de uma rede virtual. A sub-rede do gateway de aplicativo pode conter apenas gateways de aplicativo. Não são permitidos outros recursos. Você pode criar uma nova sub-rede para o Application Gateway ou usar uma existente. Você cria duas sub-redes neste exemplo: uma para o gateway de aplicativo e outra para os servidores back-end. Você pode configurar o endereço IP Frontend do Application Gateway para ser Público ou Privado de acordo com seu caso de uso. Neste exemplo, você escolherá um endereço IP Frontend Público.
- Crie as configurações de sub-rede usando
New-AzVirtualNetworkSubnetConfig. - Crie a rede virtual com as configurações de sub-rede usando
New-AzVirtualNetwork. - Crie o endereço IP público usando
New-AzPublicIpAddress.
Note
Atualmente, não há suporte para políticas de ponto de extremidade de serviço de rede virtual em uma sub-rede do Application Gateway.
$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myAGSubnet `
-AddressPrefix 10.21.0.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.21.1.0/24
New-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myVNet `
-AddressPrefix 10.21.0.0/16 `
-Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myAGPublicIPAddress `
-AllocationMethod Static `
-Sku Standard
Criar um gateway de aplicação
O SKU padrão v2 é usado neste exemplo.
Crie as configurações de IP e a porta de frontend
- Use
New-AzApplicationGatewayIPConfigurationpara criar a configuração que associa a sub-rede criada ao gateway de aplicativo. - Use
New-AzApplicationGatewayFrontendIPConfigpara criar a configuração que atribui o endereço IP público que você criou anteriormente para o gateway de aplicativo. - Use
New-AzApplicationGatewayFrontendPortpara atribuir a porta 80 para acessar o gateway de aplicativo.
$vnet = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myAGSubnet
$pip = Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPConfig `
-PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
-Name myFrontendPort `
-Port 80
Note
O frontend do Application Gateway agora suporta endereços IP de pilha dupla (visualização pública). Agora você pode criar até quatro endereços IP frontend: dois endereços IPv4 (público e privado) e dois endereços IPv6 (público e privado).
Criar o pool de back-end
- Use
New-AzApplicationGatewayBackendAddressPoolpara criar o pool de back-end para o gateway de aplicação. O pool de back-end está vazio por agora. Ao criar as NICs do servidor back-end na próxima seção, você as adicionará ao pool de back-end. - Configure as configurações para o pool de back-end com
New-AzApplicationGatewayBackendHttpSetting.
$backendPool = New-AzApplicationGatewayBackendAddressPool `
-Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
-Name myPoolSettings `
-Port 80 `
-Protocol Http `
-CookieBasedAffinity Enabled `
-RequestTimeout 30
Criar o ouvinte e adicionar uma regra
O Azure requer um ouvinte para habilitar o gateway de aplicações para rotear o tráfego adequadamente para o grupo de servidores backend. Azure também requer uma regra para que o escutador saiba qual backend pool usar para o tráfego de entrada.
- Crie um ouvinte usando
New-AzApplicationGatewayHttpListenercom a configuração de frontend e a porta de frontend que você criou anteriormente. - Use
New-AzApplicationGatewayRequestRoutingRulepara criar uma regra chamada rule1.
$defaultlistener = New-AzApplicationGatewayHttpListener `
-Name myAGListener `
-Protocol Http `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
-Name rule1 `
-RuleType Basic `
-Priority 100 `
-HttpListener $defaultlistener `
-BackendAddressPool $backendPool `
-BackendHttpSettings $poolSettings
Criar o gateway de aplicativo
Agora que você criou os recursos de suporte necessários, crie o gateway de aplicativo:
- Use
New-AzApplicationGatewaySkupara especificar parâmetros para o gateway de aplicativo. - Use
New-AzApplicationGatewaypara criar o gateway de aplicativo.
$sku = New-AzApplicationGatewaySku `
-Name Standard_v2 `
-Tier Standard_v2 `
-Capacity 2
New-AzApplicationGateway `
-Name myAppGateway `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-BackendAddressPools $backendPool `
-BackendHttpSettingsCollection $poolSettings `
-FrontendIpConfigurations $fipconfig `
-GatewayIpConfigurations $gipconfig `
-FrontendPorts $frontendport `
-HttpListeners $defaultlistener `
-RequestRoutingRules $frontendRule `
-Sku $sku
Tip
Você pode modificar valores dos Name parâmetros e Tier para usar uma SKU diferente. Por exemplo: Basic.
Note
Em regiões que dão suporte a zonas de disponibilidade, se você não especificar zonas durante a criação por meio de CLI, PowerShell, ARM/Bicep ou API REST, o Gateway de Aplicativo do Azure habilitará automaticamente a redundância de zona, distribuindo instâncias em várias zonas de disponibilidade para maior resiliência
Servidores de retaguarda
Agora que você criou o Application Gateway, crie as máquinas virtuais de back-end que hospedarão os sites. Um back-end pode ser composto por NICs, conjuntos de dimensionamento de máquina virtual, endereço IP público, endereço IP interno, FQDN (nomes de domínio totalmente qualificados) e back-ends multilocatários, como o Serviço de Aplicativo do Azure.
Neste exemplo, você cria duas máquinas virtuais para usar como servidores back-end para o gateway de aplicativo. Você também instala o IIS nas máquinas virtuais para verificar se o Azure criou com êxito o gateway de aplicativo.
Criar duas máquinas virtuais
- Obtenha a configuração recentemente criada do pool de back-end do Application Gateway com
Get-AzApplicationGatewayBackendAddressPool. - Crie uma interface de rede com
New-AzNetworkInterface. - Crie uma configuração de máquina virtual com
New-AzVMConfig. - Crie a máquina virtual usando
New-AzVM.
Quando você executa o exemplo de código a seguir para criar as máquinas virtuais, o Azure solicita credenciais. Introduza um nome de utilizador e uma palavra-passe:
$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myAppGateway
$backendPool = Get-AzApplicationGatewayBackendAddressPool -Name myAGBackendPool -ApplicationGateway $appgw
$vnet = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myBackendSubnet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
$nic = New-AzNetworkInterface `
-Name myNic$i `
-ResourceGroupName myResourceGroupAG `
-Location EastUS `
-Subnet $subnet `
-ApplicationGatewayBackendAddressPool $backendpool
$vm = New-AzVMConfig `
-VMName myVM$i `
-VMSize Standard_DS2_v2
Set-AzVMOperatingSystem `
-VM $vm `
-Windows `
-ComputerName myVM$i `
-Credential $cred
Set-AzVMSourceImage `
-VM $vm `
-PublisherName MicrosoftWindowsServer `
-Offer WindowsServer `
-Skus 2016-Datacenter `
-Version latest
Add-AzVMNetworkInterface `
-VM $vm `
-Id $nic.Id
Set-AzVMBootDiagnostic `
-VM $vm `
-Disable
New-AzVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
Set-AzVMExtension `
-ResourceGroupName myResourceGroupAG `
-ExtensionName IIS `
-VMName myVM$i `
-Publisher Microsoft.Compute `
-ExtensionType CustomScriptExtension `
-TypeHandlerVersion 1.4 `
-SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
-Location EastUS
}
Testar o gateway de aplicativo
Embora o IIS não seja necessário para criar o gateway de aplicativo, você o instalou neste início rápido para verificar se o Azure criou com êxito o gateway de aplicativo.
Use o IIS para testar o gateway de aplicativo:
- Execute
Get-AzPublicIPAddresspara obter o endereço IP público do gateway de aplicativo. - Copie e cole o endereço IP público na barra de endereços do seu navegador. Ao atualizar o navegador, você verá o nome da máquina virtual. Uma resposta válida verifica se o gateway de aplicativo foi criado com êxito e se ele pode se conectar com êxito ao back-end.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
Limpeza de recursos
Quando não precisar mais dos recursos criados com o gateway de aplicativo, exclua o grupo de recursos. Ao excluir o grupo de recursos, você também exclui o gateway de aplicativo e todos os seus recursos relacionados.
Para excluir o grupo de recursos, chame o Remove-AzResourceGroup cmdlet:
Remove-AzResourceGroup -Name myResourceGroupAG