Uso del servizio Gestione API di Azure con una rete virtuale internaUsing Azure API Management service with an internal virtual network

Grazie alle reti virtuali di Azure, Gestione API è in grado di gestire API non accessibili su Internet.With Azure Virtual Networks, Azure API Management can manage APIs not accessible on the internet. Sono disponibili varie tecnologie VPN per stabilire la connessione.A number of VPN technologies are available to make the connection. È possibile distribuire Gestione API in due modalità principali all'interno di una rete virtuale:API Management can be deployed in two main modes inside a virtual network:

  • EsternoExternal
  • InternoInternal

Quando il servizio Gestione API viene installato in modalità di rete virtuale interna, tutti gli endpoint di servizio, ovvero gateway, portale per sviluppatori, portale di pubblicazione, gestione diretta e GIT, sono visibili solo all'interno di una rete virtuale i cui accessi sono gestiti dall'utente.When API Management deploys in internal virtual network mode, all the service endpoints (gateway, developer portal, publisher portal, direct management, and Git) are only visible inside a virtual network that you control the access to. Nessuno degli endpoint di servizio è registrato nel server DNS pubblico.None of the service endpoints are registered on the public DNS server.

Usando Gestione API in modalità interna è possibile implementare gli scenari seguenti:Using API Management in internal mode, you can achieve the following scenarios:

  • Consentire un accesso esterno sicuro da parte di terzi alle API ospitate in un data center privato, tramite connessioni VPN da sito a sito o Azure ExpressRoute.Make APIs hosted in your private datacenter securely accessible by third parties outside of it by using site-to-site or Azure ExpressRoute VPN connections.
  • Abilitare scenari cloud ibridi esponendo le API basate su cloud e locali tramite un gateway comune.Enable hybrid cloud scenarios by exposing your cloud-based APIs and on-premises APIs through a common gateway.
  • Gestire le API ospitate in più aree geografiche usando un singolo endpoint del gateway.Manage your APIs hosted in multiple geographic locations by using a single gateway endpoint.

PrerequisitiPrerequisites

Per eseguire i passaggi descritti in questo articolo, è necessario disporre di:To perform the steps described in this article, you must have:

Creazione di un servizio Gestione API in una rete virtuale interna Creating an API Management in an internal virtual network

Il servizio Gestione API in una rete virtuale interna viene ospitato dietro un servizio di bilanciamento del carico interno (ILB).The API Management service in an internal virtual network is hosted behind an internal load balancer (ILB).

Abilitare la connessione a una rete virtuale usando il portale di AzureEnable a virtual network connection using the Azure portal

  1. Selezionare l'istanza di Gestione API di Azure nel portale di Azure.Browse to your Azure API Management instance in the Azure portal.
  2. Selezionare Rete virtuale.Select Virtual network.
  3. Configurare l'istanza di Gestione API da distribuire all'interno della rete virtuale.Configure the API Management instance to be deployed inside the virtual network.

    Menu per la configurazione di Gestione API di Azure in una rete virtuale interna

  4. Selezionare Salva.Select Save.

Una volta completata la distribuzione, nel dashboard dovrebbe essere visualizzato l'indirizzo IP virtuale interno del servizio.After the deployment succeeds, you should see the internal virtual IP address of your service on the dashboard.

Dashboard di Gestione API con una rete virtuale interna configurata

Abilitare una connessione di rete virtuale tramite i cmdlet di PowerShellEnable a virtual network connection by using PowerShell cmdlets

È possibile abilitare la connettività a una rete virtuale anche usando i cmdlet di PowerShell.You can also enable virtual network connectivity by using PowerShell cmdlets.

  • Creare un servizio Gestione API all'interno di una rete virtuale: usare il cmdlet New-AzureRmApiManagement per creare un servizio Gestione API di Azure all'interno di una rete virtuale e configurarlo per usare il tipo di rete virtuale interna.Create an API Management service inside a virtual network: Use the cmdlet New-AzureRmApiManagement to create an Azure API Management service inside a virtual network and configure it to use the internal virtual network type.

  • Distribuire un servizio Gestione API esistente all'interno di una rete virtuale: usare il cmdlet Update-AzureRmApiManagementDeployment per spostare un servizio Gestione API di Azure all'interno di una rete virtuale e configurarlo per usare il tipo di rete virtuale interna.Deploy an existing API Management service inside a virtual network: Use the cmdlet Update-AzureRmApiManagementDeployment to move an existing API Management service inside a virtual network and configure it to use the internal virtual network type.

Configurazione del DNSDNS configuration

Quando si usa Gestione API in modalità di rete virtuale esterna, il servizio DNS è gestito da Azure.When API Management is in external virtual network mode, the DNS is managed by Azure. Per la modalità di rete virtuale interna, è necessario gestire il routing proprio.For internal virtual network mode, you have to manage your own routing.

