Erstellen und Verwalten eines privaten Links für Azure-Datenbank für MySQL – Flexibler Server mit Azure CLI
GILT FÜR: Azure Database for MySQL – Flexible Server
In diesem Artikel erfahren Sie, wie Sie Azure CLI verwenden, um einen privaten Endpunkt für den Zugriff auf azure Database for MySQL flexible Server von einem virtuellen Computer in einem VNet zu erstellen.
Starten von Azure Cloud Shell
Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Schritte in diesem Artikel durchführen können. Sie verfügt über vorinstallierte Standardtools und ist für die Verwendung mit Ihrem Konto konfiguriert.
Wählen Sie zum Öffnen von Cloud Shell oben rechts in einem Codeblock die Option Ausprobieren aus. Sie können Cloud Shell auch auf einer separaten Browserregisterkarte öffnen, indem Sie zu https://shell.azure.com/bash navigieren. Wählen Sie Kopieren aus, um die Codeblöcke zu kopieren. Fügen Sie die Blöcke anschließend in Cloud Shell ein, und wählen Sie Eingabe, um sie auszuführen.
Wenn Sie es vorziehen, die CLI lokal zu installieren und zu verwenden, müssen Sie für diesen Schnellstart mindestens Version 2.0 der Azure CLI verwenden. Führen Sie az --version
aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.
Voraussetzungen
Sie müssen sich mit dem Befehl az login bei Ihrem Konto anmelden. Beachten Sie die Eigenschaft id, die auf die Abonnement-ID für Ihr Azure-Konto verweist.
az login
Wählen Sie mithilfe des Befehls az account set das Abonnement unter Ihrem Konto aus. Beachten Sie in dem Befehl, dass der ID-Wert der Ausgabe von az login als Wert für das Argument subscription zu verwenden ist. Wenn Sie über mehrere Abonnements verfügen, wählen Sie das entsprechende Abonnement aus, in dem die Ressource fakturiert sein sollte. Verwenden Sie az account list, um alle Abonnements abzurufen.
az account set --subscription <subscription id>
Erstellen einer Ressourcengruppe
Bevor Sie eine Ressource erstellen, müssen Sie eine Ressourcengruppe zum Hosten des virtuellen Netzwerks erstellen. Erstellen Sie mit az group create eine Ressourcengruppe. Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort westeurope:
az group create --name myResourceGroup --location westeurope
Erstellen eines virtuellen Netzwerks
Erstellen Sie mit az network vnet create ein virtuelles Netzwerk. Bei diesem Beispiel wird ein virtuelles Standardnetzwerk mit dem Namen myVirtualNetwork und dem Subnetz mySubnet erstellt:
az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet
Deaktivieren von Richtlinien für den privaten Endpunkt im Subnetz
Azure stellt Ressourcen für ein Subnetz innerhalb eines virtuellen Netzwerks bereit. Daher müssen Sie das Subnetz erstellen oder aktualisieren, um die Netzwerkrichtlinien für den privaten Endpunkt im Subnetz zu deaktivieren. Aktualisieren Sie eine Subnetzkonfiguration mit dem Namen mySubnet mit az network vnet subnet update:
az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true
Erstellen des virtuellen Computers
Erstellen Sie einen virtuellen Computer mit az vm create
. Geben Sie bei entsprechender Aufforderung ein Kennwort als Anmeldeinformation für den virtuellen Computer ein. In diesem Beispiel wird ein virtueller Computer mit dem Namen myVm erstellt:
az vm create \
--resource-group myResourceGroup \
--name myVm \
--image Win2019Datacenter
Hinweis
Notieren Sie sich die öffentliche IP-Adresse des virtuellen Computers, da sie für die Verbindung über das Internet im nächsten Schritt erforderlich ist.
Erstellen der flexiblen Azure-Datenbank für MySQL-Serverinstanz mit öffentlichem Zugriff in der Ressourcengruppe
Erstellen Sie eine Azure-Datenbank für eine flexible Serverinstanz von MySQL mit öffentlichem Zugriff und fügen Sie die Client-IP-Adresse hinzu, um darauf zuzugreifen.
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>
Hinweis
In einigen Fällen befinden sich die flexible Azure-Datenbank für MySQL-Serverinstanz und das VNet-Subnetz in verschiedenen Abonnements. In diesen Fällen müssen Sie folgende Konfigurationen sicherstellen:
- Stellen Sie sicher, dass für beide Abonnements der Ressourcenanbieter Microsoft.DBforMySQL/flexibleServer registriert ist. Weitere Informationen finden Sie unter Azure-Ressourcenanbieter und -typen.
Erstellen des privaten Endpunkts
Erstellen Sie einen privaten Endpunkt für azure Database for MySQL flexiblen Server in Ihrem virtuellen Netzwerk:
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
Konfigurieren der privaten DNS-Zone
Erstellen Sie eine Privates DNS Zone für die Flexible Azure-Datenbank für MySQL Standard und erstellen Sie eine Zuordnungsverbindung mit dem virtuellen Netzwerk.
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>
Hinweis
Mit dem FQDN in der DNS-Einstellung des Kunden wird die konfigurierte private IP-Adresse nicht aufgelöst. Sie müssen eine DNS-Zone für den konfigurierten FQDN einrichten, wie hier gezeigt.
Herstellen einer Verbindung mit einem virtuellen Computer über das Internet
Stellen Sie wie folgt eine Verbindung mit dem virtuellen Computer myVm aus dem Internet her:
Geben Sie in der Suchleiste des Portals myVm ein.
Wählen Sie die Schaltfläche Verbinden aus. Nach dem Auswählen der Schaltfläche Verbinden wird Verbindung mit virtuellem Computer herstellen geöffnet.
Wählen Sie RDP-Datei herunterladen aus. Azure erstellt eine Remotedesktopprotokoll-Datei (RDP) und lädt sie auf Ihren Computer herunter.
Öffnen Sie die Datei downloaded.rdp.
- Wenn Sie dazu aufgefordert werden, wählen Sie Verbinden aus.
. Geben Sie den Benutzernamen und das Kennwort ein, den/das Sie beim Erstellen des virtuellen Computers angegeben haben. > [!HINWEIS] > Unter Umständen müssen Sie Weitere OptionenAnderesAnderes Konto verwenden auswählen, um die Anmeldeinformationen anzugeben, die Sie beim Erstellen des virtuellen Computers eingegeben haben.
Klickan Sie auf OK.
Während des Anmeldevorgangs wird unter Umständen eine Zertifikatwarnung angezeigt. Wählen Sie Ja oder Weiter aus, wenn Sie eine Zertifikatwarnung erhalten.
Sobald der VM-Desktop angezeigt wird, minimieren Sie ihn, um zu Ihrem lokalen Desktop zurückzukehren.
Zugriff auf die Azure-Datenbank für mySQL flexible Serverinstanz privat von der VM
Öffnen Sie auf dem Remotedesktop von myVM PowerShell.
Geben Sie
nslookup mydemomysqlserver.privatelink.mysql.database.azure.com
ein.Sie erhalten eine Meldung wie die folgende:
Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: mydemomysqlserver.privatelink.mysql.database.azure.com Address: 10.1.3.4
Testen Sie die Private Link-Verbindung für die azure-Datenbank für die flexible Serverinstanz von MySQL unter Verwendung eines beliebigen verfügbaren Clients. Im folgenden Beispiel wird die MySQL Workbench zum Ausführen des Vorgangs verwendet.
Geben Sie in Neue Verbindung die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung Wert Verbindungsname Wählen Sie den gewünschten Verbindungsnamen aus. Hostname Select mydemoserver.privatelink.mysql.database.azure.com Username Geben Sie den Benutzernamen als username@servername während der Erstellung der flexiblen Azure-Datenbank für MySQL-Serverinstanzen ein. Kennwort Geben Sie während der Azure-Datenbank für die Erstellung flexibler Serverinstanzen ein Kennwort ein. Wählen Sie Verbinden aus.
Durchsuchen Sie Datenbanken im linken Menü.
(Optional) Erstellen oder Abfragen von Informationen aus der Azure-Datenbank für mySQL flexible Serverdatenbank.
Schließen Sie die Remotedesktopverbindung mit myVm.
Bereinigen von Ressourcen
Wenn sie nicht mehr benötigt wird, können az group delete
Sie die Ressourcengruppe und alle darin vorhandenen Ressourcen entfernen:
az group delete --name myResourceGroup --yes
Zusätzliche Private Link-CLI-Befehle
Auflisten von per Private Link verknüpfbarer Unterressourcen (groupIds)
az network private-link-resource list --id {PrivateLinkResourceID} // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts
Auflisten privater Endpunktverbindungen zu einer bestimmten Ressource
az network private-endpoint-connection list --id {PrivateLinkResourceID}
Genehmigen privater Endpunktverbindungen zu einer bestimmten Ressource
az network private-endpoint-connection approve --id {PrivateEndpointConnectionID} --description "Approved!"
Ablehnen privater Endpunktverbindungen zu einer bestimmten Ressource
az network private-endpoint-connection reject --id {PrivateEndpointConnectionID} --description "Rejected!"
Löschen privater Endpunktverbindungen zu einer bestimmten Ressource
az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}
Nächste Schritte
- Erfahren Sie, wie Sie Private Link für Azure Database for MySQL Flexibler Server über das Azure-Portal konfigurieren.
- Erfahren Sie, wie Sie die Konnektivität mit azure Database für flexiblen Server für MySQL verwalten.
- Erfahren Sie, wie Sie azure Database für MySQL mit vom Kunden verwalteten Schlüsseln eine weitere Verschlüsselungsebene hinzufügen.
- Erfahren Sie, wie Sie die Microsoft Entra-Authentifizierung in Ihrer Azure-Datenbank für flexible Serverinstanz von MySQL konfigurieren und verwenden.