Integrare un'app in una rete virtuale di AzureIntegrate your app with an Azure Virtual Network

Questo documento descrive la funzionalità di integrazione della rete virtuale del servizio app Azure e come configurarla con le app nel servizio app Azure.This document describes the Azure App Service virtual network integration feature and how to set it up with apps in the Azure App Service. Le reti virtuali di Azure (reti virtuali) consentono di inserire molte delle risorse di Azure in una rete instradabile non Internet.Azure Virtual Networks (VNets) allow you to place many of your Azure resources in a non-internet routable network.

Il servizio app Azure presenta due varianti.The Azure App Service has two variations.

  1. I sistemi multi-tenant che supportano l'intera gamma dei piani tariffari, ad eccezione di IsolatedThe multi-tenant systems that support the full range of pricing plans except Isolated
  2. Il ambiente del servizio app (ambiente del servizio app), che distribuisce nella VNet e supporta le app di piano tariffario isolateThe App Service Environment (ASE), which deploys into your VNet and supports Isolated pricing plan apps

Questo documento illustra le due funzionalità di integrazione VNet, che è destinata all'uso nel servizio app multi-tenant.This document goes through the two VNet Integration features, which is for use in the multi-tenant App Service. Se l'app è in ambiente del servizio app, si trova già in una VNet e non richiede l'uso della funzionalità di integrazione VNet per raggiungere le risorse nello stesso VNet.If your app is in App Service Environment, then it's already in a VNet and doesn't require use of the VNet Integration feature to reach resources in the same VNet. Per informazioni dettagliate su tutte le funzionalità di rete del servizio app, vedere funzionalità di rete del servizio appFor details on all of the App Service networking features, read App Service networking features

Esistono due moduli per la funzionalità di integrazione di VNetThere are two forms to the VNet Integration feature

  1. Una versione consente l'integrazione con reti virtuali nella stessa area.One version enables integration with VNets in the same region. Questo modulo della funzionalità richiede una subnet in un VNet nella stessa area.This form of the feature requires a subnet in a VNet in the same region. Questa funzionalità è ancora in anteprima, ma è supportata per i carichi di lavoro di produzione delle app Windows con alcune avvertenze indicate di seguito.This feature is still in preview but is supported for Windows app production workloads with some caveats noted below.
  2. L'altra versione consente l'integrazione con reti virtuali in altre aree o con reti virtuali classiche.The other version enables integration with VNets in other regions or with Classic VNets. Questa versione della funzionalità richiede la distribuzione di un gateway di rete virtuale nella VNet.This version of the feature requires deployment of a Virtual Network Gateway into your VNet. Si tratta della funzionalità basata su VPN da punto a sito ed è supportata solo con le app di Windows.This is the point-to-site VPN-based feature and is only supported with Windows apps.

Un'app può usare solo un modulo della funzionalità di integrazione VNet alla volta.An app can only use one form of the VNet Integration feature at a time. La domanda è la funzionalità da usare.The question then is which feature should you use. È possibile utilizzare per molti aspetti.You can use either for many things. Tuttavia, i differenziatori chiari sono:The clear differentiators though are:

ProblemaProblem SoluzioneSolution
Si desidera raggiungere un indirizzo RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) nella stessa areaWant to reach an RFC 1918 address (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) in the same region Integrazione VNet a livello di arearegional VNet Integration
Si vuole raggiungere le risorse in una VNet classica o in una VNet in un'altra areaWant to reach resources in a Classic VNet or a VNet in another region Integrazione VNet necessaria per il gatewaygateway required VNet Integration
Si vuole raggiungere gli endpoint RFC 1918 tra ExpressRouteWant to reach RFC 1918 endpoints across ExpressRoute Integrazione VNet a livello di arearegional VNet Integration
Desidera raggiungere risorse tra gli endpoint del servizioWant to reach resources across service endpoints Integrazione VNet a livello di arearegional VNet Integration

Nessuna delle due funzionalità consentirà di raggiungere indirizzi non RFC 1918 tra ExpressRoute.Neither feature will enable you to reach non-RFC 1918 addresses across ExpressRoute. A tale scopo, è necessario usare un ambiente del servizio app per il momento.To do that you need to use an ASE for now.

L'uso dell'integrazione VNet a livello di area non connette il VNet a locale o configura gli endpoint di servizio.Using the regional VNet Integration does not connect your VNet to on-premises or configure service endpoints. Si tratta di una configurazione di rete separata.That is separate networking configuration. L'integrazione VNet regionale consente semplicemente all'app di effettuare chiamate tra i tipi di connessione.The regional VNet Integration simply enables your app to make calls across those connection types.

Indipendentemente dalla versione usata, l'integrazione di VNet consente all'app Web di accedere alle risorse nella rete virtuale, ma non concede l'accesso privato in ingresso all'app Web dalla rete virtuale.Regardless of the version used, VNet Integration gives your web app access to resources in your virtual network but doesn't grant inbound private access to your web app from the virtual network. Per accesso privato s'intende la possibilità di rendere l'app accessibile soltanto da una rete privata, ad esempio all'interno di una rete virtuale di Azure.Private site access refers to making your app only accessible from a private network such as from within an Azure virtual network. L'integrazione di VNet è solo per la creazione di chiamate in uscita dall'app in VNet.VNet Integration is only for making outbound calls from your app into your VNet.

La funzionalità Integrazione rete virtuale:The VNet Integration feature:

  • richiede un piano tariffario Standard, Premium o PremiumV2requires a Standard, Premium, or PremiumV2 pricing plan
  • supporta TCP e UDPsupports TCP and UDP
  • funziona con le app del servizio app e con le app per le funzioniworks with App Service apps, and Function apps

Alcune operazioni non sono supportate da Integrazione rete virtuale:There are some things that VNet Integration doesn't support including:

  • montaggio di un'unitàmounting a drive
  • integrazione di ADAD integration
  • NetBiosNetBios

Integrazione VNet a livello di areaRegional VNet Integration

Nota

Il peering non è ancora disponibile per il servizio App basato su Linux.Peering is not yet available for Linux based App Service.

