Habilitar a integração de rede virtual no Serviço de Aplicativo do Azure
Por meio da integração com uma rede virtual do Azure a partir do seu aplicativo do Serviço de Aplicativo do Azure, você pode acessar recursos privados do seu aplicativo dentro da rede virtual.
Pré-requisitos
O recurso de integração de rede virtual requer:
- Uma camada de preço do Serviço de Aplicativo que oferece suporte à integração de rede virtual.
- Uma rede virtual na mesma região com uma sub-rede vazia.
A sub-rede deve ser delegada a Microsoft.Web/serverFarms. Se você não delegar antes da integração, o processo de provisionamento configurará essa delegação. A sub-rede deve receber um bloco IPv4 /28
(16 endereços). Recomendamos que você tenha um mínimo de 64 endereços (bloco IPv4 /26
) para permitir a escala horizontal máxima.
Se a rede virtual estiver em uma assinatura diferente do aplicativo, verifique se a assinatura com a rede virtual está registrada para o provedor de Microsoft.Web
recursos. O provedor é registrado quando você cria o primeiro aplicativo Web em uma assinatura. Para registrar explicitamente o provedor, consulte Registrar provedor de recursos.
Configurar no portal do Azure
Aceda à sua aplicação no portal do Azure. Selecione Configurações>de rede. Em Configuração de tráfego de saída, ao lado de Integração de rede virtual, selecione o link Não configurado.
Selecione Adicionar integração de rede virtual.
Selecione uma assinatura e uma rede virtual.
Em Sub-rede, a lista suspensa contém todas as redes virtuais em sua assinatura na mesma região. Selecione uma sub-rede preexistente vazia ou crie uma nova sub-rede. Selecione Ligar.
Durante a integração, seu aplicativo é reiniciado. Quando a integração terminar, você verá detalhes sobre a rede virtual com a qual se integrou.
Configurar com a CLI do Azure
Você também pode configurar a integração de rede virtual usando a CLI do Azure:
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
Nota
O comando verifica se a sub-rede está delegada a Microsoft.Web/serverFarms. Se não estiver configurado, o comando aplicará a delegação necessária. Se a sub-rede foi configurada e você não tem permissões para verificá-la, ou se a rede virtual estiver em outra assinatura, você pode usar o --skip-delegation-check
parâmetro para ignorar a validação.
Configurar com o Azure PowerShell
Prepare parâmetros.
$siteName = '<app-name>' $vNetResourceGroupName = '<group-name>' $webAppResourceGroupName = '<group-name>' $vNetName = '<vnet-name>' $integrationSubnetName = '<subnet-name>' $vNetSubscriptionId = '<subscription-guid>'
Nota
Se a rede virtual estiver em outra assinatura que não webapp, você poderá usar o
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
comando para definir o contexto de assinatura atual. Defina o contexto de assinatura atual para a assinatura em que a rede virtual foi implantada.Verifique se a sub-rede está delegada a Microsoft.Web/serverFarms.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet Get-AzDelegation -Subnet $subnet
Se sua sub-rede não estiver delegada a Microsoft.Web/serverFarms, adicione delegação usando esses comandos.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet Set-AzVirtualNetwork -VirtualNetwork $vnet
Configure a integração de rede virtual.
$subnetResourceId = "/subscriptions/$vNetSubscriptionId/resourceGroups/$vNetResourceGroupName/providers/Microsoft.Network/virtualNetworks/$vNetName/subnets/$integrationSubnetName" $webApp = Get-AzResource -ResourceType Microsoft.Web/sites -ResourceGroupName $webAppResourceGroupName -ResourceName $siteName $webApp.Properties.virtualNetworkSubnetId = $subnetResourceId $webApp.Properties.vnetRouteAllEnabled = 'true' $webApp | Set-AzResource -Force
Nota
Se o webapp estiver em outra assinatura que não a rede virtual, você poderá usar o
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
comando para definir o contexto de assinatura atual. Defina o contexto de assinatura atual para a assinatura em que o aplicativo Web foi implantado.