Accesso alla rete privata tramite l'integrazione della rete virtuale per Database di Azure per MySQL - Server flessibile
SI APPLICA A: Database di Azure per MySQL - Server flessibile
Questo articolo descrive l'opzione di connettività privata per Database di Azure per MySQL server flessibile. Vengono illustrati in dettaglio i concetti relativi alla rete virtuale per Database di Azure per MySQL server flessibile per creare un server in modo sicuro in Azure.
Accesso privato (integrazione rete virtuale)
Rete virtuale di Azure è il blocco predefinito fondamentale per la rete privata in Azure. L'integrazione della rete virtuale con Database di Azure per MySQL Server flessibile offre i vantaggi della sicurezza e dell'isolamento della rete di Azure.
L'integrazione della rete virtuale per un'istanza del server flessibile Database di Azure per MySQL consente di bloccare l'accesso al server solo all'infrastruttura di rete virtuale. La rete virtuale può includere tutte le risorse dell'applicazione e del database in una singola rete virtuale o può estendersi tra reti virtuali diverse nella stessa area o in un'area diversa. La connettività facile tra varie reti virtuali può essere stabilita tramite peering, che usa l'infrastruttura backbone privata a bassa latenza e larghezza di banda elevata di Microsoft. Le reti virtuali vengono visualizzate come una sola per facilitare la connettività.
Database di Azure per MySQL server flessibile supporta la connettività client da:
- Reti virtuali all'interno della stessa area di Azure (reti virtuali con peering locale)
- Reti virtuali tra aree di Azure (reti virtuali con peering globale)
Le subnet consentono di segmentare la rete virtuale in una o più subnet e allocare una parte dello spazio indirizzi della rete virtuale a cui è quindi possibile distribuire le risorse di Azure. Database di Azure per MySQL server flessibile richiede una subnet delegata. Una subnet delegata è un identificatore esplicito che una subnet può ospitare solo Database di Azure per MySQL istanze del server flessibile. Delegando la subnet, il servizio ottiene le autorizzazioni dirette per creare risorse specifiche del servizio per gestire facilmente l'istanza del server flessibile Database di Azure per MySQL.
Nota
L'intervallo CIDR più piccolo che è possibile specificare per la subnet per ospitare Database di Azure per MySQL server flessibile è /29, che fornisce otto indirizzi IP. Tuttavia, il primo e l'ultimo indirizzo in qualsiasi rete o subnet non possono essere assegnati a un singolo host. Azure riserva cinque indirizzi IP per l'uso interno da parte della rete di Azure, inclusi i due indirizzi IP che non possono essere assegnati a un host. Questo lascia tre indirizzi IP disponibili per un intervallo CIDR /29. Per Database di Azure per MySQL server flessibile, è necessario allocare un indirizzo IP per nodo dalla subnet delegata quando è abilitato l'accesso privato. I server abilitati per la disponibilità elevata richiedono due indirizzi IP e un server non a disponibilità elevata richiede un indirizzo IP. È consigliabile riservare almeno due indirizzi IP per ogni istanza del server flessibile Database di Azure per MySQL, perché le opzioni di disponibilità elevata possono essere abilitate in un secondo momento. Database di Azure per MySQL server flessibile si integra con le zone di Azure DNS privato per fornire un servizio DNS affidabile e sicuro per gestire e risolvere i nomi di dominio in una rete virtuale senza la necessità di aggiungere una soluzione DNS personalizzata. Una zona DNS privato può essere collegata a una o più reti virtuali creando collegamenti di rete virtuale
Nel diagramma precedente,
- Le istanze del server flessibile di Database di Azure per MySQL vengono inserite in una subnet delegata: 10.0.1.0/24 della rete virtuale VNet-1.
- Le applicazioni distribuite in subnet diverse all'interno della stessa rete virtuale possono accedere direttamente alle istanze del server flessibile Database di Azure per MySQL.
- Le applicazioni distribuite in una rete virtuale diversa VNet-2 non hanno accesso diretto alle istanze del server flessibile Database di Azure per MySQL. Prima di poter accedere a un'istanza, è necessario eseguire un peering di rete virtuale della zona DNS privato.
Concetti relativi alla rete virtuale
Ecco alcuni concetti da conoscere quando si usano Rete virtuale con Database di Azure per MySQL istanze del server flessibile.
Rete virtuale -
Una rete virtuale di Azure contiene uno spazio di indirizzi IP privati configurato per essere usato dall'utente. Per altre informazioni sulla rete virtuale di Azure, vedere la panoramica rete virtuale di Azure.
La rete virtuale deve trovarsi nella stessa area di Azure dell'istanza del server flessibile Database di Azure per MySQL.
Subnet delegata -
Una rete virtuale contiene subnet (reti secondarie). Le subnet consentono di segmentare la rete virtuale in spazi indirizzi più piccoli. Le risorse di Azure vengono distribuite in subnet specifiche all'interno di una rete virtuale.
L'istanza del server flessibile Database di Azure per MySQL deve trovarsi in una subnet delegata solo per Database di Azure per MySQL server flessibile. Con questa delega solo le istanze del server flessibili di Database di Azure per MySQL possono usare tale subnet. Gli altri tipi di risorsa di Azure non possono trovarsi nella subnet delegata. Delegare una subnet assegnando la relativa proprietà di delega come Microsoft.DBforMySQL/flexibleServers.
Gruppi di sicurezza di rete
Le regole di sicurezza dei gruppi di sicurezza di rete consentono di filtrare il tipo di traffico di rete consentito in ingresso e in uscita dalle subnet della rete virtuale e dalle interfacce di rete. Per altre informazioni, vedere panoramica del gruppo di sicurezza di rete.
Integrazione della zona DNS privato
L'integrazione della zona DNS privato di Azure consente di risolvere il DNS privato all'interno della rete virtuale corrente o di qualsiasi rete virtuale con peering nell'area in cui è collegata la zona DNS privato.
Peering di rete virtuale
Il peering di reti virtuali consente di connettere facilmente due reti virtuali in Azure. Le reti virtuali con peering vengono visualizzate come una a scopo di connettività. Il traffico tra macchine virtuali nelle reti virtuali con peering usa l'infrastruttura backbone Microsoft. Il traffico tra l'applicazione client e l'istanza del server flessibile Database di Azure per MySQL nelle reti virtuali con peering viene instradato solo attraverso la rete privata di Microsoft ed è isolato a tale rete.
Usare una zona DNS privato
Se si usa il portale di Azure o l'interfaccia della riga di comando di Azure per creare Database di Azure per MySQL istanze del server flessibile con una rete virtuale, viene eseguito il provisioning automatico di una nuova zona
mysql.database.azure.com
DNS privata per ogni server nella sottoscrizione usando il nome del server specificato. In alternativa, se si vuole configurare la propria zona DNS privata con l'istanza del server flessibile Database di Azure per MySQL, vedere la documentazione di panoramica del DNS privato.Se si usa l'API di Azure, un modello di Azure Resource Manager (modello arm) o Terraform, creare zone DNS private che terminano con
mysql.database.azure.com
e usarle durante la configurazione di istanze del server flessibile Database di Azure per MySQL con accesso privato. Per altre informazioni, vedere la panoramica della zona DNS privata.Importante
I nomi delle zone DNS privati devono terminare con
mysql.database.azure.com
. Se ci si connette a un'istanza del server flessibile di Database di Azure per MySQL con SSL e si usa un'opzione per eseguire la verifica completa (sslmode=VERIFY_IDENTITY) con il nome soggetto del certificato, usare <servername.mysql.database.azure.com> nel stringa di connessione.
Informazioni su come creare un'istanza del server flessibile Database di Azure per MySQL con accesso privato (integrazione di rete virtuale) nella portale di Azure o nell'interfaccia della riga di comando di Azure.
Integrazione con un server DNS personalizzato
Se si usa il server DNS personalizzato, è necessario usare un server d'inoltro DNS per risolvere il nome di dominio completo dell'istanza del server flessibile Database di Azure per MySQL. L'indirizzo IP del server d'inoltro deve essere 168.63.129.16. Il server DNS personalizzato deve trovarsi all'interno della rete virtuale o raggiungibile tramite l'impostazione del server DNS della rete virtuale. Per altre informazioni, vedere risoluzione dei nomi che usa il server DNS.
Importante
Per eseguire correttamente il provisioning dell'istanza del server flessibile Database di Azure per MySQL, anche se si usa un server DNS personalizzato, non è necessario bloccare il traffico DNS verso AzurePlatformDNS usando il gruppo di sicurezza di rete.
Zona DNS privato e peering di reti virtuali
Le impostazioni della zona DNS privata e il peering di rete virtuale sono indipendenti l'uno dall'altro. Per altre informazioni sulla creazione e l'uso di zone DNS private, vedere la sezione Usare la zona DNS privata.
Se si vuole connettersi all'istanza del server flessibile Database di Azure per MySQL da un client di cui è stato effettuato il provisioning in un'altra rete virtuale dalla stessa area o da un'area diversa, è necessario collegare la zona DNS privata alla rete virtuale. Vedere la documentazione come collegare la rete virtuale.
Nota
Solo i nomi di zona DNS privati che terminano con mysql.database.azure.com
possono essere collegati.
Connettersi da un server locale a un'istanza del server flessibile Database di Azure per MySQL in una rete virtuale usando ExpressRoute o VPN
Per i carichi di lavoro che richiedono l'accesso a un'istanza del server flessibile Database di Azure per MySQL in una rete virtuale da una rete locale, è necessaria una rete ExpressRoute o VPN e una rete virtuale connessa all'ambiente locale. Con questa configurazione è necessario un server d'inoltro DNS per risolvere il nome server server flessibile Database di Azure per MySQL se si vuole connettersi dalle applicazioni client (ad esempio MySQL Workbench) in esecuzione in reti virtuali locali. Questo server d'inoltro DNS è responsabile della risoluzione di tutte le query DNS tramite un server d'inoltro a livello di server al servizio DNS fornito da Azure 168.63.129.16.
Per configurare correttamente, sono necessarie le risorse seguenti:
- Una rete locale.
- Istanza del server flessibile di Database di Azure per MySQL con provisioning con accesso privato (integrazione della rete virtuale).
- Una rete virtuale connessa all'ambiente locale.
- Un server d'inoltro DNS 168.63.129.16 distribuito in Azure.
È quindi possibile usare il nome server flessibile (FQDN) Database di Azure per MySQL per connettersi dall'applicazione client nella rete virtuale con peering o nella rete locale all'istanza del server flessibile Database di Azure per MySQL.
Nota
È consigliabile usare il nome di dominio completo (FQDN) <servername>.mysql.database.azure.com
in stringa di connessione s durante la connessione all'istanza del server flessibile Database di Azure per MySQL. Non è garantito che l'indirizzo IP del server rimanga statico. L'uso del nome di dominio completo eviterà di dover apportare modifiche alla stringa di connessione.
Scenari di rete virtuale non supportati
- Endpoint pubblico (o IP pubblico o DNS): un'istanza del server flessibile Database di Azure per MySQL distribuita in una rete virtuale non può avere un endpoint pubblico.
- Dopo che l'istanza del server flessibile Database di Azure per MySQL è stata distribuita in una rete virtuale e in una subnet, non è possibile spostarla in un'altra rete virtuale o subnet. Non è possibile spostare la rete virtuale in un altro gruppo di risorse o in un'altra sottoscrizione.
- La configurazione di integrazione DNS privata non può essere modificata dopo la distribuzione.
- Dopo la creazione di risorse, non è possibile aumentare le dimensioni della subnet (spazi indirizzi).
Passare dalla rete di accesso privato (rete virtuale integrata) all'accesso pubblico o al collegamento privato
Il server flessibile di Database di Azure per MySQL può essere trasferito dall'accesso privato (rete virtuale integrata) all'accesso pubblico, con l'opzione per usare il collegamento privato. Questa funzionalità consente ai server di passare facilmente dalla rete virtuale integrata all'infrastruttura pubblica/collegamento privato, senza dover modificare il nome del server o eseguire la migrazione dei dati, semplificando il processo per i clienti.
Nota
Che una volta eseguita la transizione, non può essere invertito. La transizione comporta un tempo di inattività di circa 5-10 minuti per i server non a disponibilità elevata e circa 20 minuti per i server abilitati per la disponibilità elevata.
Il processo viene eseguito in modalità offline ed è costituito da due passaggi:
- Scollegamento del server dall'infrastruttura di rete virtuale.
- Stabilire un collegamento privato o abilitare l'accesso pubblico.
- Per indicazioni sulla transizione dalla rete di accesso privato all'accesso pubblico o al collegamento privato, vedere Passare dall'accesso privato (rete virtuale integrata) all'accesso pubblico o al collegamento privato con il portale di Azure. Questa risorsa offre istruzioni dettagliate per facilitare il processo.