Private Link maken en beheren voor Azure Database for MySQL - Flexible Server met behulp van Azure CLI

VAN TOEPASSING OP: Azure Database for MySQL - Flexibele server

In dit artikel leert u hoe u Azure CLI gebruikt om een privé-eindpunt te maken voor toegang tot flexibele Azure Database for MySQL-server vanaf een VIRTUELE machine in een VNet.

Azure Cloud Shell starten

Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. De azure-standaardhulpprogramma's zijn vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.

Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. Als u naar https://shell.azure.com/bash gaat, kunt u Cloud Shell ook openen in een afzonderlijk browsertabblad. Selecteer Kopiëren om de codeblokken te kopiëren, plak deze in Cloud Shell en selecteer vervolgens Enter om de code uit te voeren.

Als u ervoor kiest om de CLI lokaal te installeren en te gebruiken, hebt u voor deze snelstartgids versie 2.0 of hoger van Azure CLI nodig. Voer az --version uit om de versie te bekijken. Zie Azure CLI installeren als u de installatie of upgrade wilt uitvoeren.

Vereisten

U moet zich aanmelden bij uw account met behulp van de opdracht az login . Zoals u kunt zien, verwijst de eigenschap id naar de Abonnements-id voor uw Azure-account.

az login

Selecteer het specifieke abonnement in uw account met de opdracht az account set. Noteer in de opdracht de id-waarde uit de az login-uitvoer die moet worden gebruikt als de waarde voor het argument abonnement . Als u meerdere abonnementen hebt, kiest u het juiste abonnement waarin de resource moet worden gefactureerd. Gebruik az account list om al uw abonnementen op te halen.

az account set --subscription <subscription id>

Een brongroep maken

Voordat u een resource maakt, moet u een resourcegroep maken om het virtuele netwerk te hosten. Maak een resourcegroep maken met az group create. In dit voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie westeurope :

az group create --name myResourceGroup --location westeurope

Een virtueel netwerk maken

Maak een Virtual Network met az network vnet create. In dit voorbeeld wordt een standaard Virtual Network gemaakt met de naam myVirtualNetwork met één subnet genaamd mySubnet:

az network vnet create \
 --name myVirtualNetwork \
 --resource-group myResourceGroup \
 --subnet-name mySubnet

Beleid voor privé-eindpunten van subnet uitschakelen

Azure implementeert resources in een subnet binnen een virtueel netwerk, dus u moet het subnet maken of bijwerken om beleid voor privé-eindpuntnetwerk uit te schakelen. Update een subnet-configuratie met de naam mySubnet met az network vnet subnet update:

az network vnet subnet update \
 --name mySubnet \
 --resource-group myResourceGroup \
 --vnet-name myVirtualNetwork \
 --disable-private-endpoint-network-policies true

De VM maken

Een virtuele machine maken met az vm create. Wanneer u hierom wordt gevraagd, geeft u een wachtwoord op dat moet worden gebruikt als de aanmeldingsreferenties voor de VM. In het volgende voorbeeld wordt een VM gemaakt met de naam myVm:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

Notitie

Noteer het openbare IP-adres van de virtuele machine omdat het nodig is om verbinding te maken vanaf internet in de volgende stap.

Het exemplaar van de flexibele Azure Database for MySQL-server maken met openbare toegang in de resourcegroep

Maak een exemplaar van een flexibele Azure Database for MySQL-server met openbare toegang en voeg het IP-adres van de client toe om er toegang toe te krijgen.

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>

Notitie

In sommige gevallen bevinden het exemplaar van de flexibele Azure Database for MySQL-server en het VNet-subnet zich in verschillende abonnementen. In deze gevallen moet u de volgende configuraties controleren:

  • Zorg ervoor dat voor beide abonnementen de resourceprovider Microsoft.DBforMySQL/flexibleServer is geregistreerd. Raadpleeg resource-manager-registratie voor meer informatie.

Privé-eindpunt maken

Maak een privé-eindpunt voor een flexibele Azure Database for MySQL-server in uw virtuele netwerk:

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

Privé-DNS-zone configureren

Maak een Privé-DNS Zone voor het flexibele Server-domein van Azure Database for MySQL en maak een koppelingskoppeling met het virtuele netwerk.

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>

Notitie

De FQDN in de DNS-instelling van de klant lost het geconfigureerde privé-IP-adres niet op. U moet een DNS-zone instellen voor de geconfigureerde FQDN, zoals hier wordt weergegeven.

