Tutorial: Zugreifen auf eine lokale SQL Server-Instanz über ein verwaltetes Data Factory-VNet unter Verwendung eines privaten Endpunkts

In dieser Anleitung erfahren Sie, wie Sie über das Azure-Portal den Private Link Service einrichten und von einem verwalteten virtuellen Netzwerk aus über einen privaten Endpunkt auf den lokalen SQL Server zugreifen. Die Verwendung eines verwalteten virtuellen Netzwerks stellt sicher, dass der gesamte Datenverkehr von und zu Ihrer lokalen SQL-Quelle über Ihren eigenen privaten Endpunkt läuft. Dadurch wird der Zugang zur öffentlichen Cloud durch eine zusätzliche Sicherheits- und Isolierungsebene geschützt. Die unten genannten Ressourcen sind für den Support dieses Szenarios erforderlich.

Hinweis

Mit der in diesem Artikel vorgestellten Lösung wird SQL Server-Konnektivität beschrieben, Sie können einen ähnlichen Ansatz aber auch verwenden, um andere verfügbare lokale Connectors zu verbinden und abzufragen, die in Azure Data Factory unterstützt werden.

Screenshot: Zugriffsmodell von SQL Server

Voraussetzungen

Erstellen von Subnetzen für Ressourcen

Verwenden Sie das Portal, um Subnetze in Ihrem virtuellen Netzwerk zu erstellen.

Subnet Beschreibung
be-subnet Subnetz für Back-End-Server
fe-subnet Subnetz für einen internen Standard-Lastenausgleich
pls-subnet Subnetz für den Private Link-Dienst

Screenshot: Subnetze

Schnellstart: Erstellen einer Load Balancer Standard-Instanz mit Azure PowerShell

Erstellen Sie über das Portal einen internen Lastenausgleich im Tarif „Standard“.

  1. Wählen Sie links oben auf dem Bildschirm die Optionen Ressource erstellen > Netzwerk > Lastenausgleich aus.

  2. Geben Sie auf der Seite Lastenausgleich erstellen auf der Registerkarte Grundlagen die folgenden Informationen ein, bzw. wählen Sie sie aus:

    Einstellung Wert
    Subscription Wählen Sie Ihr Abonnement aus.
    Ressourcengruppe Wählen Sie Ihre Ressourcengruppe aus.
    Name Geben Sie myLoadBalancer ein.
    Region Wählen Sie USA, Osten aus.
    type Wählen Sie Intern aus.
    SKU Wählen Sie Standard aus.
    Virtuelles Netzwerk Wählen Sie Ihr virtuelles Netzwerk aus.
    Subnet Wählen Sie das im vorherigen Schritt erstellte Subnetz fe-subnet aus.
    IP-Adresszuweisung Wählen Sie Dynamisch aus.
    Verfügbarkeitszone Wählen Sie Zonenredundant aus.
  3. Übernehmen Sie bei den anderen Einstellungen die Standardwerte, und wählen Sie Überprüfen + erstellen aus.

  4. Wählen Sie auf der Registerkarte Bewerten + erstellen die Option Erstellen aus.

    Screenshot: Schritt zum Erstellen des Standard-Lastenausgleichs

Erstellen von Load Balancer-Ressourcen

Erstellen eines Back-End-Pools

Der Back-End-Adresspool enthält die IP-Adressen der virtuellen NICs, die mit dem Lastenausgleich verbunden sind.

Erstellen Sie den Back-End-Adresspool myBackendPool, um virtuelle Computer für den Lastenausgleich von Internetdatenverkehr einzubeziehen.

  1. Wählen Sie im linken Menü Alle Dienste > Alle Ressourcen und anschließend in der Ressourcenliste den Eintrag myLoadBalancer aus.
  2. Wählen Sie unter Einstellungen die Option Back-End-Pools und dann Hinzufügen aus.
  3. Geben Sie auf der Seite Back-End-Pool hinzufügen die Zeichenfolge myBackendPool als Name für Ihren Back-End-Pool ein, und wählen Sie anschließend Hinzufügen aus.

Erstellen eines Integritätstests

Der Status Ihrer App wird vom Lastenausgleich mithilfe eines Integritätstests überwacht.

Abhängig von der Reaktion auf Integritätsüberprüfungen werden der Load Balancer-Instanz durch den Integritätstest virtuelle Computer hinzugefügt oder daraus entfernt.

