Teilen über


Lernprogramm: Zugreifen auf lokalen SQL Server über das vom Data Factory verwaltete virtuelle Netzwerk mit privatem Endpunkt

Dieses Lernprogramm enthält Schritte für die Verwendung des Azure-Portals zum Einrichten des privaten Linkdiensts und zum Zugreifen auf lokale SQL Server über ein verwaltetes virtuelles Netzwerk mithilfe eines privaten Endpunkts. 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

  • Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
  • Virtuelles Netzwerk. Wenn Sie kein virtuelles Netzwerk besitzen, erstellen Sie eins anhand der Anweisungen unter Schnellstart: Erstellen eines virtuellen Netzwerks im Azure-Portal.
  • Virtuelles Netzwerk zu lokalem Netzwerk: Erstellen Sie über ExpressRoute oder VPN eine Verbindung zwischen dem virtuellen Netzwerk und dem lokalen Netzwerk. Wenn Sie lieber einen virtuellen Cloudcomputer in einem privaten Netzwerk verwenden möchten, können Sie dies tun. Erstellen Sie einfach ein virtuelles Netzwerk für Ihre virtuellen Cloudcomputer und einen privaten Link zum virtuellen Netzwerk. Sie können so darauf zugreifen, als wären es lokale Computer in Ihrem privaten Netzwerk, obwohl sie in der Cloud gehostet werden.
  • Data Factory mit aktiviertem verwalteten VNet: Wenn keine Data Factory existiert oder ein verwaltetes VNet nicht aktiviert ist, erstellen Sie eine, indem Sie Create Data Factory mit verwaltetem VNet folgen.

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 + erstellen oder die Option Weiter: Überprüfen + erstellen unten auf der Seite 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.
    Image Wählen Sie Ubuntu Server 22.04 LTS aus.
    Azure Spot-Instanz Wählen Sie also Nein.
    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.
    Name des Schlüsselpaars mySSHKey
    Regeln für eingehende Ports
    Öffentliche Eingangsports Keine
  3. Wählen Sie die Registerkarte Netzwerk, oder wählen Sie Weiter: Datenträger und dann Weiter: Netzwerk.

  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.
    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 für einen Endpunkt

  1. Melden Sie sich an, und kopieren Sie ip_fwd.sh auf Ihre Backend-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

    Von Bedeutung

    Die Konfiguration innerhalb des virtuellen Computers (VM) ist nicht dauerhaft. Dies bedeutet, dass jedes Mal, wenn der virtuelle Computer neu gestartet wird, 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 Ihren SQL Server auf einem virtuellen Computer in einem virtuellen Netzwerk bereitstellen, ist es wichtig, Ihren FQDN durch Anfügen von privatem Link zu verbessern. Andernfalls tritt ein Konflikt mit anderen Datensätzen in der DNS-Einstellung auf. Sie können z. B. den FQDN von SQL Server von sqlserver.westus.cloudapp.azure.net in sqlserver.privatelink.westus.cloudapp.azure.net ändern.

    Hinweis

    Derzeit werden ApplicationIntent und MultiSubnetFailover in SQL-Verbindungseigenschaften nicht unterstützt.

  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 Ihres lokalen SQL-Servers, **Benutzernamen und Kennwort ein.

  6. Wählen Sie dann " Verbindung testen" aus.

    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 es nicht explizit angegeben ist, wird die Verbindung immer abgelaufen.

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: