Wie stelle ich über ein Azure VPN Gateway eine Verbindung zu einem Azure SQL Server her?

Wie stelle ich über ein Azure VPN Gateway eine Verbindung zu einem Azure SQL Server her?

Ich habe einen Azure SQL Server mit einem Elastic Pool eingerichtet, in dem ich eine Testdatenbank erstellt habe.

Ich habe außerdem ein Azure Virtual Network und ein Point-to-Site-VPN eingerichtet. Das virtuelle Netzwerk verfügt über zwei Subnetze – eines für das GatewaySubnet und ein weiteres, in das ich eine virtuelle Windows-Maschine eingefügt habe.

Ich habe den Remotedesktopzugriff auf die VM erfolgreich konfiguriert und überprüft, dass ich nur dann eine Verbindung zum Remotedesktop herstellen kann, wenn ich mit dem VPN verbunden bin und die interne IP-Adresse des Servers verwende (ich habe außerdem den RDP-Zugriff über die externe IP-Adresse untersagt, aber das ist für meine Frage nicht relevant).

Ich möchte den Zugriff auf den SQL Server so weit wie möglich einschränken und kontrollieren. Ich habe „Zugriff auf Azure-Dienste zulassen“ auf „AUS“ gesetzt. Ich habe außerdem beide Subnetze meiner virtuellen Netzwerke zu den Firewall-Einstellungen des SQL Servers hinzugefügt und den Endpunkt „Microsoft.Sql“ aktiviert.

Ich habe überprüft, dass ich von einer auf der virtuellen Maschine installierten Kopie von SQL Server Management Studio eine Verbindung zum SQL Server herstellen kann.

Allerdings kann ich von meinem Desktop-Computer aus keine Verbindung mit SQL Server Management Studio herstellen, selbst wenn ich über VPN verbunden bin. Ich möchte dies tun können, ohne meine Client-IP direkt zur Firewall hinzuzufügen. Wir haben eine Reihe von Remote-Entwicklern (alle mit dynamischen IPs), die auf die Server zugreifen müssen, und ich möchte nicht den Aufwand für die Verwaltung dieser Firewall-Regeln. Ich würde ihnen viel lieber einfach den VPN-Client geben.

Dank im Voraus...

Antwort1

Ich habe gerade eine Antwort vom Azure-Support zu diesem Problem erhalten (03.03.2018) und sie haben bestätigt, dass das, was ich versuche zu erreichen, derzeit nicht möglich ist.

Antwort2

Dies ist eher eine Problemumgehung als die Verwendung des VPN-Gateways.

Sie können versuchen, einen VPN-Server mit NAT auf Ihrer VM einzurichten, die VM-IP-Adresse auf Azure SQL zuzulassen und dann stellen Ihre Entwickler eine Verbindung mit dem VPN-Server auf der VM her.

Das NAT täuscht Azure SQL vor, dass es sich bei den Clients um die VM handelt.

Antwort3

Azure SQL verwendet Gateways, um herauszufinden, mit welchen Clustern der Client eine Verbindung herstellen möchte:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-connectivity-architecture.

Da die Gateways feste IP-Adressen haben, habe ich einfach eine statische Route in der VPN-Schnittstelle für das spezifische SQL GW hinzugefügt.

Wenn Sie beispielsweise einen IP-Adressbereich vom VPN von 192.168.1.0/24 erhalten und eine Verbindung zu einem SQL in der Region „AustraliaEast“ herstellen müssen, führen Sie die folgenden Befehle aus:

add route 191.238.66.109 mask 255.255.255.255 192.168.1.1
add route 13.75.149.87 mask 255.255.255.255 192.168.1.1

Dasselbe kann in Powershell mit gemacht werden Add-VpnConnectionRoute, es wird eine statische Route hinzugefügt.

Derzeit funktioniert es für mich in den Regionen Australien-Ost und Südostasien.

verwandte Informationen