Compartir a través de


Habilitación de la integración con red virtual en Azure App Service

Mediante la integración con una red virtual de Azure desde la aplicación de Azure App Service, puede acceder a recursos privados desde la aplicación dentro de la red virtual.

Requisitos previos

La característica de integración de red virtual requiere:

La subred se debe delegar a Microsoft.Web/serverFarms. Si no realiza la delegación antes de la integración, el proceso de aprovisionamiento configura esta delegación. Se debe asignar un bloque IPv4 /28 (16 direcciones) a la subred. Se recomienda tener un mínimo de 64 direcciones (bloque IPv4 /26) para permitir la escala horizontal máxima.

Si la red virtual se encuentra en una suscripción diferente que la aplicación, asegúrese de que la suscripción con la red virtual esté registrada para el proveedor de recursos Microsoft.Web. El proveedor se registra al crear la primera aplicación web en una suscripción. Para registrar explícitamente el proveedor, vea Registro del proveedor de recursos.

Configuración en Azure Portal

  1. Vaya a la aplicación en Azure Portal. Seleccione Configuración>Redes. En Configuración de tráfico saliente, junto a Integración de red virtual, seleccione el vínculo No configurado.

  2. Seleccione Añadir integración de red virtual

    Captura de pantalla que muestra la selección de la integración de red virtual.

  3. Seleccione una suscripción y una red virtual.

  4. En Subred, la lista desplegable contiene todas las redes virtuales de la suscripción en la misma región. Seleccione una subred preexistente vacía o cree una nueva. Seleccione Conectar.

    Captura de pantalla que muestra la selección de la red virtual.

Durante la integración, la aplicación se reinicia. Cuando finalice la integración, verá los detalles de la red virtual con la que realiza la integración.

Configuración con la CLI de Azure

También puede configurar la integración de red virtual mediante la CLI de Azure:

az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>

Nota:

El comando comprueba la subred se delega a Microsoft.Web/serverFarms. Si no está configurado, el comando aplica la delegación necesaria. Si se ha configurado la subred y no tiene permisos para comprobarlo, o si la red virtual se encuentra en otra suscripción, puede utilizar el parámetro --skip-delegation-check para omitir la validación.

Configuración con Azure PowerShell

  1. Prepare los parámetros.

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

    Nota:

    Si la red virtual está en otra suscripción distinta de la aplicación web, puede usar el comando Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" para establecer el contexto de suscripción actual. Establezca el contexto de suscripción actual en la suscripción donde se implementó la red virtual.

  2. Compruebe que la subred se delega en Microsoft.Web/serverFarms.

    $vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet
    Get-AzDelegation -Subnet $subnet
    
  3. Si la subred no se delega a Microsoft.Web/serverFarms, agregue delegación mediante estos comandos.

    $subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
    Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  4. Configuración de la integración de red 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:

    Si la aplicación web está en otra suscripción distinta de la red virtual, puede usar el comando Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" para establecer el contexto de suscripción actual. Establezca el contexto de suscripción actual en la suscripción donde se implementó la aplicación web.