Quando si usa l'integrazione di VNet con reti virtuali nella stessa area dell'app, è necessario usare una subnet delegata con almeno 32 indirizzi.When VNet Integration is used with VNets in the same region as your app, it requires the use of a delegated subnet with at least 32 addresses in it. Non è possibile usare la subnet per altri scopi.The subnet cannot be used for anything else. Le chiamate in uscita effettuate dall'app verranno effettuate dagli indirizzi nella subnet delegata.Outbound calls made from your app will be made from the addresses in the delegated subnet. Quando si usa questa versione dell'integrazione VNet, le chiamate vengono effettuate dagli indirizzi in VNet.When you use this version of VNet Integration, the calls are made from addresses in your VNet. L'uso di indirizzi nella VNet consente all'app di:Using addresses in your VNet enables your app to:

  • Effettuare chiamate a servizi protetti dell'endpoint di servizioMake calls to service endpoint secured services
  • Accedere alle risorse tra connessioni ExpressRouteAccess resources across ExpressRoute connections
  • Accedere alle risorse nella VNet a cui si è connessiAccess resources in the VNet you are connected to
  • Accedere alle risorse tra connessioni con peering, incluse le connessioni ExpressRouteAccess resources across peered connections including ExpressRoute connections

Questa funzionalità è in anteprima ma è supportata per i carichi di lavoro di produzione delle app Windows con le limitazioni seguenti:This feature is in preview but, it is supported for Windows app production workloads with the following limitations:

  • È possibile raggiungere solo indirizzi compresi nell'intervallo RFC 1918.You can only reach addresses that are in the RFC 1918 range. Si tratta di indirizzi nei blocchi di indirizzi 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.Those are addresses in the 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 address blocks.
  • Non è possibile raggiungere risorse tra connessioni di peering globaliYou cannot reach resources across global peering connections
  • Non è possibile impostare le route per il traffico proveniente dall'app in VNetYou cannot set routes on the traffic coming from your app into your VNet
  • La funzionalità è disponibile solo dalle più recenti unità di scala del servizio app che supportano i piani di servizio app PremiumV2.The feature is only available from newer App Service scale units that support PremiumV2 App Service plans.
  • La subnet di integrazione può essere usata solo da un solo piano di servizio appThe integration subnet can only be used by only one App Service plan
  • Non è possibile usare la funzionalità da app del piano isolato che si trovano in un ambiente del servizio appThe feature cannot be used by Isolated plan apps that are in an App Service Environment
  • Per la funzionalità è necessaria una subnet inutilizzata/27 con indirizzi 32 o più grandi nel Gestione risorse VNetThe feature requires an unused subnet that is a /27 with 32 addresses or larger in your Resource Manager VNet
  • L'app e la rete virtuale devono essere nella stessa areaThe app and the VNet must be in the same region
  • Non è possibile eliminare una rete virtuale con un'app integrata.You cannot delete a VNet with an integrated app. È necessario rimuovere prima l'integrazioneYou must remove the integration first
  • È possibile avere una sola integrazione VNet a livello di area per ogni piano di servizio app.You can have only one regional VNet Integration per App Service plan. Più app nello stesso piano di servizio app possono usare lo stesso VNet.Multiple apps in the same App Service plan can use the same VNet.
  • Non è possibile modificare la sottoscrizione di un'app o di un piano di servizio app mentre è presente un'app che usa l'integrazione VNet a livello di areaYou cannot change the subscription of an app or an App Service plan while there is an app that is using Regional VNet Integration

Viene usato un indirizzo per ogni istanza del piano di servizio app.One address is used for each App Service plan instance. Se l'app è stata ridimensionata a 5 istanze, verranno usati 5 indirizzi.If you scaled your app to 5 instances, then 5 addresses are used. Poiché non è possibile modificare le dimensioni della subnet dopo l'assegnazione, è necessario usare una subnet sufficientemente grande da contenere la scala che l'app può raggiungere.Since subnet size cannot be changed after assignment, you must use a subnet that is large enough to accommodate whatever scale your app may reach. Le dimensioni consigliate sono le dimensioni consigliate per/26 con indirizzi 64.A /26 with 64 addresses is the recommended size. Se non si modificano le dimensioni del piano di servizio app, a/27 con indirizzi 32 verranno riportate le istanze del piano di servizio App Premium 20.A /27 with 32 addresses would accommodate a Premium App Service plan 20 instances if you didn't change the size of the App Service plan. Quando si ridimensiona un piano di servizio app verso l'alto o verso il basso, sono necessari due volte il numero di indirizzi per un breve periodo di tempo.When you scale an App Service plan up or down, you need twice as many addresses for a short period of time.

Se si vuole che le app in un altro piano di servizio app raggiungano una VNet connessa già da app in un altro piano di servizio app, è necessario selezionare una subnet diversa da quella usata dall'integrazione VNet preesistente.If you want your apps in another App Service plan to reach a VNet that is connected to already by apps in another App Service plan, you need to select a different subnet than the one being used by the pre-existing VNet Integration.

La funzionalità è in anteprima anche per Linux.The feature is in preview also for Linux. Per usare la funzionalità di integrazione VNet con un Gestione risorse VNet nella stessa area:To use the VNet Integration feature with a Resource Manager VNet in the same region:

  1. Passare all'interfaccia utente di Rete nel portale.Go to the Networking UI in the portal. Se l'app è in grado di usare la nuova funzionalità, verrà visualizzata un'opzione per aggiungere VNet (anteprima).If your app is able to use the new feature, then you will see an option to Add VNet (preview).

    Seleziona integrazione VNet

  2. Selezionare Aggiungi rete virtuale (anteprima) .Select Add VNet (preview).

  3. Selezionare la rete virtuale di Resource Manager da integrare e creare una nuova subnet o sceglierne una vuota esistente.Select the Resource Manager VNet that you want to integrate with and then either create a new subnet or pick an empty pre-existing subnet. Il completamento dell'integrazione richiede meno di un minuto.The integration takes less than a minute to complete. Durante l'integrazione, l'app viene riavviata.During the integration, your app is restarted. Al termine dell'integrazione verranno visualizzati i dettagli della rete virtuale da integrare e un banner in alto indicante che la funzionalità è in anteprima.When integration is completed, you will see details on the VNet you are integrated with and a banner at the top that tells you the feature is in preview.

    Selezionare la rete virtuale e la subnet

