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.
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 Sie keine Data Factory-Instanz besitzen oder das verwaltete VNet nicht aktiviert ist, erstellen Sie anhand der Anweisungen unter Sicheres Kopieren von Daten aus Azure Blob Storage in eine SQL-Datenbank mithilfe von privaten Endpunkten eine entsprechende Instanz.
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 |
Schnellstart: Erstellen einer Load Balancer Standard-Instanz mit Azure PowerShell
Erstellen Sie über das Portal einen internen Lastenausgleich im Tarif „Standard“.
Wählen Sie links oben auf dem Bildschirm die Optionen Ressource erstellen > Netzwerk > Lastenausgleich aus.
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. Übernehmen Sie bei den anderen Einstellungen die Standardwerte, und wählen Sie Überprüfen + erstellen aus.
Wählen Sie auf der Registerkarte Bewerten + erstellen die Option Erstellen aus.
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.
- Wählen Sie im linken Menü Alle Dienste > Alle Ressourcen und anschließend in der Ressourcenliste den Eintrag myLoadBalancer aus.
- Wählen Sie unter Einstellungen die Option Back-End-Pools und dann Hinzufügen aus.
- 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.
Wählen Sie im linken Menü Alle Dienste > Alle Ressourcen und anschließend in der Ressourcenliste den Eintrag myLoadBalancer aus.
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. Ü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:
Wählen Sie im linken Menü Alle Dienste > Alle Ressourcen und anschließend in der Ressourcenliste den Eintrag myLoadBalancer aus.
Wählen Sie unter Einstellungen die Option Lastenausgleichsregeln und dann Hinzufügen aus.
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. Übernehmen Sie die übrigen Standardeinstellungen, und wählen Sie dann OK aus.
Erstellen eines Private Link-Diensts
In diesem Abschnitt erstellen Sie einen Private Link-Dienst hinter einem Standardlastenausgleich.
Wählen Sie im Azure-Portal oben links auf der Seite die Option Ressource erstellen aus.
Suchen Sie im Feld Marketplace durchsuchen nach Private Link.
Klicken Sie auf Erstellen.
Wählen Sie in der Übersicht unter Private Link Center die blaue Schaltfläche Create private link service (Private Link-Dienst erstellen) aus.
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. Wählen Sie die Registerkarte Ausgangseinstellungen oder unten auf der Seite die Option Weiter: Ausgangseinstellungen aus.
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. Wählen Sie die Registerkarte Zugriffssicherheit oder unten auf der Seite die Option Weiter: Zugriffssicherheit aus.
Übernehmen Sie auf der Registerkarte Zugriffssicherheit die Standardeinstellung Nur rollenbasierte Zugriffssteuerung.
Wählen Sie die Registerkarte Tags aus, oder Weiter: Tags unten auf der Seite.
Wählen Sie die Registerkarte Überprüfen und erstellen oder unten auf der Seite die Option Weiter: Überprüfen + erstellen aus.
Wählen Sie auf der Registerkarte Überprüfen und erstellen die Option Erstellen aus.
Erstellen von Back-End-Servern
Navigieren Sie links oben im Portal zu Ressource erstellen > Compute > Virtueller Computer.
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 Wählen Sie die Registerkarte Netzwerk aus, oder wählen Sie Weiter: Datenträger und anschließend Weiter: Netzwerk aus.
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. Klicken Sie auf Überprüfen + erstellen.
Überprüfen Sie die Einstellungen, und wählen Sie dann die Option Erstellen.
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
Melden Sie sich an, und kopieren Sie das Skript ip_fwd.sh auf Ihre Back-End-Server-VMs.
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.
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**
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.
Erstellen eines privaten Endpunkts für einen Private Link-Dienst
Wählen Sie im linken Menü „Alle Dienste“ > „Alle Ressourcen“ und anschließend in der Ressourcenliste Ihre Data Factory aus.
Klicken Sie auf Erstellen und überwachen, um die Data Factory-Benutzeroberfläche auf einer separaten Registerkarte zu starten.
Navigieren Sie zur Registerkarte Verwalten und anschließend zum Abschnitt Verwaltete private Endpunkte.
Wählen Sie unter Verwaltete private Endpunkte die Option + Neu aus.
Wählen Sie in der Liste die Kachel Private Link-Dienst und anschließend Weiter aus.
Geben Sie den Namen des privaten Endpunkts ein, und wählen Sie in der Liste „Private Link-Dienst“ die Option myPrivateLinkService aus.
Fügen Sie den
<FQDN>
der lokalen SQL Server-Zielinstanz hinzu.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.
Hinweis
Derzeit werden „ApplicationIntent“ und „MultiSubnetFailover“ in den SQL-Verbindungseigenschaften nicht unterstützt.
Erstellen Sie den privaten Endpunkt.
Erstellen eines verknüpften Diensts und Testen der Verbindung
Navigieren Sie zur Registerkarte Verwalten und anschließend zum Abschnitt Verknüpfte Dienste.
Wählen Sie unter Verknüpfter Dienst die Option + Neu aus.
Wählen Sie in der Liste die Kachel SQL Server und anschließend Weiter aus.
Aktivieren Sie Interaktives Authoring.
Geben Sie den FQDN Ihrer lokalen SQL Server-Instanz sowie Benutzername und Kennwort ein.
Klicken Sie anschließend auf Verbindung testen.
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.
Zugehöriger Inhalt
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: