Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A: Sviluppatore | Premium
Gestione API di Azure può essere distribuito (inserito) all'interno di una rete virtuale di Azure per accedere ai servizi back-end all'interno della rete. Per le opzioni, i requisiti e le considerazioni sulla connettività della rete virtuale, vedere:
- Uso di una rete virtuale con Gestione API di Azure
- Requisiti delle risorse di rete per l'inserimento di Gestione API in una rete virtuale
Questo articolo illustra come configurare la connettività di rete virtuale per l'istanza di Gestione API nella modalità interna . In questa modalità è possibile accedere solo agli endpoint di Gestione API seguenti all'interno di una rete virtuale il cui accesso viene controllato.
- Il gateway API
- Il portale per sviluppatori
- Gestione diretta
- Git
Nota
- Nessuno degli endpoint di Gestione API è registrato nel DNS pubblico. Gli endpoint rimangono inaccessibili fino a quando non si configura DNS per la rete virtuale.
- Per usare il gateway self-hosted in questa modalità, occorre abilitare anche la connettività privata all'endpoint di configurazione del gateway self-hosted.
Usare Gestione API in modalità interna per:
- Consentire un accesso esterno sicuro da parte di terzi alle API ospitate in un data center privato, tramite connessioni VPN di Azure o Azure ExpressRoute.
- Abilitare scenari cloud ibridi esponendo le API basate su cloud e locali tramite un gateway comune.
- Gestire le API ospitate in più aree geografiche usando un singolo endpoint del gateway.
Per le configurazioni specifiche della modalità esterna , in cui gli endpoint di Gestione API sono accessibili dalla rete Internet pubblica e i servizi back-end si trovano nella rete, vedere Distribuire l'istanza di Gestione API di Azure in una rete virtuale - modalità esterna.
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo Az PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Importante
Il completamento delle modifiche apportate all'infrastruttura del servizio Gestione API, ad esempio la configurazione di domini personalizzati, l'aggiunta di certificati CA, la scalabilità, la configurazione della rete virtuale, le modifiche della zona di disponibilità e le aggiunte all'area, possono richiedere 15 minuti o più, a seconda del livello di servizio e delle dimensioni della distribuzione. Prevedere tempi più lunghi per un'istanza con un numero maggiore di unità di scala o configurazione in più aree. Modifiche progressive al servizio di gestione delle API vengono eseguite con attenzione per preservare la capacità e la disponibilità.
Durante l'aggiornamento del servizio, non è possibile apportare altre modifiche all'infrastruttura del servizio. Tuttavia, è possibile configurare API, prodotti, criteri e impostazioni utente. Il servizio non riscontra tempi di inattività del gateway e Gestione API continuerà a gestire le richieste API senza interruzioni (ad eccezione del livello Sviluppatore).
Prerequisiti
Esaminare i requisiti delle risorse di rete per l'inserimento di Gestione API in una rete virtuale prima di iniziare.
- Un'istanza di Gestione API. Per altre informazioni, vedere Creare un'istanza di Gestione API di Azure.
Una rete virtuale e una subnet nella stessa area e nella stessa sottoscrizione dell'istanza di Gestione API.
- La subnet usata per connettersi all'istanza di Gestione API può contenere altri tipi di risorse di Azure.
- La subnet non deve avere alcuna delega abilitata. L'impostazione Delega subnet a un servizio per la subnet deve essere impostata su Nessuno.
Un gruppo di sicurezza di rete collegato alla subnet precedente. Un gruppo di sicurezza di rete (NSG) è necessario per consentire in modo esplicito la connettività in ingresso, perché il servizio di bilanciamento del carico usato internamente da Gestione API è sicuro per impostazione predefinita e rifiuta tutto il traffico in ingresso. Per una configurazione specifica, vedere Configurare le regole NSG, più avanti nell'articolo.
Per determinati scenari, abilitare gli endpoint di servizio nella subnet per i servizi dipendenti, come archiviazione di Azure o Azure SQL. Per altre informazioni, vedere Forzare il traffico del tunnel verso il firewall locale usando ExpressRoute o appliance virtuale di rete, più avanti in questo articolo.
(Facoltativo) Un indirizzo IPv4 pubblico dello SKU Standard .Importante
- A partire da maggio 2024, non è più necessaria una risorsa indirizzo IP pubblico durante la distribuzione (inserimento) di un'istanza di Gestione API in una rete virtuale in modalità interna o la migrazione della configurazione della rete virtuale interna a una nuova subnet. In modalità rete virtuale esterna, specificando un indirizzo IP pubblico è facoltativo; se non ne viene specificato uno, un indirizzo IP pubblico gestito da Azure viene configurato automaticamente e usato per il traffico dell'API di runtime. Specificare l'indirizzo IP pubblico solo se si vuole possedere e controllare l'indirizzo IP pubblico usato per le comunicazioni in ingresso o in uscita su Internet.
Se specificato, l'indirizzo IP deve trovarsi nella stessa area e nella stessa sottoscrizione dell'istanza di Gestione API e della rete virtuale.
Quando si crea una risorsa indirizzo IP pubblico, assicurarsi di assegnarvi un'etichetta del nome DNS . In generale, è consigliabile usare lo stesso nome DNS dell'istanza di Gestione API. Se lo si cambia, ridistribuire l'istanza in modo che venga applicata la nuova etichetta DNS.
Per ottenere prestazioni ottimali di rete, è consigliabile usare la preferenza di routing predefinita: rete Microsoft.
Quando si crea un indirizzo IP pubblico in un'area in cui si intende abilitare la ridondanza della zona per l'istanza di Gestione API, configurare l'impostazione Zona-ridondante.
Il valore dell'indirizzo IP viene assegnato come indirizzo IPv4 pubblico virtuale dell'istanza di Gestione API in tale area.
Per le distribuzioni di Gestione API in più aree, configurare le risorse di rete virtuale separatamente per ogni posizione.
Abilitare la connessione della rete virtuale
Abilitare la connettività di rete virtuale tramite il portale di Azure
- Passare al portale di Azure per trovare l'istanza di Gestione API. Cercare e selezionare Servizi gestione API.
- Scegliere l'istanza di Gestione API.
- Selezionare Rete>Rete virtuale.
- Selezionare il tipo di accesso interno .
- Nell'elenco di località (aree) in cui viene effettuato il provisioning del servizio Gestione API:
- Scegliere una posizione.
- Selezionare Rete virtuale e Subnet.
- L'elenco di reti virtuali viene popolato con le reti virtuali di Resource Manager disponibili nelle sottoscrizioni di Azure, configurate nell'area che si sta configurando.
- Selezionare Applica. La pagina Rete virtuale dell'istanza di Gestione API viene aggiornata con le nuove opzioni di rete virtuale e subnet.
- Continuare a configurare le impostazioni delle reti virtuali per le posizioni rimanenti dell'istanza di Gestione API.
- Nella barra di spostamento superiore selezionare Salva.
Dopo aver completato la distribuzione, nel pannello Panoramica dovrebbe essere visualizzato l'indirizzo IP virtuale privato del servizio Gestione API e l'indirizzo IP virtuale pubblico. Per altre informazioni sugli indirizzi IP, vedere Routing in questo articolo.
Nota
Poiché l'URL del gateway non è registrato nel DNS pubblico, la console di test disponibile nel portale di Azure non funzionerà per un servizio distribuito della rete virtuale interna . Usare invece la console di test fornita nel portale per sviluppatori.
Abilitare la connettività usando un modello di Resource Manager
Modello di Azure Resource Manager (API versione 2021-08-01 )
Configurare regole per i gruppi di sicurezza di rete
Configurare regole di rete personalizzate nella subnet di Gestione API per filtrare il traffico da e verso l'istanza di Gestione API. Si consiglia di seguire le seguenti regole minime del gruppo di sicurezza di rete per garantire il corretto funzionamento e accesso all'istanza. Esaminare attentamente l'ambiente per determinare altre regole che potrebbero essere necessarie.
Importante
A seconda dell'uso della memorizzazione nella cache e di altre funzionalità, potrebbe essere necessario configurare regole del gruppo di sicurezza di rete aggiuntive oltre le regole minime riportate nella tabella seguente. Per informazioni dettagliate sulle impostazioni, vedere Informazioni di riferimento sulla configurazione della rete virtuale.
- Per la maggior parte degli scenari, usare i tag di servizio indicati anziché gli indirizzi IP del servizio per specificare origini e destinazioni di rete.
- Impostare la priorità di queste regole su un valore più alto rispetto a quello delle regole predefinite.
Direzione | Tag del servizio di origine | Intervalli porte di origine | Tag del servizio di destinazione | Intervalli porte di destinazione | Protocollo | Azione | Scopo | Tipo di rete virtuale |
---|---|---|---|---|---|---|---|---|
In ingresso | Internet | * | VirtualNetwork | [80], 443 | TCP | Consenti | Comunicazione tra client e Gestione API | Solo esterno |
In ingresso | Gestione API | * | VirtualNetwork | 3443 | TCP | Consenti | Endpoint di gestione per il portale di Azure e PowerShell | Esterno e interno |
In ingresso | AzureLoadBalancer (Bilanciatore di Carico Azure) | * | VirtualNetwork | 6390 | TCP | Consenti | Bilanciamento del carico di infrastruttura di Azure | Esterno e interno |
In ingresso | AzureTrafficManager | * | VirtualNetwork | 443 | TCP | Consenti | Routing di Gestione traffico di Azure per la distribuzione in più aree | Solo esterno |
In uscita | VirtualNetwork | * | Immagazzinamento | 443 | TCP | Consenti | Dipendenza da Archiviazione di Azure per la funzionalità di base del servizio | Esterno e interno |
In uscita | VirtualNetwork | * | SQL | 1433 | TCP | Consenti | Accesso agli endpoint SQL di Azure per la funzionalità di base del servizio | Esterno e interno |
In uscita | VirtualNetwork | * | AzureKeyVault | 443 | TCP | Consenti | Accesso ad Azure Key Vault per la funzionalità di base del servizio | Esterno e interno |
In uscita | VirtualNetwork | * | AzureMonitor | 1886, 443 | TCP | Consenti | Pubblicare log e metriche di diagnostica, stato delle risorse e analisi delle applicazioni | Esterno e interno |
Configurazione del DNS
In modalità rete virtuale interna è necessario gestire il proprio DNS per abilitare l'accesso in ingresso agli endpoint di Gestione API.
Consigliamo:
- Configurare una zona privata DNS di Azure.
- Collegare la zona DNS privata di Azure alla rete virtuale in cui è stato distribuito il servizio Gestione API.
Informazioni su come configurare una zona privata in DNS di Azure.
Nota
Il servizio Gestione API non è in ascolto delle richieste in arrivo agli indirizzi IP. Risponde solo alle richieste per il nome host configurato negli endpoint. Questi endpoint includono:
- Gateway API
- Il portale di Azure
- Il portale per sviluppatori
- L'endpoint di gestione diretta
- Git
Accesso con i nomi host predefiniti
Quando si crea un servizio Gestione API, (contosointernalvnet
, ad esempio) per impostazione predefinita vengono configurati i seguenti endpoint:
Punto finale | Configurazione endpoint |
---|---|
API Gateway | contosointernalvnet.azure-api.net |
Portale per sviluppatori | contosointernalvnet.portal.azure-api.net |
Il nuovo portale per sviluppatori | contosointernalvnet.developer.azure-api.net |
L'endpoint di gestione diretta | contosointernalvnet.management.azure-api.net |
Git | contosointernalvnet.scm.azure-api.net |
Accesso con i nomi di dominio personalizzati
Se non si vuole accedere al servizio Gestione API con i nomi host predefiniti, configurare i nomi di dominio personalizzati per tutti gli endpoint, come illustrato nell'immagine seguente:
Configurare i record DNS
È quindi possibile creare record nel server DNS per accedere agli endpoint accessibili solo dall'interno della rete virtuale. Effettuare il mapping dei record dell'endpoint all'indirizzo IP virtuale privato per il tuo servizio.
A scopo di test, è possibile aggiornare il file hosts in una macchina virtuale in una subnet connessa alla rete virtuale in cui viene distribuito Gestione API. Supponendo che l'indirizzo IP virtuale privato per il servizio sia 10.1.0.5, è possibile eseguire il mapping del file hosts come indicato di seguito. Il file di mapping hosts si trova in %SystemDrive%\drivers\etc\hosts
(Windows) o /etc/hosts
(Linux, macOS).
Indirizzo IP virtuale interno | Configurazione endpoint |
---|---|
10.1.0.5 | contosointernalvnet.azure-api.net |
10.1.0.5 | contosointernalvnet.portal.azure-api.net |
10.1.0.5 | contosointernalvnet.developer.azure-api.net |
10.1.0.5 | contosointernalvnet.management.azure-api.net |
10.1.0.5 | contosointernalvnet.scm.azure-api.net |
È quindi possibile accedere a tutti gli endpoint di Gestione API dalla macchina virtuale creata.
Definizione dei percorsi di trasferimento
Gli indirizzi IP virtuali seguenti sono configurati per un'istanza di Gestione API in una rete virtuale interna.
Indirizzo IP virtuale | Descrizione |
---|---|
Indirizzo IP virtuale privato | Un indirizzo IP con bilanciamento del carico dall'interno dell'intervallo di subnet (DIP) dell'istanza di Gestione API, su cui è possibile accedere al gateway API, al portale per sviluppatori, alla gestione e agli endpoint Git. Registrare questo indirizzo con i server DNS usati dalla rete virtuale. |
Indirizzo IP virtuale pubblico | Usato solo per il traffico del piano di controllo verso l'endpoint di gestione sulla porta 3443. Può essere limitato al tag del servizio ApiManagement. |
Gli indirizzi IP pubblici e privati con carico bilanciato sono disponibili nel pannello Panoramica del portale di Azure.
Per altre informazioni e considerazioni, vedere Indirizzi IP di Gestione API di Azure.
Indirizzi VIP e DIP
Gli indirizzi IP (DIP) dinamici verranno assegnati a ogni macchina virtuale sottostante nel servizio e usati per accedere a endpoint e risorse nella rete virtuale e nelle reti virtuali con peering. L'IP pubblico del servizio Gestione API verrà usato per accedere alle risorse pubbliche.
Se le restrizioni IP elencano le risorse protette all'interno della rete virtuale o delle reti virtuali con peering, è consigliabile specificare l'intero intervallo di subnet in cui viene distribuito il servizio Gestione API per concedere o limitare l'accesso dal servizio.
Scopri di più sulle dimensioni della subnet consigliate.
Esempio
Se si distribuisce 1 unità di capacità di Gestione API nel livello Premium in una rete virtuale interna, verranno usati 3 indirizzi IP: 1 per l'indirizzo VIP privato e uno per i DIP per due macchine virtuali. Se si aumenta il numero di unità fino a 4, verranno usati altri indirizzi IP per i DIP aggiuntivi della subnet.
Se l'endpoint di destinazione ha elencato solo un set fisso di DIP, si verificheranno errori di connessione se si aggiungono nuove unità in futuro. Per questo motivo e poiché la subnet è interamente sotto il controllo dell'utente, è consigliabile inserire l'intera subnet nell'elenco del back-end.
Forzare il tunneling del traffico al firewall locale usando ExpressRoute o un'appliance virtuale di rete
Il tunneling forzato consente di reindirizzare o "forzare" tutto il traffico associato a Internet dalla subnet all'ambiente locale per l'ispezione e il controllo. In genere, si configura e si definisce una route predefinita (0.0.0.0/0
), forzando tutto il traffico dalla subnet di Gestione API a passare attraverso un firewall locale o un'appliance virtuale di rete. Questo flusso di traffico interrompe la connettività con Gestione API perché il traffico in uscita è bloccato in locale o convertito tramite NAT in un set non riconoscibile di indirizzi che non usano più i diversi endpoint di Azure. Per risolvere questo problema, utilizzare i metodi riportati di seguito:
Abilitare gli endpoint di servizio nella subnet in cui viene distribuito il servizio Gestione API per:
- AZURE SQL (obbligatorio solo nell'area primaria se il servizio Gestione API viene distribuito in più aree)
- Archiviazione di Azure
- Hub eventi di Azure
- Azure Key Vault (Archivio chiavi di Azure)
L'abilitazione degli endpoint direttamente dalla subnet di Gestione API a questi servizi consente di usare la rete backbone di Microsoft Azure che fornisce il routing ottimale per il traffico del servizio. Se si usano gli endpoint di servizio con Gestione API con tunneling forzato, il tunneling del traffico dei servizi di Azure sopra indicati non viene forzato. Tuttavia, l'altro tunneling del traffico relativo alle dipendenze del servizio Gestione API viene forzato. Assicurarsi che il firewall o l'appliance virtuale non blocchi questo traffico e che il servizio Gestione API funzioni correttamente.
Nota
È consigliabile abilitare gli endpoint di servizio direttamente dalla subnet di Gestione API ai servizi dipendenti, ad esempio Azure SQL e Archiviazione di Azure che li supportano. Tuttavia, alcune organizzazioni potrebbero avere i requisiti per forzare il tunneling di tutto il traffico dalla subnet di Gestione API. In questo caso, assicurarsi di configurare il firewall o l'appliance virtuale per consentire questo traffico. Sarà necessario consentire l'intervallo di indirizzi IP completo di ogni servizio dipendente e mantenere questa configurazione aggiornata quando l'infrastruttura di Azure cambia. Il servizio Gestione API può anche riscontrare latenza o timeout imprevisti a causa del tunneling forzato di questo traffico di rete.
Tutto il traffico del piano di controllo da Internet all'endpoint di gestione del servizio Gestione API viene instradato tramite un set specifico di indirizzi IP in ingresso, ospitati da Gestione API, inclusi dal tag del servizioApiManagement. Quando il traffico viene sottoposto a tunneling forzato, le risposte non verranno mappate in modo simmetrico a questi indirizzi IP di origine in ingresso e la connettività all'endpoint di gestione andrà persa. Per superare questa limitazione, configurare una route definita dall'utente (UDR) per il tag del servizio ApiManagement con il tipo di hop successivo impostato su "Internet", per indirizzarlo ad Azure.
Nota
Consentire al traffico di gestione di Gestione API di ignorare un firewall locale o un'appliance virtuale di rete non è considerato un rischio significativo per la sicurezza. La configurazione consigliata per la subnet di Gestione API consente il traffico di gestione in ingresso sulla porta 3443 solo dal set di indirizzi IP di Azure inclusi nel tag del servizio ApiManagement. La configurazione UDR consigliata è solo per il percorso di ritorno del traffico di Azure.
(Modalità rete virtuale esterna) Il traffico del piano dati per i client che tentano di raggiungere il gateway di Gestione API e il portale per sviluppatori da Internet verrà eliminato anche per impostazione predefinita a causa del routing asimmetrico introdotto dal tunneling forzato. Per ogni client che richiede l'accesso, configurare una route definita dall'utente esplicita con il tipo hop successivo "Internet" per ignorare il firewall o l'appliance di rete virtuale.
Per le altre dipendenze del servizio Gestione API con tunneling forzato, risolvere il nome host e raggiungere l'endpoint. tra cui:
- Metriche e monitoraggio dell'integrità
- Diagnostica del portale di Azure
- Relay SMTP
- CAPTCHA del portale per sviluppatori
- Server del servizio di gestione delle chiavi di Azure
Per altre informazioni, vedere Informazioni di riferimento sulla configurazione della rete virtuale.
Problemi comuni di configurazione di rete
Questa sezione è stata spostata. Vedere Informazioni di riferimento sulla configurazione della rete virtuale.
Risoluzione dei problemi
Distribuzione iniziale non riuscita del servizio Gestione API in una subnet
- Distribuire una macchina virtuale nella stessa subnet.
- Connettersi alla macchina virtuale e convalidare la connettività a una delle risorse seguenti nella sottoscrizione di Azure:
- BLOB di Archiviazione di Azure
- Database SQL di Microsoft Azure
- Tabella di archiviazione di Azure
- Azure Key Vault (Archivio chiavi di Azure)
Importante
Dopo aver convalidato la connettività, rimuovere tutte le risorse nella sottorete prima di implementare API Management nella sottorete.
Verificare lo stato della rete
Dopo aver distribuito Gestione API nella subnet, usare il portale per verificare la connettività dell'istanza alle dipendenze, ad esempio Archiviazione di Azure.
Nel portale, nel menu a sinistra, in Distribuzione e infrastruttura selezionareStato rete di rete>.
Filtro | Descrizione |
---|---|
Obbligatorio | Selezionare questa opzione per esaminare la connettività dei servizi di Azure necessaria per Gestione API. L'errore indica che l'istanza non è in grado di eseguire operazioni di base per gestire le API. |
Opzionale | Selezionare questa opzione per esaminare la connettività facoltativa dei servizi. L'errore indica solo che la funzionalità specifica non funzionerà (ad esempio SMTP). L'errore può causare una riduzione delle prestazioni nell'uso e nel monitoraggio dell'istanza di Gestione API e nella fornitura del contratto di servizio di cui è stato eseguito il commit. |
Per risolvere i problemi di connettività, selezionare:
Metriche : per esaminare le metriche relative allo stato della connettività di rete
Diagnosticare : per eseguire un verificatore di rete virtuale in un periodo di tempo specificato
Per risolvere i problemi di connettività, esaminare le impostazioni di configurazione della rete e correggere le impostazioni di rete necessarie.
Aggiornamenti incrementali
Quando si apportano modifiche alla rete, fare riferimento all'API NetworkStatus per verificare che il servizio Gestione API non abbia perso l'accesso alle risorse critiche. Lo stato della connettività dovrebbe essere aggiornato ogni 15 minuti.
Per applicare una modifica di configurazione di rete all'istanza di Gestione API tramite il portale:
- Nel menu a sinistra per l'istanza, sotto Distribuzione e infrastruttura, selezionare Rete>Rete virtuale.
- Selezionare Applica configurazione di rete.
Problemi riscontrati nella riassegnazione dell'istanza di Gestione API alla subnet precedente
- Blocco della rete virtuale: quando si sposta un'istanza di Gestione API nella subnet originale, la riassegnazione immediata potrebbe non essere possibile a causa del blocco della rete virtuale, che richiede fino a un'ora per essere rimosso.
- Blocco del gruppo di risorse: un altro scenario da considerare è la presenza di un blocco di portata a livello di gruppo di risorse o superiore, che ostacola il processo di eliminazione del collegamento di navigazione delle risorse. Per risolvere questo problema, rimuovere il blocco di ambito e consentire un ritardo di circa 4-6 ore per il collegamento del servizio Gestione API dalla subnet originale prima della rimozione del blocco, abilitando la distribuzione nella subnet desiderata.
Risolvere i problemi di connessione a Microsoft Graph dall'interno di una rete virtuale
La connettività di rete a Microsoft Graph è necessaria per funzionalità che includono l'accesso utente al portale per sviluppatori usando il provider di identità Microsoft Entra.
Per risolvere i problemi di connettività a Microsoft Graph dall'interno di una rete virtuale:
Assicurarsi che NSG e altre regole di rete siano configurate per la connettività in uscita dall'istanza della Gestione API verso Microsoft Graph (usando il tag del servizio AzureActiveDirectory).
Verificare la risoluzione DNS e l'accesso alla rete per
graph.microsoft.com
dall'interno della rete virtuale. Ad esempio, effettuare il provisioning di una nuova macchina virtuale all'interno della rete virtuale, connettersi e provare il comandoGET https://graph.microsoft.com/v1.0/$metadata
da un browser o usando cURL, PowerShell o altri strumenti.
Contenuti correlati
Altre informazioni su: