Partilhar via


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:

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

  1. 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.

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

    Captura de tela que mostra a seleção de 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 nova sub-rede. Selecione Ligar.

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

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

  1. 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.

  2. 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
    
  3. 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
    
  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
    

    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.