Dopo che l'app è stata integrata con la VNet, userà lo stesso server DNS con cui è configurata la VNet.Once your app is integrated with your VNet, it will use the same DNS server that your VNet is configured with.

L'integrazione VNet a livello di area richiede la delega della subnet di integrazione a Microsoft. Web.Regional VNet Integration requires your integration subnet to be delegated to Microsoft.Web. L'interfaccia utente di integrazione di VNet delegherà automaticamente la subnet a Microsoft. Web.The VNet Integration UI will delegate the subnet to Microsoft.Web automatically. Se l'account non dispone di autorizzazioni di rete sufficienti per impostare questa impostazione, sarà necessario disporre di un utente che può impostare gli attributi nella subnet di integrazione per delegare la subnet.If your account does not have sufficient networking permissions to set this, you will need someone who can set attributes on your integration subnet to do delegate the subnet. Per delegare manualmente la subnet di integrazione, passare all'interfaccia utente della subnet della rete virtuale di Azure e impostare la delega per Microsoft. Web.To manually delegate the integration subnet, go to the Azure Virtual Network subnet UI and set delegation for Microsoft.Web.

Per disconnettere l'app dalla rete virtuale, selezionare Disconnetti.To disconnect your app from the VNet, select Disconnect. L'app Web verrà riavviata.This will restart your web app.

App Web per contenitoriWeb App for Containers

Se si usa il servizio app in Linux con le immagini predefinite, la funzionalità di integrazione VNet a livello di area funziona senza modifiche aggiuntive.If you use App Service on Linux with the built-in images, the regional VNet Integration feature works without additional changes. Se si usa app Web per contenitori, è necessario modificare l'immagine Docker per usare l'integrazione VNet.If you use Web App for Containers, you need to modify your docker image in order to use VNet Integration. Nell'immagine Docker usare la variabile di ambiente PORT come porta di ascolto del server Web principale, anziché usare un numero di porta hardcoded.In your docker image, use the PORT environment variable as the main web server’s listening port, instead of using a hardcoded port number. La variabile di ambiente PORT viene impostata automaticamente dalla piattaforma del servizio app al momento dell'avvio del contenitore.The PORT environment variable is automatically set by App Service platform at the container startup time. Se si usa SSH, il daemon SSH deve essere configurato in modo da restare in ascolto sul numero di porta specificato dalla variabile di ambiente SSH_PORT quando si usa l'integrazione VNet a livello di area.If you are using SSH, then the SSH daemon must be configured to listen on the port number specified by the SSH_PORT environment variable when using regional VNet integration.

Endpoint servizioService Endpoints

La nuova funzionalità Integrazione rete virtuale consente di usare gli endpoint servizio.The new VNet Integration feature enables you to use service endpoints. Per usarli con l'app, usare la nuova funzionalità Integrazione rete virtuale per connettersi a una rete virtuale selezionata e configurare gli endpoint servizio nella subnet usata per l'integrazione.To use service endpoints with your app, use the new VNet Integration to connect to a selected VNet and then configure service endpoints on the subnet you used for the integration.

Funzionamento di Integrazione rete virtualeHow VNet Integration works

Le app nel servizio app sono ospitate in ruoli di lavoro.Apps in the App Service are hosted on worker roles. I piani tariffari di base e superiore sono piani di hosting dedicati in cui non sono presenti altri carichi di lavoro in esecuzione negli stessi thread di lavoro.The Basic and higher pricing plans are dedicated hosting plans where there are no other customers workloads running on the same workers. L'integrazione di VNet funziona mediante l'installazione di interfacce virtuali con indirizzi nella subnet delegata.VNet Integration works by mounting virtual interfaces with addresses in the delegated subnet. Poiché l'indirizzo from si trova nel VNet, può accedere alla maggior parte delle cose in o tramite il VNet proprio come una VM nel VNet.Because the from address is in your VNet, it has access to most things in or through your VNet just like a VM in your VNet would. L'implementazione della rete è diversa rispetto all'esecuzione di una macchina virtuale nella VNet ed è per questo motivo che alcune funzionalità di rete non sono ancora disponibili durante l'uso di questa funzionalità.The networking implementation is different than running a VM in your VNet and that is why some networking features are not yet available while using this feature.

Integrazione rete virtuale

Quando è abilitata l'integrazione con VNet, l'app effettuerà comunque chiamate in uscita a Internet tramite gli stessi canali del normale.When VNet Integration is enabled, your app will still make outbound calls to the internet through the same channels as normal. Gli indirizzi in uscita elencati nel portale delle proprietà dell'app sono ancora gli indirizzi usati dall'app.The outbound addresses that are listed in the app properties portal are still the addresses used by your app. Quali modifiche sono state apportate all'app, le chiamate a servizi protetti per endpoint di servizio o indirizzi RFC 1918 passano alla VNet.What changes for your app are, calls to service endpoint secured services or RFC 1918 addresses goes into your VNet.

La funzionalità supporta solo un'interfaccia virtuale per ogni thread di lavoro.The feature only supports one virtual interface per worker. Un'interfaccia virtuale per ogni thread di lavoro indica un'integrazione VNet a livello di area per ogni piano di servizio app.One virtual interface per worker means one regional VNet Integration per App Service plan. Tutte le app nello stesso piano di servizio app possono usare la stessa integrazione di VNet, ma se è necessario che un'app possa connettersi a un VNet aggiuntivo, sarà necessario creare un altro piano di servizio app.All of the apps in the same App Service plan can use the same VNet Integration but if you need an app to connect to an additional VNet, you will need to create another App Service plan. L'interfaccia virtuale utilizzata non è una risorsa a cui i clienti hanno accesso diretto.The virtual interface used is not a resource that customers have direct access to.

A causa della natura del funzionamento di questa tecnologia, il traffico usato con l'integrazione di VNet non viene visualizzato nei log di flusso Network Watcher o NSG.Due to the nature of how this technology operates, the traffic that is used with VNet Integration does not show up in Network Watcher or NSG flow logs.

