Compartilhar via


Habilitar a integração de rede virtual no serviço Azure App

Por meio da integração com uma rede virtual do Azure do seu aplicativo do Serviço de Aplicativo do Azure, você pode acessar recursos privados de seu aplicativo na rede virtual.

Pré-requisitos

O recurso de integração de rede virtual exige:

A sub-rede deve ser delegada para Microsoft. Web/serverFarms. Se a delegação não for feita antes da integração, o processo de provisionamento configurará essa delegação. A sub-rede deve ser alocada um /28 bloco IPv4 (16 endereços). É recomendável ter 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, certifique-se de registrar a assinatura com a rede virtual para o provedor de recursos Microsoft.Web. O provedor é registrado quando você cria o primeiro aplicativo Web em uma assinatura. Para registrar explicitamente o provedor, consulte Registrar provedor de recursos.

Configuração no portal do Azure

  1. No portal do Azure, acesse seu aplicativo web. Selecione Configurações>Rede. Em Configuração de tráfego de saída, ao lado de Integração de rede virtual, selecione o link Não configurado .

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

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

  3. Selecione uma assinatura e uma rede virtual.

  4. 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 sub-rede. Selecione Conectar.

    Captura de tela mostrando a seleção de rede virtual.

Durante a integração, o aplicativo é reiniciado. Quando a integração for concluída, você verá detalhes sobre a rede virtual com a qual 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>

Observação

Verifique se a sub-rede foi delegada para Microsoft.Web/serverFarms. Se não estiver configurado, o comando aplicará a delegação necessária. Se a sub-rede já tiver sido configurada e você não tiver permissões para verificar isso, ou se a rede virtual estiver em outra assinatura, você poderá usar o parâmetro --skip-delegation-check para ignorar a validação.

Configurar com Microsoft Azure PowerShell

  1. Preparar parâmetros.

    $siteName = '<app-name>'
    $vNetResourceGroupName = '<group-name>'
    $webAppResourceGroupName = '<group-name>'
    $vNetName = '<vnet-name>'
    $integrationSubnetName = '<subnet-name>'
    $vNetSubscriptionId = '<subscription-guid>'
    

    Observação

    Se a rede virtual estiver em outra assinatura que o webapp, você poderá usar o comando Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" para definir o contexto de assinatura atual. Defina o contexto de assinatura atual para a assinatura em que a rede virtual foi implantada.

  2. Verifique se a sub-rede foi delegada para Microsoft.Web/serverFarms.

    $vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet
    Get-AzDelegation -Subnet $subnet
    
  3. Se a sub-rede não for delegada a Microsoft.Web/serverFarms, adicione a delegação usando os comandos abaixo.

    $subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
    Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  4. 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
    

    Observação

    Se o aplicativo Web estiver em outra assinatura que a rede virtual, você poderá usar o comando Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" para definir o contexto de assinatura atual. Defina o contexto de assinatura atual para a assinatura em que o aplicativo Web foi implantado.