Erstellen Sie zur Überwachung der Integrität der virtuellen Computer einen Integritätstest mit dem Namen myHealthProbe.

  1. Wählen Sie im linken Menü Alle Dienste > Alle Ressourcen und anschließend in der Ressourcenliste den Eintrag myLoadBalancer aus.

  2. Wählen Sie unter Einstellungen die Option Integritätstests und dann Hinzufügen aus.

    Einstellung Wert
    Name Geben Sie myHealthProbe ein.
    Protocol Wählen Sie TCP aus.
    Port Geben Sie „22“ ein.
    Intervall Geben Sie für das Intervall den Wert 15 (Sekunden zwischen Testversuchen) ein.
    Fehlerhafter Schwellenwert Wählen Sie 2 als Wert für den Fehlerschwellenwert bzw. als Anzahl aufeinander folgender Testfehler aus, die auftreten müssen, damit ein virtueller Computer als fehlerhaft eingestuft wird.
  3. Übernehmen Sie die übrigen Standardeinstellungen, und wählen Sie OK aus.

Erstellen einer Load Balancer-Regel

Mithilfe einer Load Balancer-Regel wird definiert, wie Datenverkehr auf die virtuellen Computer verteilt werden soll. Sie definieren die Front-End-IP-Konfiguration für den eingehenden Datenverkehr und den Back-End-IP-Pool für den Empfang des Datenverkehrs. Quell- und Zielport werden in der Regel definiert.

In diesem Abschnitt wird eine Lastenausgleichsregel mit folgenden Merkmalen erstellt:

  1. Wählen Sie im linken Menü Alle Dienste > Alle Ressourcen und anschließend in der Ressourcenliste den Eintrag myLoadBalancer aus.

  2. Wählen Sie unter Einstellungen die Option Lastenausgleichsregeln und dann Hinzufügen aus.

  3. Konfigurieren Sie die Lastenausgleichsregel mit folgenden Werten:

    Einstellung Wert
    Name Geben Sie myRule ein.
    IP-Version Wählen Sie IPv4 aus.
    Front-End-IP-Adresse Wählen Sie LoadBalancerFrontEnd aus.
    Protocol Wählen Sie TCP aus.
    Port Geben Sie 1433 ein.
    Back-End-Port Geben Sie 1433 ein.
    Back-End-Pool Wählen Sie myBackendPool aus.
    Integritätstest Wählen Sie myHealthProbe aus.
    Leerlaufzeitüberschreitung (Minuten) Bewegen Sie den Schieberegler auf 15 Minuten.
    TCP-Zurücksetzung Wählen Sie Deaktiviert aus.
  4. Übernehmen Sie die übrigen Standardeinstellungen, und wählen Sie dann OK aus.

In diesem Abschnitt erstellen Sie einen Private Link-Dienst hinter einem Standardlastenausgleich.

  1. Wählen Sie im Azure-Portal oben links auf der Seite die Option Ressource erstellen aus.

  2. Suchen Sie im Feld Marketplace durchsuchen nach Private Link.

  3. Klicken Sie auf Erstellen.

  4. Wählen Sie in der Übersicht unter Private Link Center die blaue Schaltfläche Create private link service (Private Link-Dienst erstellen) aus.

  5. Geben Sie auf der Registerkarte Grundlagen unter Create private link service (Private Link-Dienst erstellen) die folgenden Informationen ein, bzw. wählen Sie sie aus:

    Einstellung Wert
    Projektdetails
    Subscription Wählen Sie Ihr Abonnement aus.
    Ressourcengruppe Wählen Sie Ihre Ressourcengruppe aus.
    Instanzendetails
    Name Geben Sie myPrivateLinkService ein.
    Region Wählen Sie USA, Osten aus.
  6. Wählen Sie die Registerkarte Ausgangseinstellungen oder unten auf der Seite die Option Weiter: Ausgangseinstellungen aus.

  7. Geben Sie auf der Registerkarte Ausgangseinstellungen die folgenden Informationen ein, bzw. wählen Sie sie aus:

    Einstellung Wert
    Load Balancer Wählen Sie myLoadBalancer aus.
    Front-End-IP-Adresse des Lastenausgleichs Wählen Sie LoadBalancerFrontEnd aus.
    NAT-Quellsubnetz Wählen Sie pls-subnet aus.
    TCP-Proxy V2 aktivieren Übernehmen Sie den Standardwert Nein.
    Einstellungen für private IP-Adressen
    Übernehmen Sie die Standardeinstellungen.
  8. Wählen Sie die Registerkarte Zugriffssicherheit oder unten auf der Seite die Option Weiter: Zugriffssicherheit aus.

  9. Übernehmen Sie auf der Registerkarte Zugriffssicherheit die Standardeinstellung Nur rollenbasierte Zugriffssteuerung.

  10. Wählen Sie die Registerkarte Tags aus, oder Weiter: Tags unten auf der Seite.

  11. Wählen Sie die Registerkarte Überprüfen und erstellen oder unten auf der Seite die Option Weiter: Überprüfen + erstellen aus.

  12. Wählen Sie auf der Registerkarte Überprüfen und erstellen die Option Erstellen aus.

