Uw toepassing verbinden met Azure SQL Managed Instance
van toepassing op:Azure SQL Managed Instance
In dit artikel wordt beschreven hoe u uw toepassing verbindt met Azure SQL Managed Instance in een aantal verschillende toepassingsscenario's binnen of tussen virtuele Azure-netwerken.
Tegenwoordig hebt u meerdere keuzes bij het bepalen hoe en waar u uw toepassing host. U kunt ervoor kiezen om een toepassing in de cloud te hosten met behulp van Azure App Service of een aantal geïntegreerde opties voor virtuele netwerken van Azure, zoals Azure App Service Environment, Azure Virtual Machines en Virtual Machine Scale Sets. U kunt ook de hybride cloudbenadering ('mixed') gebruiken en uw toepassingen on-premises houden. Wat u ook kiest, uw toepassing kan verbinding maken met Azure SQL Managed Instance in een aantal verschillende toepassingsscenario's binnen of tussen virtuele Azure-netwerken.
U kunt ook gegevenstoegang tot uw beheerde exemplaar van buiten een virtueel netwerk inschakelen, bijvoorbeeld van Azure-services met meerdere tenants, zoals Power BI en Azure App Service, of vanuit een on-premises netwerk dat niet is verbonden met uw virtuele netwerken via VPN. Raadpleeg Openbaar eindpunt configureren in Azure SQL Managed Instanceom deze en vergelijkbare scenario's uit te voeren.
Verbinding maken vanuit hetzelfde VNet
Een toepassing verbinden binnen hetzelfde virtuele netwerk als SQL Managed Instance is het eenvoudigste scenario. Virtuele machines in het virtuele netwerk kunnen rechtstreeks verbinding maken met elkaar, zelfs als ze zich in verschillende subnetten bevinden. Dit betekent dat het verbinden van een toepassing in App Service Environment of een virtuele machine die is geïmplementeerd in hetzelfde virtuele netwerk als SQL Managed Instance, is het configureren van de verbindingsreeks voor het doel van het VNet-lokaal eindpunt.
Verbinding maken vanuit een ander VNet
Als u een toepassing verbindt wanneer deze zich in een ander virtueel netwerk bevindt dan dat van SQL Managed Instance, moet de toepassing eerst toegang krijgen tot het virtuele netwerk waarin SQL Managed Instance wordt geïmplementeerd, of naar SQL Managed Instance zelf. De twee virtuele netwerken hoeven zich niet in hetzelfde abonnement te bevinden.
Er zijn drie opties om verbinding te maken met een met SQL beheerd exemplaar in een ander virtueel netwerk:
- privé-eindpunten
- Azure VNet peering
- VNet-naar-VNet VPN-gateway (Azure portal, PowerShell, Azure CLI)
Van de drie zijn privé-eindpunten de veiligste en voordeligste optie omdat ze:
- alleen het beheerde SQL-exemplaar beschikbaar maken vanuit het virtuele netwerk.
- alleen eenrichtingsconnectiviteit toestaan.
- vereisen slechts één IP-adres in het virtuele netwerk van de toepassing.
Als privé-eindpunten niet volledig aan de vereisten van uw scenario kunnen voldoen, kunt u in plaats daarvan peering van virtuele netwerken overwegen. Peering maakt gebruik van het backbone Azure-netwerk, dus er is geen merkbare latentiestraf voor communicatie tussen grenzen van virtuele netwerken. Peering van virtuele netwerken wordt ondersteund tussen netwerken in alle regio's (wereldwijde peering van virtuele netwerken), terwijl exemplaren die worden gehost in subnetten die vóór 22 september 2020 zijn gemaakt, alleen peering binnen hun regio ondersteunen.
Verbinding maken vanaf op locatie
U kunt uw on-premises toepassing verbinden met het VNet-lokaal eindpunt van uw sql Managed Instance. Als u toegang wilt krijgen vanaf on-premises, moet u een site-naar-site-verbinding maken tussen de toepassing en het virtuele sql Managed Instance-netwerk. Als alleen gegevenstoegang tot uw beheerde exemplaar voldoende is, kunt u er verbinding mee maken van buiten een virtueel netwerk via een openbaar eindpunt. Raadpleeg Openbaar eindpunt configureren in Azure SQL Managed Instance voor meer informatie.
Er zijn twee opties om een on-premises toepassing te verbinden met een virtueel Azure-netwerk:
- Site-naar-site-VPN-verbinding (Azure Portal, PowerShell-, Azure CLI)
- Azure ExpressRoute-verbinding
Als u een on-premises verbinding met Azure tot stand hebt gebracht en u geen verbinding kunt maken met SQL Managed Instance, controleert u of uw firewall een open uitgaande verbinding heeft op SQL-poort 1433, evenals het bereik van 11000-11999 poorten voor omleiding.
Verbind een ontwikkelaarsbox
Het is ook mogelijk om uw ontwikkelaarsvak te verbinden met SQL Managed Instance. Als u deze wilt openen vanuit uw ontwikkelaarsvak via het virtuele netwerk, moet u eerst een verbinding maken tussen uw ontwikkelaarsvak en het virtuele SQL Managed Instance-netwerk. Hiervoor configureert u een punt-naar-site-verbinding met een virtueel netwerk met behulp van systeemeigen Azure-certificaatverificatie. Zie Een punt-naar-site-verbinding configureren om verbinding te maken met Azure SQL Managed Instance vanaf een on-premises computervoor meer informatie.
Zie Openbaar eindpunt configureren in Azure SQL Managed Instancevoor gegevenstoegang tot uw beheerde exemplaar van buiten een virtueel netwerk.
Verbinding maken met een spoke-netwerk
Een ander veelvoorkomend scenario is het installeren van een VPN-gateway in een afzonderlijk virtueel netwerk (en mogelijk abonnement) - spoke-netwerk - van het ene hostnetwerk van SQL Managed Instance (hubnetwerk). Connectiviteit met SQL Managed Instance vanuit het spoke-netwerk wordt geconfigureerd via een van de opties vermeld in Verbinding maken vanuit een ander VNet: private eindpunten, VNet-peering of een VNet-naar-VNet-gateway.
In het volgende voorbeeldarchitectuurdiagram ziet u VNet-peering:
Als u gebruik maakt van peering in hub- en spoke-netwerken, moet u controleren of de VPN-gateway de IP-adressen van het hubnetwerk ziet. Hiervoor moet u de volgende wijzigingen aanbrengen onder Peering-instellingen:
- Ga in het virtuele netwerk dat als host fungeert voor de VPN-gateway (spoke-netwerk), naar peerings, ga naar de gekoppelde virtuele netwerkverbinding voor SQL Managed Instance en selecteer Gatewayoverdracht toestaan.
- Ga in het virtuele netwerk dat als host fungeert voor SQL Managed Instance (hubnetwerk) naar Peerings, ga naar de gekoppelde virtuele netwerkverbinding voor de VPN-gateway en selecteer Externe gatewaysgebruiken.
Verbinding maken met Azure App Service
U kunt ook een toepassing verbinden die wordt gehost door Azure App Service wanneer deze is geïntegreerd met uw virtuele netwerk. Hiervoor selecteert u een van de mechanismen die worden vermeld in Verbinding maken vanuit een ander VNet. Zie Openbaar eindpunt configureren in Azure SQL Managed Instancevoor gegevenstoegang tot uw beheerde exemplaar van buiten een virtueel netwerk.
Een speciaal geval voor het verbinden van Azure App Service met SQL Managed Instance is wanneer u Azure App Service integreert met een netwerk dat is gekoppeld aan een virtueel SQL Managed Instance-netwerk. Voor dat geval moet de volgende configuratie worden ingesteld:
- Virtueel SQL Managed Instance-netwerk mag geen gateway hebben
- Virtueel netwerk van SQL Managed Instance moet de
Use remote gateways
optieset hebben - Gekoppeld virtueel netwerk moet de
Allow gateway transit
optie ingesteld hebben.
Dit scenario wordt geïllustreerd in het volgende diagram:
Notitie
De functie voor integratie van virtuele netwerken integreert geen app met een virtueel netwerk met een ExpressRoute-gateway. Zelfs als de ExpressRoute-gateway is geconfigureerd in de co-existentiemodus, werkt de integratie van virtuele netwerken niet. Als u toegang nodig hebt tot resources via een ExpressRoute-verbinding, kunt u App Service Environment gebruiken, die in uw virtuele netwerk wordt uitgevoerd.
Als u problemen met Azure App Service-toegang via een virtueel netwerk wilt oplossen, raadpleegt u Problemen met virtuele netwerken en toepassingen oplossen.
Verbindingsproblemen oplossen
Raadpleeg het volgende om verbindingsproblemen op te lossen:
Als u geen verbinding kunt maken met SQL Managed Instance vanaf een virtuele Azure-machine binnen hetzelfde virtuele netwerk, maar een ander subnet, controleert u of er een netwerkbeveiligingsgroep is ingesteld op het VM-subnet dat de toegang mogelijk blokkeert. Daarnaast opent u een uitgaande verbinding op SQL-poort 1433 en poorten in het bereik 11000-11999, omdat deze nodig zijn om verbinding te maken via omleiding binnen de Azure-grens.
Zorg ervoor dat de doorgifte van gatewayroutes is uitgeschakeld in de routetabel die aan het virtuele netwerk is gekoppeld.
Als u een punt-naar-site-VPN gebruikt, controleer dan de configuratie in de Azure-portal om te zien of u inkomend/uitgaand verkeer getallen ziet. Niet-nulgetallen geven aan dat Azure verkeer omleidt naar/van het lokale netwerk.
Controleer of de clientcomputer (waarop de VPN-client wordt uitgevoerd) routevermeldingen bevat voor alle virtuele netwerken waartoe u toegang nodig hebt. De routes worden opgeslagen in
%AppData%\Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt
.Zoals in deze afbeelding wordt weergegeven, zijn er twee vermeldingen voor elk virtueel netwerk en een derde vermelding voor het VPN-eindpunt dat is geconfigureerd in de portal.
Een andere manier om de routes te controleren, is via de volgende opdracht. De uitvoer toont de routes naar de verschillende subnetten:
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
Als u peering voor virtuele netwerken gebruikt, moet u ervoor zorgen dat u de instructies hebt gevolgd voor het instellen van Gatewayoverdracht toestaan en Externe gateways gebruiken.
Als u peering van virtuele netwerken gebruikt om verbinding te maken met een door Azure App Service gehoste toepassing en het virtuele SQL Managed Instance-netwerk een openbaar IP-adresbereik heeft, moet u ervoor zorgen dat uw gehoste toepassingsinstellingen toestaan dat uitgaand verkeer naar openbare IP-netwerken wordt gerouteerd. Volg de instructies in regionale virtuele netwerkintegratie.
Aanbevolen versies van stuurprogramma's en hulpprogramma's
Hoewel oudere versies mogelijk werken, bevat de volgende tabel de aanbevolen minimumversies van de hulpprogramma's en stuurprogramma's om verbinding te maken met SQL Managed Instance:
Stuurprogramma/tool | Versie |
---|---|
.NET Framework | 4.6.1 (of .NET Core) |
ODBC-stuurprogramma | v17 |
PHP-stuurprogramma | 5.2.0 |
JDBC-stuurprogramma | 6.4.0 |
Node.js stuurprogramma | 2.1.1 |
OLEDB-stuurprogramma | 18.0.2.0 |
SSMS | 18,0 of hoger |
SMO | 150 of hoger |