Creare e gestire collegamento privato per Database di Azure per MySQL - Server flessibile tramite l'interfaccia della riga di comando
SI APPLICA A: Database di Azure per MySQL - Server flessibile
Questo articolo illustra come usare l'interfaccia della riga di comando di Azure per creare un endpoint privato per accedere a un server flessibile Database di Azure per MySQL da una macchina virtuale in una rete virtuale.
Avviare Azure Cloud Shell
Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Gli strumenti di Azure standard sono preinstallati e configurati per l'uso con l'account.
Per aprire Cloud Shell, selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile aprire Cloud Shell in una scheda separata del browser visitando https://shell.azure.com/bash. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.
Se si preferisce installare e usare l'interfaccia della riga di comando in locale, per questo argomento di avvio rapido è necessaria l'interfaccia della riga di comando di Azure versione 2.0 o successiva. Eseguire az --version
per trovare la versione. Vedere Installare l'interfaccia della riga di comando di Azure se è necessario installare o aggiornare.
Prerequisiti
È necessario accedere all'account usando il comando az login . Annotare la proprietà id che fa riferimento all'ID sottoscrizione per l'account Azure.
az login
Selezionare la sottoscrizione specifica nell'account tramite il comando az account set. Nel comando prendere nota del valore id dell'output az login da usare come valore per l'argomento della sottoscrizione . Se si possiedono più sottoscrizioni, scegliere quella appropriata in cui verrà fatturata la risorsa. Usare az account list per ottenere tutte le sottoscrizioni.
az account set --subscription <subscription id>
Creare un gruppo di risorse
Prima di creare una risorsa, è necessario creare un gruppo di risorse per ospitare la Rete virtuale. Come prima cosa creare un gruppo di risorse con az group create. In questo esempio viene creato un gruppo di risorse denominato myResourceGroup nella posizione 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 VM
Creare una macchina virtuale con 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
Registrare l'indirizzo IP pubblico della macchina virtuale perché è necessario connettersi da Internet nel passaggio successivo.
Creare il server flessibile MySQL con accesso pubblico nel gruppo di risorse
Creare un server flessibile MySQL con accesso pubblico e aggiungere l'indirizzo IP client per accedervi.
az mysql flexible-server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--public-access <my_client_ip>
Nota
In alcuni casi, il server flessibile Database di Azure per MySQL e la subnet della rete virtuale si trovano in sottoscrizioni diverse. In questi casi, è necessario assicurarsi le configurazioni seguenti:
- Assicurarsi che entrambe le sottoscrizioni dispongano del provider di risorse Microsoft.DBforMySQL/flexibleServer registrato. Per altre informazioni, vedere resource-manager-registration.
Creare l'endpoint privato
Creare un endpoint privato per il server flessibile 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/flexibleServers" --query "id" -o tsv) \
--group-id mysqlServer \
--connection-name myConnection \
--location location
Configurare la zona DNS privato
Creare un dominio server flessibile DNS privato zone per MySQL e creare un collegamento di associazione con l'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 MySQL flexible server 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
Il nome di dominio completo nell'impostazione DNS del cliente non risolve l'IP privato configurato. È necessario configurare una zona DNS per il nome di dominio completo configurato, come illustratodi 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 scelteUsare un account diverso per specificare le credenziali immesse al momento della creazione della macchina virtuale.
Selezionare OK.
Durante il processo di accesso potrebbe essere visualizzato un avviso relativo al certificato. Selezionare Sì o Continua se viene visualizzato un avviso del certificato.
Dopo aver visualizzato il desktop della macchina virtuale, ridurre al minimo il valore per tornare al desktop locale.
Accedere al server MySQL privatamente dalla macchina virtuale
Nel Desktop remoto di myVm1 aprire PowerShell.
Immettere
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
Testare la connessione al collegamento privato per il server flessibile MySQL usando qualsiasi client disponibile. Nell'esempio seguente è stato usato MySQL Workbench per eseguire l'operazione.
In Nuova connessione immettere o selezionare queste informazioni:
Impostazione Valore Connection Name (Nome connessione) Selezionare il nome di connessione desiderato. nomehost Selezionare mydemoserver.privatelink.mysql.database.azure.com Username Immettere il nome utente come username@servername fornito durante la creazione del server flessibile MySQL. Password Immettere una password fornita durante la creazione del server flessibile MySQL. Selezionare Connetti.
Esplorare i database dal menu a sinistra.
(Facoltativamente) Creare o eseguire query sulle informazioni dal database MySQL.
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
Comandi aggiuntivi dell'interfaccia della riga di comando di collegamento privato
Elencare le sotto-risorse collegabili private (groupIds)
az network private-link-resource list --id {PrivateLinkResourceID} // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts
Elencare le connessioni endpoint private in una determinata risorsa
az network private-endpoint-connection list --id {PrivateLinkResourceID}
Approvare le connessioni dell'endpoint privato in una determinata risorsa
az network private-endpoint-connection approve --id {PrivateEndpointConnectionID} --description "Approved!"
Rifiutare le connessioni endpoint private in una determinata risorsa
az network private-endpoint-connection reject --id {PrivateEndpointConnectionID} --description "Rejected!"
Eliminare le connessioni endpoint private in una determinata risorsa
az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}
Passaggi successivi
- Informazioni su come [configurare il collegamento privato per Database di Azure per MySQL server flessibile dall'portale di Azure.
- Informazioni su come gestire la connettività al server flessibile Database di Azure per MySQL.
- Informazioni su come aggiungere un altro livello di crittografia al server flessibile Database di Azure per MySQL tramite Chiavi gestite dal cliente.
- Informazioni su come configurare e usare l'autenticazione di Azure AD nel server flessibile Database di Azure per MySQL.