Integrazione VNet necessaria per il gatewayGateway required VNet Integration

La funzionalità di integrazione VNet necessaria per il gateway:The Gateway required VNet Integration feature:

  • Può essere usato per connettersi a reti virtuali in qualsiasi area Gestione risorse o reti virtuali classicheCan be used to connect to VNets in any region be they Resource Manager or Classic VNets
  • Consente a un'app di connettersi solo a 1 VNet alla voltaEnables an app to connect to only 1 VNet at a time
  • Consente l'integrazione di un massimo di cinque reti virtuali con in un piano di servizio appEnables up to five VNets to be integrated with in an App Service Plan
  • Consente l'uso della stessa VNet da parte di più app in un piano di servizio app senza influisca sul numero totale che può essere usato da un piano di servizio app.Allows the same VNet to be used by multiple apps in an App Service Plan without impacting the total number that can be used by an App Service plan. Se sono presenti 6 app che usano lo stesso VNet nello stesso piano di servizio app, il numero è pari a 1 VNet in uso.If you have 6 apps using the same VNet in the same App Service plan, that counts as 1 VNet being used.
  • Richiede un gateway di rete virtuale configurato con una VPN da punto a sitoRequires a Virtual Network Gateway that is configured with Point to Site VPN
  • Supporta uno SLA del 99,9% a causa del contratto di contratto sul gatewaySupports a 99.9% SLA due to the SLA on the gateway

Questa funzionalità non supporta:This feature does not support:

  • Usare con le app LinuxUse with Linux apps
  • Accesso alle risorse in ExpressRouteAccessing resources across ExpressRoute
  • Accesso alle risorse negli endpoint servizioAccessing resources across Service Endpoints

IntroduzioneGetting started

Prima di procedere con la connessione della propria app Web a una rete virtuale, è opportuno prendere in considerazione i seguenti aspetti:Here are some things to keep in mind before connecting your web app to a virtual network:

  • In una rete virtuale di destinazione deve essere abilitata la VPN da punto a sito con un gateway basato su route per poter eseguire la connessione a un'app.A target virtual network must have point-to-site VPN enabled with a route-based gateway before it can be connected to app.
  • La rete virtuale deve essere inclusa nella stessa sottoscrizione del piano di servizio app (ASP).The VNet must be in the same subscription as your App Service Plan(ASP).
  • Le app che si integrano con una rete virtuale usano il DNS specificato per quella rete virtuale.The apps that integrate with a VNet use the DNS that is specified for that VNet.

Configurare un gateway nella rete virtualeSet up a gateway in your VNet

Se è già stato configurato un gateway con indirizzi da punto a sito, è possibile passare alla configurazione di Integrazione rete virtuale con l'app.If you already have a gateway configured with point-to-site addresses, you can skip to configuring VNet Integration with your app.
Per creare un gateway:To create a gateway:

  1. Creare una subnet del gateway nella VNet.Create a gateway subnet in your VNet.

  2. Creare il gateway VPN.Create the VPN gateway. Selezionare un tipo di VPN basato su route.Select a route-based VPN type.

  3. Impostare gli indirizzi da punto a sito.Set the point to site addresses. Se il gateway non si trova nello SKU di base, IKEV2 deve essere disabilitato nella configurazione da punto a sito e SSTP deve essere selezionato.If the gateway isn't in the basic SKU, then IKEV2 must be disabled in the point-to-site configuration and SSTP must be selected. Lo spazio degli indirizzi deve essere nei blocchi di indirizzi RFC 1918, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16The address space must be in the RFC 1918 address blocks, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

Se si sta semplicemente creando il gateway per l'uso con l'integrazione VNet del servizio app, non è necessario caricare un certificato.If you are just creating the gateway for use with App Service VNet Integration, then you do not need to upload a certificate. La creazione del gateway può richiedere 30 minuti.Creating the gateway can take 30 minutes. Non sarà possibile integrare l'app con la rete virtuale fino al completamento del provisioning del gateway.You will not be able to integrate your app with your VNet until the gateway is provisioned.

Configurare Integrazione rete virtuale con l'appConfigure VNet Integration with your app

Per abilitare Integrazione rete virtuale nell'app:To enable VNet Integration on your app:

  1. Passare all'app nel portale di Azure, aprire le impostazioni e selezionare Rete > Integrazione rete virtuale.Go to your app in the Azure portal and open app settings and select Networking > VNet Integration. L'ASP deve essere in uno SKU standard o meglio usare una delle funzionalità di integrazione di VNet.Your ASP must be in a Standard SKU or better to use either VNet Integration feature. Interfaccia utente di Integrazione rete virtualeVNet Integration UI

  2. Selezionare Add VNet (Aggiungi rete virtuale).Select Add VNet. Aggiungere Integrazione rete virtualeAdd VNet Integration

  3. Selezionare la rete virtuale.Select your VNet. Selezionare la rete virtualeSelect your VNet

L'app verrà riavviata dopo quest'ultimo passaggio.Your app will be restarted after this last step.

Funzionamento della funzionalità di integrazione VNet necessaria per il gatewayHow the gateway required VNet Integration feature works

La funzionalità di integrazione VNet necessaria per il gateway è basata sulla tecnologia VPN da punto a sito.The gateway required VNet Integration feature is built on top of point-to-site VPN technology. La tecnologia da punto a sito limita l'accesso alla rete alla sola macchina virtuale che ospita l'app.The point-to-site technology limits network access to just the virtual machine hosting the app. Le app possono esclusivamente inviare traffico in Internet tramite Connessioni ibride o Integrazione rete virtuale.Apps are restricted to only send traffic out to the internet, through Hybrid Connections or through VNet Integration.

Funzionamento di Integrazione rete virtuale

Gestione dell'integrazione di VNetManaging VNet Integration