Verbinding maken met een virtuele machine via internet

Maak als volgt verbinding met de VM myVm van Internet:

  1. Voer in de zoekbalk van de portal myVm in.

  2. Selecteer de knop Verbinding maken. Na het selecteren van de knop Verbinden wordt Verbinden met virtuele machine geopend.

  3. Selecteer RDP-bestand downloaden. Azure maakt een Remote Desktop Protocol-bestand (.rdp) en downloadt het bestand naar uw computer.

  4. Open het downloaded.rdp-bestand.

    1. Selecteer Verbinding maken wanneer hierom wordt gevraagd.

. Voer de gebruikersnaam en het wachtwoord in die u hebt opgegeven bij het maken van de virtuele machine. >[! OPMERKING] > Mogelijk moet u Meer optiesSelecteren Een ander account gebruiken om de referenties op te geven die u hebt ingevoerd bij het maken van de virtuele machine.

  1. Selecteer OK.

  2. Er wordt mogelijk een certificaatwaarschuwing weergegeven tijdens het aanmelden. Selecteer Ja of Doorgaan als u een certificaatwaarschuwing ontvangt.

  3. Zodra het VM-bureaublad wordt weergegeven, minimaliseert u deze om terug te keren naar uw lokale bureaublad.

Toegang krijgen tot het exemplaar van de flexibele Azure Database for MySQL-server privé vanaf de VIRTUELE machine

  1. Open PowerShell in het extern bureaublad van myVM.

  2. Voer nslookup mydemomysqlserver.privatelink.mysql.database.azure.com in.

    U ontvangt een bericht dat er ongeveer als volgt uitziet:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemomysqlserver.privatelink.mysql.database.azure.com
    Address:  10.1.3.4
    
  3. Test de private link-verbinding voor het flexibele azure Database for MySQL-serverexemplaren met behulp van een beschikbare client. In het volgende voorbeeld wordt MySQL Workbench gebruikt om de bewerking uit te voeren.

  4. Voer in Nieuwe verbinding deze gegevens in of selecteer deze:

    Instelling Weergegeven als
    Naam verbinding Selecteer de verbindingsnaam van uw keuze.
    Hostnaam Selecteer mydemoserver.privatelink.mysql.database.azure.com
    Username Voer de gebruikersnaam in als username@servername opgegeven tijdens het maken van het exemplaar van de flexibele server van Azure Database for MySQL.
    Password Voer een wachtwoord in dat is opgegeven tijdens het maken van de flexibele Server-instantie van Azure Database for MySQL.
  5. Selecteer Verbinding maken.

  6. Blader in het menu aan de linkerkant door databases.

  7. (Optioneel) Informatie maken of opvragen uit de flexibele Server-database van Azure Database for MySQL.

  8. Sluit de externe bureaubladverbinding met myVm.

Resources opschonen

Wanneer u deze niet meer nodig hebt, kunt u de az group delete resourcegroep en alle resources verwijderen die deze heeft:

az group delete --name myResourceGroup --yes

Privékoppelingbare subresources weergeven (groupIds)

az network private-link-resource list --id {PrivateLinkResourceID}  // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts

Privé-eindpuntverbindingen weergeven voor een bepaalde resource

az network private-endpoint-connection list --id {PrivateLinkResourceID}

Privé-eindpuntverbindingen goedkeuren voor een bepaalde resource

az network private-endpoint-connection approve --id {PrivateEndpointConnectionID}  --description "Approved!"

Privé-eindpuntverbindingen voor een bepaalde resource weigeren

az network private-endpoint-connection reject --id {PrivateEndpointConnectionID}  --description "Rejected!"

Privé-eindpuntverbindingen voor een bepaalde resource verwijderen

az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}

Volgende stappen

  • Leer hoe u [private link configureert voor een flexibele Azure Database for MySQL-server vanuit Azure Portal.
  • Meer informatie over het beheren van connectiviteit met flexibele Azure Database for MySQL-server.
  • Meer informatie over het toevoegen van een andere versleutelingslaag aan een flexibele Azure Database for MySQL-server met behulp van door de klant beheerde sleutels.
  • Meer informatie over het configureren en gebruiken van Microsoft Entra-verificatie op uw exemplaar van flexibele Azure Database for MySQL-server.