Erstellen von Back-End-Servern

  1. Navigieren Sie links oben im Portal zu Ressource erstellen > Compute > Virtueller Computer.

  2. Geben Sie unter Virtuellen Computer erstellen auf der Registerkarte Grundlagen die folgenden Werte ein, oder wählen Sie sie aus:

    Einstellung Wert
    Projektdetails
    Subscription Wählen Sie Ihr Azure-Abonnement.
    Ressourcengruppe Wählen Sie Ihre Ressourcengruppe aus.
    Instanzendetails
    Name des virtuellen Computers Geben Sie myVM1 ein.
    Region Wählen Sie USA, Osten aus.
    Verfügbarkeitsoptionen Wählen Sie Verfügbarkeitszonen aus.
    Verfügbarkeitszone Wählen Sie 1.
    Abbildung Wählen Sie Ubuntu Server 22.04 LTS aus.
    Azure Spot-Instanz Wählen Sie Nein aus.
    Size Wählen Sie eine VM-Größe aus, oder übernehmen Sie die Standardeinstellung.
    Administratorkonto
    Username Geben Sie einen Benutzernamen ein.
    Quelle für öffentlichen SSH-Schlüssel Generieren Sie ein neues Schlüsselpaar.
    Schlüsselpaarname mySSHKey
    Regeln für eingehende Ports
    Öffentliche Eingangsports Keine
  3. Wählen Sie die Registerkarte Netzwerk aus, oder wählen Sie Weiter: Datenträger und anschließend Weiter: Netzwerk aus.

  4. Wählen Sie auf der Registerkarte Netzwerk die folgenden Werte aus, oder geben Sie sie ein:

    Einstellung Wert
    Netzwerkschnittstelle
    Virtuelles Netzwerk Wählen Sie Ihr virtuelles Netzwerk aus.
    Subnet be-subnet
    Öffentliche IP-Adresse Wählen Sie Keine aus.
    NIC-Netzwerksicherheitsgruppe Wählen Sie Keine.
    Lastenausgleich
    Diese VM hinter einer vorhandenen Lastenausgleichslösung platzieren? Wählen Sie Ja aus.
    Lastenausgleichseinstellungen
    Optionen für den Lastenausgleich Wählen Sie Azure-Lastenausgleich aus.
    Wählen Sie einen Lastenausgleich aus. Wählen Sie myLoadBalancer aus.
    Wählen Sie einen Back-End-Pool aus. Wählen Sie myBackendPool aus.
  5. Klicken Sie auf Überprüfen + erstellen.

  6. Überprüfen Sie die Einstellungen, und wählen Sie dann die Option Erstellen.

  7. Sie können die Schritte 1 bis 6 wiederholen, um mehr als eine Back-End-Server-VM für Hochverfügbarkeit zu erhalten.

