Share via


Tutorial: Herstellen einer Verbindung mit einem Azure SQL-Server über einen privaten Azure-Endpunkt mithilfe der Azure CLI

Der private Azure-Endpunkt ist der grundlegende Baustein für Private Link in Azure. Mit ihm können Azure-Ressourcen wie virtuelle Computer (VMs) privat mit Private Link-Ressourcen kommunizieren.

Diagramm: Ressourcen, die im Schnellstart „Privater Endpunkt“ erstellt wurden

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines virtuellen Netzwerks und eines Bastion-Hosts.
  • Erstellen Sie eine VM.
  • Erstellen eines Azure SQL-Servers und eines privaten Endpunkts.
  • Testen der Konnektivität mit dem privaten Endpunkt für SQL Server

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
  • Melden Sie sich beim Azure-Portal an, und führen Sie az login aus, um sich zu vergewissern, dass Ihr Abonnement aktiv ist.
  • Überprüfen Sie Ihre Version der Azure-Befehlszeilenschnittstelle, indem Sie in einem Terminal oder Befehlsfenster az --versionausführen. Die neueste Version finden Sie unter Versionshinweise für die Azure CLI.
    • Sollten Sie nicht über die neueste Version verfügen, aktualisieren Sie Ihre Installation wie unter Installieren der Azure CLI beschrieben.

Erstellen einer Ressourcengruppe

Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.

Erstellen Sie mit az group create eine Ressourcengruppe:

  • Name: CreateSQLEndpointTutorial-rg
  • Standort: eastus
az group create \
    --name CreateSQLEndpointTutorial-rg \
    --location eastus

Erstellen eines virtuellen Netzwerks und eines Bastion-Hosts

In diesem Abschnitt erstellen Sie ein virtuelles Netzwerk, ein Subnetz und einen Bastion-Host.

Der Bastion-Host wird verwendet, um eine sichere Verbindung mit dem virtuellen Computer herzustellen, um den privaten Endpunkt zu testen.

Erstellen Sie mit az network vnet create ein virtuelles Netzwerk:

  • Name: myVNet
  • Adresspräfix: 10.0.0.0/16
  • Subnetzname: myBackendSubnet
  • Subnetzpräfix: 10.0.0.0/24
  • Ressourcengruppe: CreateSQLEndpointTutorial-rg
  • Standort: eastus
az network vnet create \
    --resource-group CreateSQLEndpointTutorial-rg\
    --location eastus \
    --name myVNet \
    --address-prefixes 10.0.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.0.0.0/24

Aktualisieren Sie das Subnetz mit az network vnet subnet update, um für den privaten Endpunkt Netzwerkrichtlinien für private Endpunkte zu deaktivieren.

az network vnet subnet update \
    --name myBackendSubnet \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet \
    --disable-private-endpoint-network-policies true

Verwenden Sie az network public-ip create, um eine öffentliche IP-Adresse für den Bastionhost zu erstellen:

  • Erstellen einer standardmäßigen zonenredundanten öffentlichen IP-Adresse namens myBastionIP
  • Ort: CreateSQLEndpointTutorial-rg
az network public-ip create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionIP \
    --sku Standard

Erstellen Sie mit az network vnet subnet create ein Bastionsubnetz:

  • Name: AzureBastionSubnet
  • Adresspräfix: 10.0.1.0/24
  • Virtuelles Netzwerk: myVNet
  • Ressourcengruppe: CreateSQLEndpointTutorial-rg
az network vnet subnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.0.1.0/24

Erstellen Sie mit az network bastion create einen Bastionhost:

  • Name: myBastionHost
  • Ort: CreateSQLEndpointTutorial-rg
  • Der öffentlichen IP-Adresse myBastionIP zugeordnet
  • Dem virtuellen Netzwerk myVNet zugeordnet
  • Standort: eastus
az network bastion create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

Die Bereitstellung des Azure Bastion-Hosts kann einige Minuten dauern.

Erstellen eines virtuellen Testcomputers

