Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:Azure SQL Managed Instance
In diesem Artikel wird beschrieben, wie Sie Ihre Anwendung in verschiedenen Anwendungsszenarien innerhalb oder zwischen virtuellen Azure-Netzwerken mit azure SQL Managed Instance verbinden.
Heutzutage haben Sie mehrere Möglichkeiten bei der Wahl, wie und wo Sie Anwendungen hosten. Sie können eine Anwendung in der Cloud hosten, indem Sie Azure App Service oder einige der integrierten Optionen des virtuellen Netzwerks von Azure verwenden. Z. B. Azure App Service-Umgebung, virtuelle Azure-Computer und Skalierungsgruppen für virtuelle Computer. Alternativ können Sie auch den Hybrid Cloud-Ansatz wählen und Ihre Anwendungen lokal hosten. Unabhängig davon, welche Wahl Sie treffen, kann Ihre Anwendung in vielen verschiedenen Anwendungsszenarien innerhalb oder zwischen virtuellen Azure-Netzwerken eine Verbindung mit azure SQL Managed Instance herstellen.
Sie können auch den Datenzugriff auf Ihre verwaltete SQL-Instanz von außerhalb eines virtuellen Netzwerks aktivieren , z. B. von mehrinstanzenfähigen Azure-Diensten wie Power BI und Azure App Service oder von einem lokalen Netzwerk, das nicht über VPN mit Ihren virtuellen Netzwerken verbunden ist. Informationen zu diesen und ähnlichen Szenarien finden Sie unter Konfigurieren eines öffentlichen Endpunkts in Azure SQL Managed Instance.
Verbinden von innerhalb desselben virtuellen Netzwerks
Das Verbinden einer Anwendung innerhalb desselben virtuellen Netzwerks wie SQL Managed Instance ist das einfachste Szenario. Zwischen virtuellen Computern innerhalb des virtuellen Netzwerks kann eine direkte Verbindung hergestellt werden, auch wenn sie sich in unterschiedlichen Subnetzen befinden. Zum Herstellen einer Verbindung mit einer Anwendung in einer App Service-Umgebung oder auf einer VM, die im gleichen virtuellen Netzwerk wie SQL Managed Instance bereitgestellt ist, müssen Sie also lediglich die Verbindungszeichenfolge so konfigurieren, dass sie auf ihren lokalen VNet-Endpunkt abzielt.
Herstellen einer Verbindung aus einem anderen virtuellen Netzwerk
Für das Verbinden einer Anwendung, die sich in einem anderen virtuellen Netzwerk als SQL Managed Instance befindet, ist es zunächst erforderlich, dass die Anwendung Zugriff auf das virtuelle Netzwerk erhält, in dem SQL Managed Instance bereitgestellt ist, oder auf die SQL Managed Instance selbst. Die beiden virtuellen Netzwerke brauchen nicht demselben Abonnement anzugehören.
Es gibt drei Optionen zum Herstellen einer Verbindung mit einer SQL Managed Instance in einem anderen virtuellen Netzwerk:
- Private Endpunkte
- Virtuelles Azure-Netzwerk-Peering
- VNET-zu-VNET-VPN-Gateway (Azure-Portal, PowerShell, Azure CLI)
Von den drei sind private Endpunkte die sicherste und ressourcensparendste Option, da sie:
- nur die SQL Managed Instance aus ihrem virtuellen Netzwerk verfügbar machen
- nur unidirektionale Konnektivität zulassen
- nur eine IP-Adresse im virtuellen Netzwerk der Anwendung erfordern
Wenn private Endpunkte die Anforderungen Ihres Szenarios nicht vollständig erfüllen können, sollten Sie stattdessen das Peering virtueller Netzwerke in Betracht ziehen. Peering verwendet das Azure-Backbone-Netzwerk, sodass keine spürbaren Latenzeinbußen für die Kommunikation über virtuelle Netzwerkgrenzen hinweg auftreten. Virtuelles Netzwerk-Peering wird zwischen Netzwerken in allen Regionen unterstützt (globales virtuelles Netzwerk-Peering). Instanzen, die in Subnetzen gehostet werden, die vor dem 22. September 2020 erstellt wurden, unterstützen jedoch nur Peering innerhalb ihrer Region.
Herstellen einer Verbindung mit einer lokalen Anwendung
Sie können Ihre lokale Anwendung mit dem lokalen VNet-Endpunkt Ihrer Instanz von SQL Managed Instance verbinden. Für den Zugriff darauf in der lokalen Umgebung müssen Sie eine Site-zu-Site-Verbindung zwischen der Anwendung und dem virtuellen Netzwerk von SQL Managed Instance herstellen. Wenn datengeschützter Zugriff auf Ihre verwaltete SQL-Instanz ausreicht, können Sie über einen öffentlichen Endpunkt eine Verbindung mit dieser Instanz herstellen. Weitere Informationen finden Sie unter Konfigurieren des öffentlichen Endpunkts in azure SQL Managed Instance .
Es gibt zwei Optionen, um eine Verbindung einer lokalen Anwendung mit einem virtuellen Azure-Netzwerk herzustellen:
- Site-to-Site-VPN-Verbindung (Azure-Portal, PowerShell, Azure CLI)
- Azure ExpressRoute-Verbindung
Wenn Sie eine Verbindung mit Azure über eine lokale Instanz herstellen, aber keine Verbindung mit der verwalteten SQL-Instanz herstellen können, überprüfen Sie, ob Ihre Firewall ausgehende Verbindungen mit SQL-Port 1433 und dem Port 11000-119999 für die Umleitung geöffnet hat.
Herstellen einer Verbindung mit einer Dev-Box
Es ist auch möglich, Ihre Dev-Box mit SQL Managed Instance zu verbinden. Um von der Dev-Box aus über das virtuelle Netzwerk darauf zugreifen zu können, müssen Sie zunächst eine Verbindung zwischen Ihrer Dev-Box und dem virtuellen Netzwerk der SQL Managed Instance herstellen. Konfigurieren Sie hierfür eine Point-to-Site-Verbindung mit einem virtuellen Netzwerk unter Verwendung der nativen Azure-Zertifikatauthentifizierung. Weitere Informationen finden Sie unter Konfigurieren einer Point-to-Site-Verbindung von einem lokalen Computer zu einer Azure SQL Managed Instance-Instanz.
Informationen zum Datenzugriff auf Ihre verwaltete SQL-Instanz von außerhalb eines virtuellen Netzwerks finden Sie unter Konfigurieren des öffentlichen Endpunkts in azure SQL Managed Instance.
Herstellen einer Verbindung mit einem Spoke-Netzwerk
Ein weiteres gängiges Szenario besteht darin, dass ein VPN-Gateway in einem separaten virtuellen Netzwerk (und vielleicht Abonnement) installiert wird – speichen-Netzwerk – von dem, das DIE verwaltete SQL-Instanz (Hubnetzwerk) hostt. Die Konnektivität mit sql Managed Instance aus dem Speichennetzwerk wird über eine der Optionen konfiguriert, die in Connect aus einem anderen virtuellen Netzwerk aufgeführt sind: private Endpunkte, virtuelle Azure-Netzwerkpeering oder ein VNet-zu-VNet-Gateway.
Das folgende Beispielarchitekturdiagramm zeigt virtuelles Netzwerk-Peering:
Achten Sie beim Peering von Hub-and-Spoke-Netzwerken darauf, dass das VPN-Gateway die IP-Adressen aus dem Hub-Netzwerk sieht. Nehmen Sie dazu unter Peeringeinstellungen die folgenden Änderungen vor:
- Navigieren Sie in dem virtuellen Netzwerk, das das VPN-Gateway hostet (Spoke-Netzwerk), zu Peerings. Wechseln Sie zu der Verbindung, die mittels Peering zwischen SQL Managed Instance und dem virtuellen Netzwerk hergestellt wurde, und wählen Sie Gatewaytransit zulassen aus.
- Navigieren Sie in dem virtuellen Netzwerk, das die SQL Managed Instance hostet (Hub-Netzwerk), zu Peerings. Wechseln Sie zu der Verbindung, die mittels Peering zwischen dem VPN-Gateway und dem virtuellen Netzwerk hergestellt wurde, und wählen Sie Remotegateways verwenden aus.
Herstellen einer Verbindung mit Azure App Service
Sie können auch eine Verbindung mit einer von Azure App Service gehosteten Anwendung herstellen, wenn sie in Ihr virtuelles Netzwerk integriert ist. Wählen Sie dazu einen der in "Connect" aufgeführten Mechanismen aus einem anderen virtuellen Netzwerk aus. Informationen zum Datenzugriff auf Ihre verwaltete SQL-Instanz von außerhalb eines virtuellen Netzwerks finden Sie unter Konfigurieren öffentlicher Endpunkte in azure SQL Managed Instance.
Ein Sonderfall beim Herstellen einer Verbindung zwischen Azure App Service mit SQL Managed Instance besteht, wenn Sie Azure App Service in ein Netzwerk integriert haben, das mittels Peering mit dem virtuellen Netzwerk von SQL Managed Instance verbunden ist. In diesem Fall muss die folgende Konfiguration eingerichtet werden:
- Virtuelles SQL-Instanznetzwerk darf kein Gateway haben
- Für das virtuelle Netzwerk von SQL Managed Instance muss die Option
Use remote gateways
festgelegt sein. - Für das virtuelle Netzwerk mit Peering muss die Option
Allow gateway transit
festgelegt sein.
Dieses Szenario ist in der folgenden Abbildung dargestellt:
Hinweis
Das Feature für die Integration virtueller Netzwerke integriert keine App in ein virtuelles Netzwerk, das über ein ExpressRoute-Gateway verfügt. Auch wenn das ExpressRoute-Gateway im Koexistenzmodus konfiguriert ist, funktioniert die Integration des virtuellen Netzwerks nicht. Wenn Sie über eine ExpressRoute-Verbindung auf Ressourcen zugreifen müssen, können Sie dazu eine App Service-Umgebung nutzen, die in Ihrem virtuellen Netzwerk ausgeführt wird.
Informationen zur Problembehandlung des Azure App Service-Zugriffs über ein virtuelles Netzwerk finden Sie unter Problembehandlung für virtuelle Netzwerke und Anwendungen.
Behandeln von Konnektivitätsproblemen
Um Konnektivitätsprobleme zu beheben, überprüfen Sie die folgenden Einstellungen:
Wenn Sie keine Verbindung mit sql Managed Instance von einem virtuellen Azure-Computer innerhalb desselben virtuellen Netzwerks herstellen können, aber ein anderes Subnetz. Überprüfen Sie, ob eine Netzwerksicherheitsgruppe (Network Security Group, NSG) im Subnetz des virtuellen Computers eingerichtet ist, die den Zugriff möglicherweise blockiert. Darüber hinaus öffnen Sie ausgehende Verbindungen auf SQL-Port 1433 und Ports im Bereich 11000-11999, da diese Ports für die Verbindung über die Umleitung innerhalb der Azure-Grenze erforderlich sind.
Stellen Sie sicher, dass die Verteilung von Gatewayrouten für die Routingtabelle, die dem virtuellen Netzwerk zugeordnet ist, deaktiviert ist.
Wenn Sie ein Point-to-Site-VPN verwenden, überprüfen Sie, ob in der Konfiguration im Azure-Portal Zahlen zu Eingehend/Ausgehend angezeigt werden. Zahlen ungleich 0 geben an, dass Datenverkehr von Azure in bzw. aus lokalen Umgebungen weitergeleitet wird.
Stellen Sie sicher, dass der Clientcomputer (auf dem der VPN-Client ausgeführt wird) für alle virtuellen Netzwerke Routingeinträge enthält, auf die Sie zugreifen müssen. Die Routen werden in
%AppData%\Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt
gespeichert.Wie in dieser Abbildung gezeigt wird, gibt es zwei Einträge für jedes beteiligte virtuelle Netzwerk und einen dritten Eintrag für den VPN-Endpunkt, der im Portal konfiguriert ist.
Eine weitere Möglichkeit, die Routen zu überprüfen, bietet der folgende Befehl. Die Ausgabe zeigt die Routen zu den verschiedenen Subnetzen:
C:\ >route print -4 =========================================================================== Interface List 14...54 ee 75 67 6b 39 ......Intel(R) Ethernet Connection (3) I218-LM 57...........................rndatavnet 18...94 65 9c 7d e5 ce ......Intel(R) Dual Band Wireless-AC 7265 1...........................Software Loopback Interface 1 Adapter=========================================================================== IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 10.83.72.1 10.83.74.112 35 10.0.0.0 255.255.255.0 On-link 172.26.34.2 43 10.4.0.0 255.255.255.0 On-link 172.26.34.2 43 =========================================================================== Persistent Routes: None
Wenn Sie virtuelle Netzwerkpeering verwenden, stellen Sie sicher, dass Sie die Anweisungen zum Festlegen der Gatewaytransitierung zulassen und Remotegateways verwenden.
Wenn Sie das VNET-Peering zum Verbinden einer in Azure App Service gehosteten Anwendung verwenden und das virtuelle Netzwerk von SQL Managed Instance über einen öffentlichen IP-Adressbereich verfügt, stellen Sie sicher, dass die Einstellungen Ihrer gehosteten Anwendung das Weiterleiten des ausgehenden Datenverkehrs an öffentliche IP-Netzwerke zulassen. Befolgen Sie die Anweisungen unter Regionale Integration des virtuellen Netzwerks.
Empfohlene Versionen von Treibern und Tools
Zwar funktionieren ältere Versionen möglicherweise, in der folgenden Tabelle sind jedoch die empfohlenen Mindestversionen der Tools und Treiber für Verbindungen mit SQL Managed Instance aufgeführt:
Treiber/Tool | Version |
---|---|
.NET Framework | 4.6.1 (oder .NET Core) |
ODBC-Treiber | v17 |
PHP-Treiber | 5.2.0 |
JDBC-Treiber | 6.4.0 |
Node.js-Treiber | 2.1.1 |
OLEDB-Treiber | 18.0.2.0 |
SSMS | 18.0 oder höher |
SMO | 150 oder höher |