Creare e gestire collegamento privato per Database di Azure per MariaDB tramite l'interfaccia della riga di comando
Importante
Database di Azure per MariaDB è sul percorso di ritiro. È consigliabile eseguire la migrazione a Database di Azure per MySQL. Per altre informazioni sulla migrazione a Database di Azure per MySQL, vedere What's happening to Database di Azure per MariaDB?.
Un endpoint privato è il blocco predefinito fondamentale per il collegamento privato in Azure. Consente alle risorse di Azure, come le macchine virtuali (VM), di comunicare privatamente con risorse Collegamento privato. Questo articolo illustra come usare l'interfaccia della riga di comando di Azure per creare una macchina virtuale in un Rete virtuale di Azure e un server Database di Azure per MariaDB con un endpoint privato di Azure.
Nota
La funzionalità di collegamento privato è disponibile solo per i server Database di Azure per MariaDB nei piani tariffari Per utilizzo generico o Ottimizzato per la memoria. Verificare che il server di database si trova in uno di questi piani tariffari.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Prerequisiti
- È necessario un server Database di Azure per MariaDB.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- Questo articolo richiede l'interfaccia della riga di comando di Azure versione 2.0.28 o successiva. Se si usa Azure Cloud Shell, la versione più recente è già installata.
Creare un gruppo di risorse
Per poter creare le risorse, è prima necessario creare un gruppo di risorse in cui ospitare la rete virtuale. Come prima cosa creare un gruppo di risorse con az group create. Questo esempio crea un gruppo di risorse denominato myResourceGroup nella località westeurope :
az group create --name myResourceGroup --location westeurope
Creare una rete virtuale
Creare una rete virtuale con il comando az network vnet create. Questo esempio crea una rete virtuale predefinita denominata myVirtualNetwork con una subnet denominata mySubnet:
az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet
Disabilitare i criteri per gli endpoint privati della subnet
Azure distribuisce le risorse in una subnet all'interno di una rete virtuale, quindi è necessario creare o aggiornare la subnet per disabilitare i criteri di rete degli endpoint privati. Aggiornare una configurazione di subnet denominata mySubnet con az network vnet subnet update:
az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true
Creare la macchina virtuale
Creare una VM con il comando az vm create. Quando richiesto, specificare la password da usare come credenziali di accesso per la macchina virtuale. Questo esempio crea una macchina virtuale denominata myVM:
az vm create \
--resource-group myResourceGroup \
--name myVm \
--image Win2019Datacenter
Prendere nota dell'indirizzo IP pubblico della macchina virtuale. Questo indirizzo verrà usato per connettersi alla VM da Internet nel passaggio successivo.
Creare un database di Azure per un server MariaDB
Creare un Database di Azure per MariaDB con il comando az mariadb server create. Tenere presente che il nome del server MariaDB deve essere univoco in Azure, quindi sostituire il valore segnaposto tra parentesi quadre con il proprio valore univoco:
# Create a server in the resource group
az mariadb server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2
Nota
In alcuni casi, Database di Azure per MariaDB e la subnet della rete virtuale sono in sottoscrizioni diverse. In questi casi è necessario garantire le configurazioni seguenti:
- Assicurarsi che entrambe le sottoscrizioni dispongano del provider di risorse Microsoft.DBforDb registrato. Per altre informazioni, fare riferimento a resource-manager-registration.
Creare l'endpoint privato
Creare un endpoint privato per il server MariaDB nel Rete virtuale:
az network private-endpoint create \
--name myPrivateEndpoint \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--subnet mySubnet \
--private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMariaDB/servers" --query "id" -o tsv) \
--group-id mariadbServer \
--connection-name myConnection
Configurare la zona DNS privato
Creare un dominio server DNS privato zone per MariDB e creare un collegamento di associazione con il Rete virtuale.
az network private-dns zone create --resource-group myResourceGroup \
--name "privatelink.mariadb.database.azure.com"
az network private-dns link vnet create --resource-group myResourceGroup \
--zone-name "privatelink.mariadb.database.azure.com"\
--name MyDNSLink \
--virtual-network myVirtualNetwork \
--registration-enabled false
#Query for the network interface ID
networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)
az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for MariaDB name
#Create DNS records
az network private-dns record-set a create --name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup
az network private-dns record-set a add-record --record-set-name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup -a <Private IP Address>
Nota
L'FQDN nell'impostazione DNS del cliente non si risolve nell'indirizzo IP privato configurato. Sarà necessario configurare una zona DNS per il nome di dominio completo configurato, come illustrato di seguito.
Connettersi a una VM da Internet
Connettersi alla macchina virtuale myVm da Internet come indicato di seguito:
Nella barra di ricerca del portale immettere myVm.
Scegliere il pulsante Connetti. Dopo aver selezionato il pulsante Connetti viene aperta la finestra Connetti alla macchina virtuale.
Selezionare Scarica file RDP. Azure crea e scarica nel computer un file Remote Desktop Protocol con estensione .rdp.
Aprire il file downloaded.rdp.
Quando richiesto, selezionare Connetti.
Immettere il nome utente e la password specificati al momento della creazione della macchina virtuale.
Nota
Potrebbe essere necessario selezionare Altre opzioni>Usa un altro account per specificare le credenziali immesse al momento della creazione della macchina virtuale.
Seleziona OK.
Durante il processo di accesso, è possibile che venga visualizzato un avviso relativo al certificato. Se si riceve un avviso relativo al certificato, selezionare Sì oppure Continua.
Quando viene visualizzato il desktop della macchina virtuale, ridurlo a icona per tornare al desktop locale.
Accedere al server MariaDB privatamente dalla macchina virtuale
Nel Desktop remoto di myVm1 aprire PowerShell.
Immetti
nslookup mydemoserver.privatelink.mariadb.database.azure.com
.Verrà visualizzato un messaggio simile al seguente:
Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: mydemoserver.privatelink.mariadb.database.azure.com Address: 10.1.3.4
Testare la connessione di collegamento privato per il server MariaDB usando qualsiasi client disponibile. Nell'esempio seguente ho usato MySQL Workbench per eseguire l'operazione.
In Nuova connessione immettere o selezionare queste informazioni:
Impostazione Valore Nome connessione Selezionare il nome della connessione desiderato. Hostname (Nome host) Selezionare mydemoserver.privatelink.mariadb.database.azure.com Username Immettere il nome utente come username@servername fornito durante la creazione del server MariaDB. Password Immettere una password specificata durante la creazione del server MariaDB. Selezionare Test Connessione ion o OK.
(Facoltativamente) Esplorare i database dal menu a sinistra e creare o eseguire query sulle informazioni dal database MariaDB
Chiudere la connessione Desktop remoto a myVm.
Pulire le risorse
Quando non sono più necessari, è possibile usare az group delete per rimuovere il gruppo di risorse e tutte le risorse in esso contenute:
az group delete --name myResourceGroup --yes
Passaggi successivi
Altre informazioni sull'endpoint privato di Azure