In diesem Abschnitt erstellen Sie einen virtuellen Computer zum Testen des privaten Endpunkts.

Erstellen Sie mit az vm create einen virtuellen Computer. Geben Sie bei entsprechender Aufforderung ein Kennwort als Anmeldeinformation für den virtuellen Computer ein:

  • Name: myVM
  • Ort: CreateSQLEndpointTutorial-rg
  • Netzwerk: myVNet
  • Subnetz: myBackendSubnet
  • Serverimage: Win2019Datacenter
az vm create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myVM \
    --image Win2019Datacenter \
    --public-ip-address "" \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --admin-username azureuser

Hinweis

Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.

Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:

  • Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
  • Die VM wird im Backendpool eines Standardlastenausgleichs platziert (mit oder ohne Ausgangsregeln).
  • Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.

VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.

Weitere Informationen zu ausgehenden Verbindungen in Azure finden Sie unter Standardzugriff in ausgehender Richtung und Verwenden von SNAT (Source Network Address Translation) für ausgehende Verbindungen.

Erstellen eines Azure SQL-Servers

In diesem Abschnitt erstellen Sie einen SQL-Server und eine Datenbank.

Verwenden Sie az sql server create zum Erstellen eines SQL-Servers:

  • Ersetzen Sie <sql-server-name> durch einen eindeutigen Servernamen.
  • Ersetzen Sie <your-password> durch Ihr Kennwort.
  • Ort: CreateSQLEndpointTutorial-rg
  • Region: eastus
az sql server create \
    --name <sql-server-name> \
    --resource-group CreateSQLEndpointTutorial-rg \
    --location eastus \
    --admin-user sqladmin \
    --admin-password <your-password>

Verwenden Sie az sql db create zum Erstellen einer Datenbank:

  • Name: mydatabase
  • Ort: CreateSQLEndpointTutorial-rg
  • Ersetzen Sie <sql-server-name> durch einen eindeutigen Servernamen.
az sql db create \
    --resource-group CreateSQLEndpointTutorial-rg  \
    --server <sql-server-name> \
    --name myDataBase \
    --sample-name AdventureWorksLT

Erstellen eines privaten Endpunkts

In diesem Abschnitt erstellen Sie den privaten Endpunkt.

Platzieren Sie mithilfe von az sql server list die Ressourcen-ID des SQL-Servers in einer Shellvariablen.

Erstellen Sie mithilfe von az network private-endpoint create den Endpunkt und die Verbindung:

  • Name: myPrivateEndpoint
  • Ressourcengruppe: CreateSQLEndpointTutorial-rg
  • Virtuelles Netzwerk: myVNet
  • Subnetz: myBackendSubnet
  • Verbindung mit dem Namen myConnection
id=$(az sql server list \
    --resource-group CreateSQLEndpointTutorial-rg \
    --query '[].[id]' \
    --output tsv)

az network private-endpoint create \
    --name myPrivateEndpoint \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet --subnet myBackendSubnet \
    --private-connection-resource-id $id \
    --group-ids sqlServer \
    --connection-name myConnection  

Konfigurieren der privaten DNS-Zone

In diesem Abschnitt erstellen und konfigurieren Sie die private DNS-Zone mithilfe von az network private-dns zone create.

Verwenden Sie az network private-dns link vnet create zum Erstellen der virtuellen Netzwerkverknüpfung mit der DNS-Zone.

Sie erstellen eine DNS-Zonengruppe mit az network private-endpoint dns-zone-group create.

  • Zone mit dem Namen privatelink.database.windows.net
  • Virtuelles Netzwerk: myVNet
  • Ressourcengruppe: CreateSQLEndpointTutorial-rg
  • DNS-Link mit dem Namen myDNSLink
  • Zugeordnet zu: myPrivateEndpoint
  • Zonengruppe: MyZoneGroup
az network private-dns zone create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name "privatelink.database.windows.net"

