Ativar a integração da rede virtual no Serviço de Aplicações do Azure

Através da integração com uma rede virtual do Azure a partir da sua aplicação Serviço de Aplicações do Azure, pode aceder aos recursos privados a partir da sua aplicação na rede virtual.

Pré-requisitos

A funcionalidade de integração da rede virtual requer:

A sub-rede tem de ser delegada a Microsoft.Web/serverFarms. Se a delegação não for feita antes da integração, o processo de aprovisionamento configura esta delegação. A sub-rede tem de ter um bloco IPv4 /28 (16 endereços). Recomendamos que tenha um mínimo de 64 endereços (bloco IPv4 /26 ) para permitir a escala horizontal máxima.

Se a rede virtual estiver numa subscrição diferente da aplicação, tem de garantir que a subscrição com a rede virtual está registada no Microsoft.Web fornecedor de recursos. Pode registar explicitamente o fornecedor ao seguir esta documentação, mas este é registado automaticamente ao criar a primeira aplicação Web numa subscrição.

Configurar no portal do Azure

  1. Aceda a Rede no portal do Serviço de Aplicações. Em Configuração do tráfego de saída, selecione Integração de rede virtual.

  2. Selecione Adicionar integração de rede virtual.

    Captura de ecrã a mostrar a seleção de Integração de rede virtual.

  3. A lista pendente contém todas as redes virtuais na sua subscrição na mesma região. Selecione uma sub-rede pré-existente vazia ou crie uma nova sub-rede.

    Captura de ecrã que mostra a seleção da rede virtual.

Durante a integração, a aplicação é reiniciada. Quando a integração estiver concluída, verá detalhes sobre a rede virtual na qual está integrado.

Configurar com a CLI do Azure

Também pode configurar a integração da rede virtual com 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 e aplica a delegação necessária se não estiver configurada. Se a sub-rede tiver sido configurada e não tiver permissões para a verificar ou se a rede virtual estiver noutra subscrição, pode utilizar o --skip-delegation-check parâmetro para ignorar a validação.

Configurar com Azure PowerShell

Preparar 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 noutra subscrição do que a aplicação Web, pode utilizar o comando Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" para definir o contexto de subscrição atual. Defina o contexto de subscrição atual para a subscrição onde a rede virtual foi implementada.

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 a sua sub-rede não estiver delegada a Microsoft.Web/serverFarms, adicione a delegação com os comandos abaixo.

$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
Set-AzVirtualNetwork -VirtualNetwork $vnet

Configurar a integração da rede virtual.

Nota

Se a aplicação Web estiver noutra subscrição do que na rede virtual, pode utilizar o comando Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" para definir o contexto de subscrição atual. Defina o contexto de subscrição atual para a subscrição onde a aplicação Web foi implementada.

$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

Passos seguintes