La possibilità di connettersi e disconnettersi da una rete virtuale è a livello di app.The ability to connect and disconnect to a VNet is at an app level. Le operazioni che possono influenzare Integrazione rete virtuale tra più app sono a livello del piano di Servizio app.Operations that can affect the VNet Integration across multiple apps are at the App Service plan level. Dall'app > Networking > portale di integrazione VNet, è possibile ottenere informazioni dettagliate sul VNet.From the app > Networking > VNet Integration portal, you can get details on your VNet. È possibile visualizzare informazioni simili a livello di ASP nella rete ASP > > portale di integrazione VNet, incluse le app nel piano di servizio app che usano una data integrazione.You can see similar information at the ASP level in the ASP > Networking > VNet Integration portal including what apps in that App Service plan are using a given integration.

Dettagli della rete virtuale

Le informazioni disponibili nell'interfaccia utente di integrazione VNet sono le stesse tra i portali app e ASP.The information you have available to you in the VNet Integration UI is the same between the app and ASP portals.

  • Nome rete virtuale: rimanda all'interfaccia utente della rete virtualeVNet Name - links to the virtual network UI
  • Località: indica la località della rete virtuale.Location - reflects the location of your VNet. L'integrazione con una rete virtuale in un'altra località può causare problemi di latenza per l'app.Integrating with a VNet in another location can cause latency issues for your app.
  • Stato certificato: indica se i certificati sono sincronizzati tra il piano di Servizio app e la rete virtuale.Certificate Status - reflects if your certificates are in sync between your App Service plan and your VNet.
  • Stato del gateway: se si usa l'integrazione VNet necessaria del gateway, è possibile visualizzare lo stato del gateway.Gateway Status - Should you be using the gateway required VNet Integration, you can see the gateway status.
  • Spazio di indirizzi della rete virtuale: mostra lo spazio di indirizzi IP della rete virtuale.VNet address space - shows the IP address space for your VNet.
  • Spazio di indirizzi da punto a sito: mostra lo spazio di indirizzi IP da punto a sito della rete virtuale.Point-to-site address space - shows the point to site IP address space for your VNet. Quando si effettuano chiamate nel VNet quando si usa la funzionalità gateway richiesta, l'app da indirizzo sarà uno di questi indirizzi.When making calls into your VNet while using the gateway required feature, your app FROM address will be one of these addresses.
  • Spazio di indirizzi da sito a sito: è possibile usare una connessione VPN da sito a sito per connettere la rete virtuale alle risorse locali o ad altre reti virtuali.Site-to-site address space - You can use site-to-site VPNs to connect your VNet to your on-premises resources or to other VNet. Di seguito sono riportati gli intervalli IP definiti con la connessione VPN.The IP ranges defined with that VPN connection are shown here.
  • Server DNS: mostra i server DNS configurati con la rete virtuale.DNS Servers - shows the DNS Servers configured with your VNet.
  • Routing degli indirizzi IP alla rete virtuale: mostra i blocchi di indirizzi instradati usati per guidare traffico nella rete virtualeIP addresses routed to the VNet - shows the address blocks routed used to drive traffic into your VNet

L'unica operazione possibile nella vista app di Integrazione rete virtuale è la disconnessione dell'app dalla rete virtuale a cui è attualmente connessa.The only operation you can take in the app view of your VNet Integration is to disconnect your app from the VNet it is currently connected to. Per disconnettere l'app da una rete virtuale, selezionare Disconnetti.To disconnect your app from a VNet, select Disconnect. L'app verrà riavviata quando ci si disconnette da una rete virtuale.Your app will be restarted when you disconnect from a VNet. La disconnessione non modifica la rete virtuale.Disconnecting doesn't change your VNet. La subnet o il gateway non viene rimosso.The subnet or gateway is not removed. Se quindi si vuole eliminare la VNet, è necessario prima disconnettere l'app dalla VNet ed eliminare le risorse in esso presenti, ad esempio i gateway.If you then want to delete your VNet, you need to first disconnect your app from the VNet and delete the resources in it such as gateways.

Per raggiungere l'interfaccia utente di Integrazione rete virtuale del piano di servizio app, aprire l'interfaccia utente ASP e selezionare Rete.To reach the ASP VNet Integration UI, open your ASP UI and select Networking. In Integrazione rete virtuale selezionare Fare clic qui per configurare per aprire l'interfaccia utente di Stato funzionalità di rete.Under VNet Integration, select Click here to configure to open the Network Feature Status UI.

Informazioni di Integrazione rete virtuale del piano di servizio app

L'interfaccia utente di Integrazione rete virtuale del piano di servizio app illustra tutte le reti virtuali usate dalle app nel piano di servizio app.The ASP VNet Integration UI will show you all of the VNets that are used by the apps in your ASP. Per visualizzare i dettagli su ogni rete virtuale, fare clic sulla rete virtuale in questione.To see details on each VNet, click on the VNet you are interested in. Qui è possibile eseguire due azioni.There are two actions you can perform here.

  • Sincronizza rete.Sync network. L'operazione di sincronizzazione della rete è solo per la funzionalità di integrazione VNet dipendente dal gateway.The sync network operation is only for the gateway-dependent VNet Integration feature. L'esecuzione di un'operazione di sincronizzazione della rete garantisce che i certificati e le informazioni di rete siano sincronizzati. Se si aggiunge o modifica il DNS della rete virtuale, è necessario eseguire un'operazione Sincronizza rete.Performing a sync network operation ensures that your certificates and network information are in sync. If you add or change the DNS of your VNet, you need to perform a Sync network operation. Questa operazione riavvierà qualsiasi app con questa rete virtuale.This operation will restart any apps using this VNet.
  • Aggiungi route. L'aggiunta di route indirizzerà il traffico in uscita nella rete virtuale.Add routes Adding routes will drive outbound traffic into your VNet.

Routing: le route definite in una rete virtuale vengono usate per indirizzare il traffico dall'app alla propria rete virtuale.Routing The routes that are defined in your VNet are used to direct traffic into your VNet from your app. Se è necessario inviare altro traffico in uscita nella rete virtuale, è possibile aggiungere qui i blocchi di indirizzi.If you need to send additional outbound traffic into the VNet, then you can add those address blocks here. Questa funzionalità funziona solo con l'integrazione VNet obbligatoria del gateway.This capability only works with gateway required VNet Integration.