Erstellen einer Weiterleitungsregel an einen Endpunkt

  1. Melden Sie sich an, und kopieren Sie das Skript ip_fwd.sh auf Ihre Back-End-Server-VMs.

  2. Führen Sie das Skript mit den folgenden Optionen aus:

    sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    

    Legen Sie fest, dass der Platzhalter <FQDN/IP> Ihre Ziel-SQL Server-IP ist.

    Hinweis

    Wenn Sie einen FQDN für eine lokale SQL Server-Instanz verwenden möchten, müssen Sie einen Eintrag in der Azure DNS-Zone hinzufügen.

  3. Führen Sie den folgenden Befehl aus, und überprüfen Sie die IP-Tabellen (iptables) auf Ihren Back-End-Server-VMs. Ihre IP-Tabellen enthalten einen einzelnen Eintrag mit Ihrer Ziel-IP-Adresse.

    sudo iptables -t nat -v -L PREROUTING -n --line-number**
    

    Screenshot: Befehlsdatensatz

    Hinweis

    Wenn Sie über mehrere SQL Server-Instanzen oder Datenquellen verfügen, müssen Sie mehrere Lastenausgleichsregeln und IP-Tabelleneinträge mit unterschiedlichen Ports definieren. Andernfalls kommt es zu einem Konflikt. Beispiel:

    Port in Lastenausgleichsregel Back-End-Port in Lastenausgleichsregel Auf Back-End-Server-VM ausgeführter Befehl
    SQL Server 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    SQL Server 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433

    Hinweis

    Es ist wichtig zu beachten, dass die Konfiguration auf dem virtuellen Computer (der VM) nicht dauerhaft ist. Dies bedeutet, dass bei jedem Neustart des virtuellen Computers eine Neukonfiguration erforderlich ist.

  1. Wählen Sie im linken Menü „Alle Dienste“ > „Alle Ressourcen“ und anschließend in der Ressourcenliste Ihre Data Factory aus.

  2. Klicken Sie auf Erstellen und überwachen, um die Data Factory-Benutzeroberfläche auf einer separaten Registerkarte zu starten.

  3. Navigieren Sie zur Registerkarte Verwalten und anschließend zum Abschnitt Verwaltete private Endpunkte.

  4. Wählen Sie unter Verwaltete private Endpunkte die Option + Neu aus.

  5. Wählen Sie in der Liste die Kachel Private Link-Dienst und anschließend Weiter aus.

  6. Geben Sie den Namen des privaten Endpunkts ein, und wählen Sie in der Liste „Private Link-Dienst“ die Option myPrivateLinkService aus.

  7. Fügen Sie den <FQDN> der lokalen SQL Server-Zielinstanz hinzu.

    Screenshot: Einstellungen des privaten Endpunkts

    Hinweis

    Wenn Sie SQL Server auf einer VM innerhalb eines virtuellen Netzwerks bereitstellen, müssen Sie Ihren FQDN unbedingt optimieren, indem Sie privatelink anfügen. Andernfalls tritt ein Konflikt mit anderen Datensätzen in der DNS-Einstellung auf. Sie können beispielsweise einfach den FQDN des SQL Servers von sqlserver.westus.cloudapp.azure.net in sqlserver.privatelink.westus.cloudapp.azure.net ändern.

  8. Erstellen Sie den privaten Endpunkt.

Erstellen eines verknüpften Diensts und Testen der Verbindung

  1. Navigieren Sie zur Registerkarte Verwalten und anschließend zum Abschnitt Verknüpfte Dienste.

  2. Wählen Sie unter Verknüpfter Dienst die Option + Neu aus.

  3. Wählen Sie in der Liste die Kachel SQL Server und anschließend Weiter aus.

    Screenshot: Seite zum Erstellen des verknüpften Diensts

  4. Aktivieren Sie Interaktives Authoring.

    Screenshot: Aktivieren von „Interaktives Authoring“

  5. Geben Sie den FQDN Ihrer lokalen SQL Server-Instanz sowie Benutzername und Kennwort ein.

  6. Klicken Sie anschließend auf Verbindung testen.

    Screenshot: Seite zum Erstellen des verknüpften SQL Server-Diensts

    Hinweis

    Wenn Sie über mehrere SQL Server-Instanzen verfügen und mehrere Lastenausgleichsregeln und IP-Tabelleneinträge mit unterschiedlichen Ports definieren müssen, stellen Sie sicher, dass Sie beim Bearbeiten des verknüpften Diensts explizit den Portnamen nach dem FQDN hinzufügen. Die NAT-VM übernimmt die Portübersetzung. Wenn er nicht explizit angegeben wird, tritt bei der Verbindung immer ein Timeout auf.

Problembehandlung

Navigieren Sie zur Back-End-Server-VM, und vergewissern Sie sich, dass „telnet“ für die SQL Server-Instanz funktioniert: telnet <FQDN> 1433.

Im nächsten Tutorial erfahren Sie, wie Sie auf Microsoft Azure SQL Managed Instance über ein verwaltetes Data Factory-VNet mithilfe eines privaten Endpunkts zugreifen: