Abilitare l'integrazione della rete virtuale nel servizio app Azure
Grazie all'integrazione con una rete virtuale di Azure dall'app del servizio app Azure, è possibile raggiungere le risorse private dall'app all'interno della rete virtuale.
Prerequisiti
La funzionalità di integrazione della rete virtuale richiede:
- Piano tariffario servizio app che supporta l'integrazione della rete virtuale.
- Una rete virtuale nella stessa area con una subnet vuota.
La subnet deve essere delegata a Microsoft.Web/serverFarms. Se non si delega prima dell'integrazione, il processo di provisioning configura questa delega. La subnet deve essere allocata a un blocco IPv4 /28
(16 indirizzi). È consigliabile avere almeno 64 indirizzi (blocco IPv4 /26
) per consentire la scalabilità orizzontale massima.
Se la rete virtuale si trova in una sottoscrizione diversa rispetto all'app, assicurarsi che la sottoscrizione con la rete virtuale sia registrata per il Microsoft.Web
provider di risorse. Il provider viene registrato quando si crea la prima app Web in una sottoscrizione. Per registrare in modo esplicito il provider, vedere Registrare il provider di risorse.
Configurare nel portale di Azure
Passare all'app nel portale di Azure. Selezionare Impostazioni>Networking. In Configurazione del traffico in uscita, accanto a Integrazione rete virtuale, selezionare il collegamento Non configurato .
Selezionare Aggiungi integrazione rete virtuale.
Selezionare una sottoscrizione e una rete virtuale.
In Subnet l'elenco a discesa contiene tutte le reti virtuali nella sottoscrizione nella stessa area. Selezionare una subnet preesistente vuota o creare una nuova subnet. Selezionare Connetti.
Durante l'integrazione, l'app viene riavviata. Al termine dell'integrazione, vengono visualizzati i dettagli sulla rete virtuale con cui si è integrato.
Configurare con l'interfaccia della riga di comando di Azure
È anche possibile configurare l'integrazione della rete virtuale usando l'interfaccia della riga di comando di Azure:
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
Nota
Il comando controlla se la subnet è delegata a Microsoft.Web/serverFarms. Se non è configurato, il comando applica la delega necessaria. Se la subnet è stata configurata e non si dispone delle autorizzazioni per controllarla o se la rete virtuale si trova in un'altra sottoscrizione, è possibile usare il --skip-delegation-check
parametro per ignorare la convalida.
Configurare con Azure PowerShell
Preparare i parametri.
$siteName = '<app-name>' $vNetResourceGroupName = '<group-name>' $webAppResourceGroupName = '<group-name>' $vNetName = '<vnet-name>' $integrationSubnetName = '<subnet-name>' $vNetSubscriptionId = '<subscription-guid>'
Nota
Se la rete virtuale si trova in un'altra sottoscrizione rispetto all'app Web, è possibile usare il
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
comando per impostare il contesto di sottoscrizione corrente. Impostare il contesto di sottoscrizione corrente sulla sottoscrizione in cui è stata distribuita la rete virtuale.Controllare se la subnet è delegata a Microsoft.Web/serverFarms.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet Get-AzDelegation -Subnet $subnet
Se la subnet non è delegata a Microsoft.Web/serverFarms, aggiungere la delega usando questi comandi.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet Set-AzVirtualNetwork -VirtualNetwork $vnet
Configurare l'integrazione della rete virtuale.
$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 l'app Web si trova in un'altra sottoscrizione rispetto alla rete virtuale, è possibile usare il
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
comando per impostare il contesto di sottoscrizione corrente. Impostare il contesto di sottoscrizione corrente sulla sottoscrizione in cui è stata distribuita l'app Web.