Erstellen und Verwalten von Private Link für Azure Database for MySQL – flexibler Server mithilfe von Azure CLI
In diesem Artikel erfahren Sie, wie Sie mithilfe der Azure CLI einen privaten Endpunkt für den Zugriff auf eine Instanz von Azure Database for MySQL – Flexibler Server von einer VM aus in einem VNet 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 eine VM 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 Instanz von Azure Database for MySQL – Flexibler Server mit öffentlichem Zugriff in der Ressourcengruppe
Erstellen Sie eine Instanz von Azure Database for MySQL – Flexibler Server mit öffentlichem Zugriff und fügen Sie die Client-IP-Adresse für den Zugriff auf den Server hinzu.
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 Serverinstanz von Azure Database for MySQL und das VNet-Subnetz in unterschiedlichen 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 – Flexibler Server in Ihrer Virtual Network-Instanz:
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 private DNS-Zone für die Domäne von Azure Database for MySQL – Flexibler Server, und erstellen Sie eine Zuordnungsverknüpfung mit der Virtual Network-Instanz.
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.
> [!NOTE]
> Unter Umständen müssen Sie Weitere Optionen Anderes Konto verwenden auswählen, um die Anmeldeinformationen anzugeben, die Sie beim Erstellen der VM eingegeben haben.
Klicken 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 Instanz von Azure-Datenbank for MySQL – flexibler Server 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 Instanz von Azure Database for MySQL – flexibler Server mithilfe 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 Benutzername Geben Sie den Benutzernamen als benutzername@servername ein, der während der Erstellung der Instanz von Azure Database for MySQL – Flexibler Server bereitgestellt wurde. Kennwort Geben Sie ein Kennwort ein, das während der Erstellung der Instanz für Azure Database for MySQL – flexibler Server bereitgestellt wurde. Wählen Sie Verbinden.
Durchsuchen Sie Datenbanken im linken Menü.
(Optional) Erstellen oder Abfragen von Informationen aus der Datenbank von Azure Database for MySQL – Flexibler Server.
Schließen Sie die Remotedesktopverbindung mit myVm.
Bereinigen von Ressourcen
Wenn die Ressourcengruppe und alle enthaltenen Ressourcen nicht mehr benötigt werden, können Sie diese mit az group delete
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}
Zugehöriger Inhalt
- Erstellen und Verwalten von Private Link für Azure Database for MySQL – Flexibler Server über das Portal
- Verwalten der Konnektivität
- Datenverschlüsselung mit kundenseitig verwalteten Schlüsseln für Azure Database for MySQL – Flexibler Server
- Microsoft Entra-Authentifizierung für Azure Database for MySQL – Flexibler Server