Certificati Quando il gateway richiede l'integrazione di VNet abilitata, è necessario lo scambio di certificati per garantire la sicurezza della connessione.Certificates When the gateway required VNet Integration enabled, there is a required exchange of certificates to ensure the security of the connection. Con i certificati si ottengono la configurazione DNS, le route e altre informazioni simili che descrivono la rete.Along with the certificates are the DNS configuration, routes, and other similar things that describe the network. Se vengono modificati i certificati o le informazioni di rete, è necessario fare clic su "Sincronizza rete".If certificates or network information is changed, you need to click "Sync Network". Quando si fa clic su "Sincronizza rete", si verifica una breve interruzione della connettività tra l'app e la rete virtuale.When you click "Sync Network", you cause a brief outage in connectivity between your app and your VNet. L'app non viene riavviata, ma la perdita di connettività potrebbe causare il funzionamento non corretto del sito.While your app isn't restarted, the loss of connectivity could cause your site to not function properly.

Accesso alle risorse localiAccessing on-premises resources

Le app possono accedere alle risorse locali grazie all'integrazione con le reti virtuali che dispongono di connessioni da sito a sito.Apps can access on-premises resources by integrating with VNets that have site-to-site connections. Se si usa l'integrazione VNet necessaria per il gateway, è necessario aggiornare le route del gateway VPN locale con i blocchi di indirizzi da punto a sito.If you are using the gateway required VNet Integration, you need to update your on-premises VPN gateway routes with your point-to-site address blocks. Quando la connessione VPN da sito a sito viene configurata per la prima volta, gli script usati per la configurazione devono configurare le route in modo appropriato.When the site-to-site VPN is first set up, the scripts used to configure it should set up routes properly. Se gli indirizzi da punto a sito vengono aggiunti dopo aver creato la VPN da sito a sito, è necessario aggiornare le route manualmente.If you add the point-to-site addresses after you create your site-to-site VPN, you need to update the routes manually. Le informazioni dettagliate su come eseguire questa operazione variano in base al gateway e non sono descritte in questo documento.Details on how to do that vary per gateway and are not described here. Non è possibile configurare BGP con una connessione VPN da sito a sito.You cannot have BGP configured with a site-to-site VPN connection.

Non è necessaria alcuna configurazione aggiuntiva per la funzionalità di integrazione VNet a livello di area tramite VNet e in locale.There is no additional configuration required for the regional VNet Integration feature to reach through your VNet, and to on-premises. È sufficiente connettere la VNet al sito locale usando ExpressRoute o una VPN da sito a sito.You simply need to connect your VNet to on-premises using ExpressRoute or a site-to-site VPN.

Nota

La funzionalità di integrazione VNet necessaria per il gateway non integra un'app con una VNet che dispone di un gateway ExpressRoute.The gateway required VNet Integration feature doesn't integrate an app with a VNet that has an ExpressRoute Gateway. Anche se il gateway ExpressRoute è configurato in modalità di coesistenza , l'integrazione di VNet non funziona.Even if the ExpressRoute Gateway is configured in coexistence mode the VNet Integration doesn't work. Se è necessario accedere alle risorse tramite una connessione ExpressRoute, è possibile usare la funzionalità di integrazione VNet a livello di area o un ambiente del servizio app, che viene eseguito nel VNet.If you need to access resources through an ExpressRoute connection, then you can use the regional VNet Integration feature or an App Service Environment, which runs in your VNet.

PeeringPeering

Se si usa il peering con l'integrazione VNet a livello di area, non è necessario eseguire alcuna configurazione aggiuntiva.If you are using peering with the regional VNet Integration, you do not need to do any additional configuration.

Se si usa il gateway necessario per l'integrazione di VNet con il peering, è necessario configurare alcuni elementi aggiuntivi.If you are using the gateway required VNet Integration with peering, you need to configure a few additional items. Per configurare il peering per interagire con l'app:To configure peering to work with your app:

  1. Aggiungere una connessione di peering nella rete virtuale a cui si connette l'app.Add a peering connection on the VNet your app connects to. Quando si aggiunge la connessione di peering, abilitare Consenti accesso alla rete virtuale e selezionare Consenti traffico inoltrato e Consenti transito gateway.When adding the peering connection, enable Allow virtual network access and check Allow forwarded traffic and Allow gateway transit.
  2. Aggiungere una connessione di peering nella rete virtuale sottoposta a peering alla rete virtuale a cui si è connessi.Add a peering connection on the VNet that is being peered to the VNet you are connected to. Quando si aggiunge la connessione di peering nella rete virtuale di destinazione, abilitare Consenti accesso alla rete virtuale e selezionare Consenti traffico inoltrato e Usa gateway remoti.When adding the peering connection on the destination VNet, enable Allow virtual network access and check Allow forwarded traffic and Allow remote gateways.
  3. Passare a Piano di servizio app > Rete > interfaccia utente di Integrazione rete virtuale nel portale.Go to the App Service plan > Networking > VNet Integration UI in the portal. Selezionare la rete virtuale a cui si connette l'app.Select the VNet your app connects to. Nella sezione Routing aggiungere l'intervallo di indirizzi della rete virtuale sottoposta a peering alla rete virtuale a cui è connessa l'app.Under the routing section, add the address range of the VNet that is peered with the VNet your app is connected to.

Dettagli prezziPricing details

La funzionalità di integrazione VNet a livello di area non prevede costi aggiuntivi per l'utilizzo oltre l'importo del piano tariffario ASP.The regional VNet Integration feature has no additional charge for use beyond the ASP pricing tier charges.