az network private-dns link vnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --zone-name "privatelink.database.windows.net" \
    --name MyDNSLink \
    --virtual-network myVNet \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
   --resource-group CreateSQLEndpointTutorial-rg \
   --endpoint-name myPrivateEndpoint \
   --name MyZoneGroup \
   --private-dns-zone "privatelink.database.windows.net" \
   --zone-name sql

Testen der Verbindung mit dem privaten Endpunkt

In diesem Abschnitt verwenden Sie den virtuellen Computer, den Sie im vorherigen Schritt erstellt haben, um über den privaten Endpunkt eine Verbindung mit dem SQL-Server herzustellen.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie Ressourcengruppen im linken Navigationsbereich aus.

  3. Wählen Sie CreateSQLEndpointTutorial-rg aus.

  4. Wählen Sie myVM aus.

  5. Wählen Sie auf der Seite „Übersicht“ für myVM die Option Verbinden und dann Bastion aus.

  6. Wählen Sie die blaue Schaltfläche Bastion verwenden aus.

  7. Geben Sie Benutzernamen und Kennwort ein, die Sie beim Erstellen des virtuellen Computers festgelegt haben.

  8. Öffnen Sie Windows PowerShell auf dem Server, nachdem Sie eine Verbindung hergestellt haben.

  9. Geben Sie nslookup <sqlserver-name>.database.windows.net ein. Ersetzen Sie <sqlserver-name> durch den Namen des SQL-Servers, den Sie in den vorherigen Schritten erstellt haben. Sie erhalten eine Meldung ähnlich der folgenden:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    mysqlserver8675.privatelink.database.windows.net
    Address:  10.0.0.5
    Aliases:  mysqlserver8675.database.windows.net
    

    Als Name für den SQL-Server wird die private IP-Adresse 10.0.0.5 zurückgegeben. Diese Adresse befindet sich in dem Subnetz des virtuellen Netzwerks, das Sie zuvor erstellt haben.

  10. Installieren Sie SQL Server Management Studio auf myVM.

  11. Öffnen Sie SQL Server Management Studio.

  12. Geben Sie unter Mit Server verbinden diese Informationen ein, oder wählen Sie sie aus:

    Einstellung Wert
    Servertyp Wählen Sie Datenbank-Engine aus.
    Servername Geben Sie <sql-server-name>.database.windows.net ein.
    Authentifizierung Wählen Sie SQL Server-Authentifizierung aus.
    Benutzername Geben Sie den Benutzernamen ein, den Sie bei der Erstellung des Servers eingegeben haben.
    Kennwort Geben Sie das Kennwort ein, das Sie bei der Erstellung des Servers eingegeben haben.
    Kennwort speichern Wählen Sie Ja aus.
  13. Wählen Sie Verbinden.

  14. Durchsuchen Sie Datenbanken im linken Menü.

  15. (Optional) Erstellen Sie die Informationen unter mysqldatabase, bzw. rufen Sie sie ab.

  16. Trennen Sie die Bastionhostverbindung mit myVM.

Bereinigen von Ressourcen

Wenn Sie Ihre Arbeit mit dem privaten Endpunkt, dem SQL-Server und dem virtuellen Computer abgeschlossen haben, löschen Sie die Ressourcengruppe und alle darin enthaltenen Ressourcen:

az group delete \
    --name CreateSQLEndpointTutorial-rg

Nächste Schritte

In diesem Tutorial haben Sie Folgendes erstellt:

  • virtuelles Netzwerk und Bastionhost
  • Virtuellen Computer
  • Azure SQL-Server mit privatem Endpunkt

Sie haben den virtuellen Computer verwendet, um die Konnektivität mit dem SQL-Server über den privaten Endpunkt auf sichere Weise zu testen.

Im nächsten Schritt können Sie sich das Architekturszenario für eine Web-App mit privater Verbindung mit Azure SQL-Datenbank ansehen. Darin wird eine Webanwendung außerhalb des virtuellen Netzwerks mit dem privaten Endpunkt einer Datenbank verbunden.