Condividi tramite


Creare e gestire collegamento privato per Database di Azure per MySQL tramite l'interfaccia della riga di comando

SI APPLICA A: Database di Azure per MySQL - Server singolo

Importante

Database di Azure per MySQL server singolo si trova nel percorso di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per MySQL server flessibile. Per altre informazioni sulla migrazione a Database di Azure per MySQL server flessibile, vedere Che cosa accade a Database di Azure per MySQL server singolo?

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 MySQL con un endpoint privato di Azure.

Nota

La funzionalità di collegamento privato è disponibile solo per i server Database di Azure per MySQL 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.

Prerequisiti

  • 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

Nota

L'indirizzo IP pubblico della VM. Questo indirizzo viene usato per connettersi alla macchina virtuale da Internet nel passaggio successivo.

Creare un server Database di Azure per MySQL

Creare un Database di Azure per MySQL con il comando az mysql server create. Tenere presente che il nome del server MySQL 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 mysql 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 MySQL 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.DBforMySQL registrato. Per altre informazioni, fare riferimento a resource-manager-registration.

Creare l'endpoint privato

Creare un endpoint privato per il server MySQL 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.DBforMySQL/servers" --query "id" -o tsv) \    
    --group-id mysqlServer \  
    --connection-name myConnection  

Configurare la zona DNS privato

Creare una zona DNS privato per il dominio del server MySQL e creare un collegamento di associazione con il Rete virtuale.

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mysql.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mysql.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 MySQL name 

# Create DNS records 
az network private-dns record-set a create --name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.mysql.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:

  1. Nella barra di ricerca del portale immettere myVm.

  2. Scegliere il pulsante Connetti. Dopo aver selezionato il pulsante Connetti viene aperta la finestra Connetti alla macchina virtuale.

  3. Selezionare Scarica file RDP. Azure crea e scarica nel computer un file Remote Desktop Protocol con estensione .rdp.

  4. Aprire il file downloaded.rdp.

    1. Quando richiesto, selezionare Connetti.

    2. 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.

  5. Seleziona OK.

  6. Durante il processo di accesso, è possibile che venga visualizzato un avviso relativo al certificato. Se si riceve un avviso relativo al certificato, selezionare oppure Continua.

  7. Quando viene visualizzato il desktop della macchina virtuale, ridurlo a icona per tornare al desktop locale.

Accedere al server MySQL privatamente dalla macchina virtuale

  1. Nel Desktop remoto di myVm1 aprire PowerShell.

  2. Immetti nslookup mydemomysqlserver.privatelink.mysql.database.azure.com.

    Verrà visualizzato un messaggio simile al seguente:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemomysqlserver.privatelink.mysql.database.azure.com
    Address:  10.1.3.4
    
  3. Testare la connessione di collegamento privato per il server MySQL usando qualsiasi client disponibile. Nell'esempio seguente ho usato MySQL Workbench per eseguire l'operazione.

  4. In Nuova connessione immettere o selezionare queste informazioni:

    Impostazione Valore
    Nome connessione Selezionare il nome della connessione desiderato.
    Hostname (Nome host) Selezionare mydemoserver.privatelink.mysql.database.azure.com
    Username Immettere il nome utente come username@servername fornito durante la creazione del server MySQL.
    Password Immettere una password specificata durante la creazione del server MySQL.
  5. Selezionare Connetti.

  6. Esplorare i database dal menu a sinistra.

  7. (Facoltativamente) Creare o eseguire query sulle informazioni dal database MySQL.

  8. 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