Esistono tre addebiti correlati all'uso della funzionalità di integrazione VNet necessaria per il gateway:There are three related charges to the use of the gateway required VNet Integration feature:

  • Costi del piano tariffario ASP: le app devono essere in un piano di servizio app standard, Premium o PremiumV2.ASP pricing tier charges - Your apps need to be in a Standard, Premium, or PremiumV2 App Service Plan. Per altre informazioni sui costi, vedere Prezzi del servizio app.You can see more details on those costs here: App Service Pricing.
  • Costi di trasferimento dei dati: è previsto un addebito per l'uscita dei dati, anche se il VNet è nello stesso data center.Data transfer costs - There is a charge for data egress, even if the VNet is in the same data center. Questi addebiti sono descritti in Dettagli prezzi trasferimento dati.Those charges are described in Data Transfer Pricing Details.
  • Costi del gateway VPN: un costo per il gateway VNet richiesto per la VPN da punto a sito.VPN Gateway costs - There is a cost to the VNet gateway that is required for the point-to-site VPN. I dettagli sono disponibili nella pagina dei prezzi del gateway VPN .The details are on the VPN Gateway Pricing page.

Risoluzione dei problemiTroubleshooting

La funzionalità è semplice da configurare, ma possono comunque verificarsi problemi durante l'uso.While the feature is easy to set up, that doesn't mean that your experience will be problem free. In caso di problemi di accesso all'endpoint desiderato, sono disponibili varie utilità che permettono di testare la connettività dalla console dell'app.Should you encounter problems accessing your desired endpoint there are some utilities you can use to test connectivity from the app console. Le console disponibili sono due:There are two consoles that you can use. la console Kudu e la console nel portale di Azure.One is the Kudu console and the other is the console in the Azure portal. Per accedere alla console Kudu dalla propria app, selezionare Strumenti -> Kudu.To reach the Kudu console from your app, go to Tools -> Kudu. È anche possibile accedere alla console Kudo in [SiteName]. SCM. azurewebsites. NET.You can also reach the Kudo console at [sitename].scm.azurewebsites.net. Una volta caricato il sito Web, passare alla scheda Debug Console. Per accedere alla console ospitata nel portale di Azure dalla propria app, selezionare Strumenti -> Console.Once the website loads, go to the Debug console tab. To get to the Azure portal hosted console then from your app go to Tools -> Console.

StrumentiTools

Gli strumenti ping, nslookup e tracert non funzionano dalla console a causa di vincoli di sicurezza.The tools ping, nslookup and tracert won’t work through the console due to security constraints. Per questo motivo sono stati aggiunti due strumenti separati.To fill the void, two separate tools added. Per testare la funzionalità del DNS è stato aggiunto lo strumento nameresolver.exe.In order to test DNS functionality, we added a tool named nameresolver.exe. La sintassi è:The syntax is:

nameresolver.exe hostname [optional: DNS Server]

È possibile usare nameresolver per controllare i nomi host da cui dipende l'app.You can use nameresolver to check the hostnames that your app depends on. In questo modo è possibile verificare se la configurazione del server DNS è corretta e se si ha accesso al server DNS.This way you can test if you have anything mis-configured with your DNS or perhaps don't have access to your DNS server. È possibile visualizzare il server DNS che l'app userà nella console esaminando le variabili di ambiente WEBSITE_DNS_SERVER e WEBSITE_DNS_ALT_SERVER.You can see the DNS server that your app will use in the console by looking at the environmental variables WEBSITE_DNS_SERVER and WEBSITE_DNS_ALT_SERVER.

Il secondo strumento permette di verificare la connettività TCP a una combinazione di host e porta.The next tool allows you to test for TCP connectivity to a host and port combination. Questo strumento viene chiamato tcpping la cui sintassi è:This tool is called tcpping and the syntax is:

tcpping.exe hostname [optional: port]

L'utilità tcpping indica se è possibile raggiungere una porta e un host specifici.The tcpping utility tells you if you can reach a specific host and port. Essa visualizza il completamento solo se: è presente un'applicazione in ascolto presso la combinazione di host e porta ed è presente un accesso di rete dall'app all'host e alla porta specificati.It only can show success if: there is an application listening at the host and port combination, and there is network access from your app to the specified host and port.

Accesso di debug a risorse ospitate su una rete virtualeDebugging access to VNet hosted resources

L'app potrebbe non riuscire a raggiungere un host e una porta specifici per una serie di motivi.There are a number of things that can prevent your app from reaching a specific host and port. Nella maggior parte dei casi il motivo è uno dei seguenti:Most of the time it is one of three things:

  • L'ostacolo è rappresentato da un firewall.A firewall is in the way. Se è presente un firewall, si verifica il timeout TCP,If you have a firewall in the way, you will hit the TCP timeout. che in questo caso è di 21 secondi.The TCP timeout is 21 seconds in this case. Usare lo strumento tcpping per testare la connettività.Use the tcpping tool to test connectivity. Il timeout TCP può essere dovuto anche ad altri motivi, ma è consigliabile iniziare dal firewall.TCP timeouts can be due to many things beyond firewalls but start there.
  • Il DNS non è accessibile.DNS isn't accessible. Il timeout DNS è di tre secondi per ogni server DNS.The DNS timeout is three seconds per DNS server. Se si dispone di due server DNS, il timeout è di 6 secondi.If you have two DNS servers, the timeout is 6 seconds. Usare nameresolver per verificare il funzionamento del DNS.Use nameresolver to see if DNS is working. Si noti che non è possibile usare nslookup, perché non usa il DNS con cui è configurata la rete virtuale.Remember you can't use nslookup as that doesn't use the DNS your VNet is configured with. Se non è accessibile, è possibile che si disponga di un firewall o di un NSG che blocca l'accesso al DNS o che potrebbe essere inattivo.If inaccessible, you could have a firewall or NSG blocking access to DNS or it could be down.

Se tali elementi non rispondono ai problemi, cercare prima di tutto, ad esempio:If those items don't answer your problems, look first for things like:

Integrazione VNet a livello di arearegional VNet Integration

  • è la destinazione un indirizzo RFC 1918is your destination an RFC 1918 address
  • è presente un blocco NSG in uscita dalla subnet di integrazioneis there an NSG blocking egress from your integration subnet
  • Se si passa attraverso ExpressRoute o una VPN, il gateway locale è configurato per instradare il traffico al backup in Azure?if going across ExpressRoute or a VPN, is your on-premises gateway configured to route traffic back up to Azure? Se è possibile raggiungere gli endpoint in VNet ma non in locale, è opportuno controllarlo.If you can reach endpoints in your VNet but not on-premises, this is good to check.

