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)

Azure Rete virtuale) è 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 Rete virtuale 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 di server flessibili. 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 privata può essere collegata a una o più reti virtuali creando collegamenti di rete virtuale

Flexible server MySQL VNET

Nel diagramma precedente,

  1. Database di Azure per MySQL istanze del server flessibili vengono inserite in una subnet delegata - 10.0.1.0/24 della rete virtualeVNet-1.
  2. 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.
  3. 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 flessibili.

  • Rete virtuale -

    Un'Rete virtuale di Azure contiene uno spazio indirizzi IP privato configurato per l'uso. Per altre informazioni sulla rete virtuale di Azure, vedere panoramica di Azure Rete virtuale.

    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 (subnetworks). 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. Questa delega significa che solo Database di Azure per MySQL istanze del server flessibili 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 in un'area in cui è collegata la zona DNS privata.

  • Peering di rete virtuale

    Un peering di rete virtuale consente di connettere senza problemi due o più 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 DNS privato Zona

  • Se si usa il portale di Azure o l'interfaccia della riga di comando di Azure per creare Database di Azure per MySQL istanze di server flessibili con una rete virtuale, viene eseguito il provisioning automatico di una nuova zona DNS privata per mysql.database.azure.com 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 Database di Azure per MySQL istanze di server flessibili con accesso privato. Per altre informazioni, vedere la panoramica della zona DNS privata.

    Importante

    DNS privato nomi di zona devono terminare con mysql.database.azure.com. Se ci si connette a un'istanza del server flessibile 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 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.

DNS privato zona e peering di rete virtuale

DNS privato le impostazioni della zona e il peering di rete virtuale sono indipendenti l'uno dall'altro. Per altre informazioni sulla creazione e l'uso di zone DNS privato, vedere la sezione Usare DNS privato Zona.

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 come collegare la documentazione della rete virtuale.

Nota

Solo i nomi di zona DNS privati che terminano con mysql.database.azure.com possono essere collegati.

Connessione da un server locale a un'istanza del server flessibile Database di Azure per MySQL in una rete virtuale tramite 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 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.
  • Un'istanza del server flessibile di Database di Azure per MySQL cui è stato effettuato il provisioning con accesso privato (integrazione di rete virtuale).
  • Una rete virtuale connessa all'ambiente locale.
  • 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 nelle stringa di connessione per 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 consente di evitare di apportare modifiche al 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.
  • DNS privato configurazione di integrazione non può essere modificata dopo la distribuzione.
  • Dopo la creazione di risorse, non è possibile aumentare le dimensioni della subnet (spazi indirizzi).

Passaggi successivi

  • Informazioni su come abilitare l'accesso privato (integrazione di rete virtuale) usando l'interfaccia della riga di comando di Azure o portale di Azure.
  • Informazioni su come usare TLS.