Uw toepassing verbinden met het beheerde Azure SQL-exemplaar

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 enkele van de 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. Als u deze en vergelijkbare scenario's wilt uitvoeren, raadpleegt u Openbaar eindpunt configureren in Azure SQL Managed Instance.

High availability

Verbinding maken vanuit hetzelfde VNet

Het verbinden van een toepassing 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 om het VNet-lokale eindpunt te richten.

Verbinding maken vanuit een ander VNet

Verbinding maken een toepassing wanneer deze zich in een ander virtueel netwerk bevindt dan die 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:

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 on-premises

U kunt uw on-premises toepassing verbinden met het lokale VNet-eindpunt van uw met SQL beheerde exemplaar. 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 Het openbare 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:

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.

een ontwikkelaarsvak Verbinding maken

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 vanaf een on-premises computer verbinding te maken met Azure SQL Managed Instance voor meer informatie.

Zie Openbaar eindpunt configureren in Azure SQL Managed Instance voor gegevenstoegang tot uw beheerde exemplaar van buiten een virtueel netwerk.

Verbinding maken naar een spoke-netwerk

Een ander veelvoorkomend scenario is het installeren van een VPN-gateway in een afzonderlijk virtueel netwerk (en mogelijk een abonnement) - spoke-netwerk - van het ene hosten van SQL Managed Instance (hubnetwerk). Verbinding maken iviteit van SQL Managed Instance vanuit het spoke-netwerk is geconfigureerd via een van de opties in Verbinding maken vanuit een ander VNet: privé-eindpunten, VNet-peering of een VNet-naar-VNet-gateway.

In het volgende voorbeeldarchitectuurdiagram ziet u VNet-peering:

Diagram showing Virtual network peering.

Als u hub- en spoke-netwerken peering gebruikt, controleert u of de VPN-gateway de IP-adressen van het hubnetwerk ziet. Hiervoor moet u de volgende wijzigingen aanbrengen onder Peering-instellingen:

  1. Ga in het virtuele netwerk dat als host fungeert voor de VPN-gateway (spoke-netwerk), ga naar Peerings, ga naar de gekoppelde virtuele netwerkverbinding voor SQL Managed Instance en selecteer Gatewaydoorvoer toestaan.
  2. Ga in het virtuele netwerk dat als host fungeert voor SQL Managed Instance (hubnetwerk), ga naar Peerings, ga naar de gekoppelde virtuele netwerkverbinding voor de VPN-gateway en selecteer Externe gateways gebruiken.

Verbinding maken 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. Selecteer hiervoor een van de mechanismen die worden vermeld in Verbinding maken vanuit een ander VNet. Zie Openbaar eindpunt configureren in Azure SQL Managed Instance voor 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. In 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
  • Virtueel peernetwerk moet de Allow gateway transit optieset hebben

Dit scenario wordt geïllustreerd in het volgende diagram:

Diagram for integrated app peering.

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 het doorgeven van gatewayroutes is uitgeschakeld voor de routetabel die is gekoppeld aan het virtuele netwerk.

  • Als u punt-naar-site-VPN gebruikt, controleert u de configuratie in Azure Portal om te zien of u inkomend/uitgaand verkeer ziet. Niet-nulnummers geven aan dat Azure verkeer omleidt naar/van on-premises.

    Screenshot showing ingress/egress numbers in the Azure portal.

  • 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.

    Screenshot showing the route.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 van 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 Azure App Service-gehoste toepassing en het virtuele netwerk van SQL Managed Instance een openbaar IP-adresbereik heeft, moet u ervoor zorgen dat de instellingen van uw gehoste toepassing toestaan dat uitgaand verkeer naar openbare IP-netwerken wordt doorgestuurd. Volg de instructies in regionale integratie van virtuele netwerken.

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/hulpprogramma 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

Volgende stappen

  • Zie Wat is SQL Managed Instance? voor informatie over SQL Managed Instance.
  • Zie Een beheerd exemplaar maken voor een zelfstudie waarin wordt getoond hoe u een nieuw beheerd exemplaar maakt.