Integrazione VNet necessaria per il gatewaygateway required VNet Integration

  • l'intervallo di indirizzi da punto a sito è compreso negli intervalli RFC 1918 (10.0.0.0-10.255.255.255/172.16.0.0-172.31.255.255/192.168.0.0-192.168.255.255)?is the point-to-site address range in the RFC 1918 ranges (10.0.0.0-10.255.255.255 / 172.16.0.0-172.31.255.255 / 192.168.0.0-192.168.255.255)?
  • Il gateway viene visualizzato come attivo nel portale?Does the Gateway show as being up in the portal? Se il gateway è inattivo, è necessario riattivarlo.If your gateway is down, then bring it back up.
  • I certificati vengono visualizzati come sincronizzati o si ritiene che la configurazione di rete sia stata modificata?Do certificates show as being in sync or do you suspect that the network configuration was changed? Se i certificati non sono sincronizzati o si ritiene che sia stata apportata una modifica alla configurazione di VNet che non è stata sincronizzata con gli ASP, fare clic su "Sincronizza rete".If your certificates are out of sync or you suspect that there has been a change made to your VNet configuration that wasn't synced with your ASPs, then hit "Sync Network".
  • Se si passa attraverso ExpressRoute o una VPN, il gateway locale è configurato per instradare il traffico al backup in Azure?if going across ExpressRoute or a VPN, is your on-premises gateway configured to route traffic back up to Azure? Se è possibile raggiungere gli endpoint in VNet ma non in locale, è opportuno controllarlo.If you can reach endpoints in your VNet but not on-premises, this is good to check.

Il debug dei problemi di rete è una sfida perché non è possibile vedere che cosa blocca l'accesso a una combinazione host: porta specifica.Debugging networking issues is a challenge because there you cannot see what is blocking access to a specific host:port combination. Tra le cause possibili:Some of the causes include:

  • È presente un firewall sull'host che impedisce l'accesso alla porta dell'applicazione dall'intervallo IP da punto a sito.you have a firewall up on your host preventing access to the application port from your point to site IP range. Il passaggio tra subnet spesso richiede l'accesso pubblico.Crossing subnets often requires Public access.
  • L'host di destinazione è inattivo.your target host is down
  • L'applicazione è inattiva.your application is down
  • L'IP o il nome host è errato.you had the wrong IP or hostname
  • L'applicazione è in ascolto su una porta diversa da quella prevista.your application is listening on a different port than what you expected. È possibile associare l'ID di processo alla porta di ascolto mediante "netstat -aon" nell'host dell'endpoint.You can match your process ID with the listening port by using "netstat -aon" on the endpoint host.
  • I gruppi di sicurezza di rete sono configurati in modo da impedire l'accesso all'host e alla porta dell'applicazione dall'intervallo IP da punto a sito.your network security groups are configured in such a manner that they prevent access to your application host and port from your point to site IP range

Tenere presente che non si conosce l'indirizzo che l'App utilizzerà effettivamente.Remember that you don't know what address your app will actually use. Potrebbe trattarsi di qualsiasi indirizzo nell'intervallo di indirizzi da punto a sito o subnet di integrazione, quindi è necessario consentire l'accesso dall'intero intervallo di indirizzi.It could be any address in the integration subnet or point-to-site address range, so you need to allow access from the entire address range.

Di seguito è riportata la procedura di debug aggiuntiva:Additional debug steps include:

  • connettersi a un'altra macchina virtuale nella rete virtuale e provare a raggiungere l'host:porta della risorsa da quel punto.connect to a VM in your VNet and attempt to reach your resource host:port from there. Per verificare l'accesso al protocollo TCP usare il comando di PowerShell test-netconnection.To test for TCP access, use the PowerShell command test-netconnection. La sintassi è:The syntax is:

    test-netconnection hostname [optional: -Port]
    
  • visualizzare un'applicazione in una macchina virtuale e testare l'accesso all'host e alla porta dalla console dall'app usando tcppingbring up an application on a VM and test access to that host and port from the console from your app using tcpping

Risorse localiOn-premises resources

Se l'app non riesce a raggiungere una risorsa locale, verificare se è possibile raggiungere la risorsa dalla propria rete virtuale.If your app cannot reach a resource on-premises, then check if you can reach the resource from your VNet. Usare il comando di PowerShell test-netconnection per eseguire controllare l'accesso al protocollo TCP.Use the test-netconnection PowerShell command to check for TCP access. Se la macchina virtuale non riesce a raggiungere la risorsa locale, è possibile che la connessione VPN o ExpressRoute non sia configurata correttamente.If your VM can't reach your on-premises resource, your VPN or ExpressRoute connection may not be configured properly.

Se la macchina virtuale ospitata nella rete virtuale può raggiungere il sistema locale ma l'app non ci riesce, la causa è probabilmente una delle seguenti:If your VNet hosted VM can reach your on-premises system but your app can't, then the cause is likely one of the following reasons:

  • le route non sono configurate con la subnet o gli intervalli di indirizzi del sito nel gateway localeyour routes are not configured with your subnet or point to site address ranges in your on-premises gateway
  • i gruppi di sicurezza della rete bloccano l'accesso all'intervallo IP da punto a sitoyour network security groups are blocking access for your Point-to-Site IP range
  • i firewall locali bloccano il traffico proveniente dall'intervallo IP da punto a sitoyour on-premises firewalls are blocking traffic from your Point-to-Site IP range
  • si sta tentando di raggiungere un indirizzo non RFC 1918 usando la funzionalità di integrazione VNet a livello di areayou are trying to reach a non-RFC 1918 address using the regional VNet Integration feature

Automazione di PowerShellPowerShell automation

È possibile integrare Servizio app con una rete virtuale di Azure tramite PowerShell.You can integrate App Service with an Azure Virtual Network using PowerShell. Per uno script pronto per l'esecuzione, vedere Connect an app in Azure App Service to an Azure Virtual Network (Connettere un'app del Servizio app di Azure a una rete virtuale di Azure).For a ready-to-run script, see Connect an app in Azure App Service to an Azure Virtual Network.