Nota

Il servizio Gestione API non ascolta le richieste in arrivo dagli indirizzi IP.API Management service does not listen to requests coming from IP addresses. Risponde solo alle richieste per il nome host configurato negli endpoint di servizio.It only responds to requests to the host name configured on its service endpoints. Questi endpoint includono gateway, portale per sviluppatori, portale di pubblicazione, endpoint di gestione diretta e GIT.These endpoints include gateway, developer portal, publisher portal, direct management endpoint, and Git.

Accesso con i nomi host predefinitiAccess on default host names

Quando si crea un servizio Gestione API, denominato ad esempio "contoso", vengono configurati i seguenti endpoint di servizio per impostazione predefinita:When you create an API Management service, named "contoso" for example, the following service endpoints are configured by default:

  • Gateway o proxy: contoso.azure-api.netGateway or proxy: contoso.azure-api.net

  • Portale di pubblicazione e portale per sviluppatori: contoso.portal.azure-api.netPublisher portal and developer portal: contoso.portal.azure-api.net

  • Endpoint di gestione diretta: contoso.management.azure-api.netDirect management endpoint: contoso.management.azure-api.net

  • Git: contoso.scm.azure-api.netGit: contoso.scm.azure-api.net

Per accedere a questi endpoint del servizio Gestione API è possibile creare una macchina virtuale in una subnet connessa alla rete virtuale in cui viene distribuito Gestione API.To access these API Management service endpoints, you can create a virtual machine in a subnet connected to the virtual network in which API Management is deployed. Supponendo che l'indirizzo IP virtuale interno per il servizio sia 10.0.0.5, è possibile eseguire il mapping del file hosts, %SystemDrive%\drivers\etc\hosts, come segue:Assuming the internal virtual IP address for your service is 10.0.0.5, you can map the hosts file, %SystemDrive%\drivers\etc\hosts, as follows:

  • 10.0.0.5 contoso.azure-api.net10.0.0.5 contoso.azure-api.net

  • 10.0.0.5 contoso.portal.azure-api.net10.0.0.5 contoso.portal.azure-api.net

  • 10.0.0.5 contoso.management.azure-api.net10.0.0.5 contoso.management.azure-api.net

  • 10.0.0.5 contoso.scm.azure-api.net10.0.0.5 contoso.scm.azure-api.net

È quindi possibile accedere a tutti gli endpoint di servizio dalla macchina virtuale creata.You can then access all the service endpoints from the virtual machine you created. Se si usa un server DNS personalizzato in una rete virtuale, è anche possibile creare record DNS A e accedere a questi endpoint da qualsiasi punto nella rete virtuale.If you use a custom DNS server in a virtual network, you can also create A DNS records and access these endpoints from anywhere in your virtual network.

Accesso con i nomi di dominio personalizzatiAccess on custom domain names

  1. Se non si vuole accedere al servizio Gestione API con i nomi host predefiniti, è possibile configurare nomi di dominio personalizzati per tutti gli endpoint di servizio come mostrato nella figura seguente:If you don’t want to access the API Management service with the default host names, you can set up custom domain names for all your service endpoints as shown in the following image:

    Configurazione di un dominio personalizzato per Gestione API

  2. È quindi possibile creare record nel server DNS per accedere agli endpoint accessibili solo dall'interno della rete virtuale.Then you can create records in your DNS server to access the endpoints that are only accessible from within your virtual network.

Routing Routing

  • Verrà riservato e usato un indirizzo IP virtuale privato con bilanciamento del carico dall'intervallo della subnet per accedere agli endpoint del servizio Gestione API dall'interno della rete virtuale.A load balanced private virtual IP address from the subnet range will be reserved and used to access the API Management service endpoints from within the vnet.
  • Verrà inoltre riservato un indirizzo IP pubblico (VIP) con bilanciamento del carico per fornire l'accesso all'endpoint del servizio di gestione solo sulla porta 3443.A load balanced public IP address (VIP) will also be reserved to provide access to the management service endpoint only over port 3443.
  • Verranno usati un indirizzo IP di un intervallo IP di subnet (DIP) per accedere alle risorse all'interno della rete rituale e un indirizzo IP pubblico (VIP) per accedere alle risorse esterne alla rete virtuale.An IP address from a subnet IP range (DIP) will be used to access resources within the vnet and a public IP address (VIP) will be used to access resources outside the vnet.
  • Gli indirizzi IP pubblici e privati con bilanciamento del carico sono disponibili nel pannello Panoramica/Informazioni di base del portale di Azure.Load balanced public and private IP addresses can be found on the Overview/Essentials blade in the Azure portal.

Contenuti correlati Related content

Per altre informazioni, vedere gli articoli seguenti:To learn more, see the following articles: