Uw toepassing verbinden met het beheerde Azure SQL-exemplaarConnect your application to Azure SQL Managed Instance

van toepassing op:  Ja Azure SQL Managed instanceAPPLIES TO: yesAzure SQL Managed Instance

U hebt nu meerdere keuzes wanneer u bepaalt hoe en waar u uw toepassing host.Today you have multiple choices when deciding how and where you host your application.

U kunt ervoor kiezen om de toepassing in de cloud te hosten met behulp van Azure App Service of een aantal geïntegreerde virtuele netwerk opties van Azure, zoals Azure App Service Environment, Azure Virtual Machines en schaal sets voor virtuele machines.You may choose to host application in the cloud by using Azure App Service or some of Azure's virtual network integrated options like Azure App Service Environment, Azure Virtual Machines, and virtual machine scale sets. U kunt ook een hybride Cloud aanpak maken en uw toepassingen on-premises houden.You could also take hybrid cloud approach and keep your applications on-premises.

Welke keuze u ook maakt, u kunt verbinding maken met Azure SQL Managed instance.Whatever choice you make, you can connect it to Azure SQL Managed Instance.

Hoge beschikbaarheid

In dit artikel wordt beschreven hoe u een toepassing verbindt met Azure SQL Managed Instance in een aantal verschillende toepassingsscenario's.This article describes how to connect an application to Azure SQL Managed Instance in a number of different application scenarios.

Verbinding maken binnen hetzelfde VNetConnect inside the same VNet

Het maken van een toepassing binnen hetzelfde virtuele netwerk als een SQL Managed instance is het eenvoudigste scenario.Connecting an application inside the same virtual network as SQL Managed Instance is the simplest scenario. Virtuele machines in het virtuele netwerk kunnen rechtstreeks verbinding maken met elkaar, zelfs als ze zich in verschillende subnetten bevinden.Virtual machines inside the virtual network can connect to each other directly even if they are inside different subnets. Dit betekent dat u alleen verbinding moet maken tussen een toepassing in App Service Environment of een virtuele machine om de connection string op de juiste wijze in te stellen.That means that all you need to connect an application inside App Service Environment or a virtual machine is to set the connection string appropriately.

Verbinding maken binnen een ander VNetConnect inside a different VNet

Het verbinden van een toepassing wanneer deze zich in een ander virtueel netwerk bevindt vanuit een SQL Managed instance is een beetje complexer omdat het SQL Managed instance privé-IP-adressen heeft in het eigen virtuele netwerk.Connecting an application when it resides within a different virtual network from SQL Managed Instance is a bit more complex because SQL Managed Instance has private IP addresses in its own virtual network. Als u verbinding wilt maken, moet een toepassing toegang hebben tot het virtuele netwerk waarin SQL Managed instance wordt geïmplementeerd.To connect, an application needs access to the virtual network where SQL Managed Instance is deployed. Daarom moet u een verbinding maken tussen de toepassing en het virtuele netwerk van het SQL-beheerde exemplaar.So you need to make a connection between the application and the SQL Managed Instance virtual network. Dit scenario werkt alleen als de virtuele netwerken zich in hetzelfde abonnement behoeven.The virtual networks don't have to be in the same subscription in order for this scenario to work.

Er zijn twee opties voor het verbinden van virtuele netwerken:There are two options for connecting virtual networks:

Peering is de voor keur omdat deze gebruikmaakt van het micro soft backbone-netwerk, dus in het oogpunt van connectiviteit is er geen merkbaar verschil in latentie tussen virtuele machines in een gekoppeld virtueel netwerk en in hetzelfde virtuele netwerk.Peering is preferable because it uses the Microsoft backbone network, so from the connectivity perspective, there is no noticeable difference in latency between virtual machines in a peered virtual network and in the same virtual network. Peering van virtuele netwerken is beperkt tot de netwerken in dezelfde regio.Virtual network peering is limited to the networks in the same region.

Belangrijk

Het scenario voor peering van het virtuele netwerk voor een SQL Managed instance is beperkt tot de netwerken in dezelfde regio vanwege de beperkingen van globale virtuele netwerk peering.The virtual network peering scenario for SQL Managed Instance is limited to the networks in the same region due to the constraints of global virtual network peering. Zie ook de relevante sectie van het artikel Veelgestelde vragen over virtuele netwerken van Azure voor meer informatie.See also the relevant section of the Azure Virtual Networks frequently asked questions article for more details.

Verbinding maken vanaf on-premisesConnect from on-premises

U kunt uw on-premises toepassing ook verbinden met een SQL-beheerd exemplaar.You can also connect your on-premises application to SQL Managed Instance. Een door SQL beheerd exemplaar kan alleen worden gebruikt via een privé-IP-adres.SQL Managed Instance can only be accessed through a private IP address. U moet een site-naar-site-verbinding maken tussen de toepassing en het virtuele netwerk van het SQL Managed instance om deze van on-premises te kunnen openen.In order to access it from on-premises, you need to make a site-to-site connection between the application and the SQL Managed Instance virtual network.

Er zijn twee opties voor het verbinden van on-premises met een virtueel Azure-netwerk:There are two options for how to connect on-premises to an Azure virtual network:

Als u een on-premises Azure-verbinding tot stand hebt gebracht en u geen verbinding kunt maken met een SQL-beheerd exemplaar, controleert u of uw firewall een open uitgaande verbinding heeft op SQL-poort 1433 en het bereik van poorten voor omleiding van 11000-11999.If you've established an on-premises to Azure connection successfully and you can't establish a connection to SQL Managed Instance, check if your firewall has an open outbound connection on SQL port 1433 as well as the 11000-11999 range of ports for redirection.

Verbinding maken tussen het vak voor ontwikkel aarsConnect the developer box

Het is ook mogelijk om verbinding te maken met uw ontwikkelaars venster met een SQL-beheerd exemplaar.It is also possible to connect your developer box to SQL Managed Instance. SQL Managed instance is alleen toegankelijk via een privé-IP-adres. om het te openen vanuit het vak voor ontwikkel aars, moet u eerst een verbinding maken tussen het vak voor ontwikkel aars en het virtuele netwerk van het SQL Managed instance.SQL Managed Instance can be accessed only through a private IP address, so in order to access it from your developer box, you first need to make a connection between your developer box and the SQL Managed Instance virtual network. Hiervoor configureert u een punt-naar-site-verbinding met een virtueel netwerk met behulp van systeem eigen Azure-certificaat verificatie.To do so, configure a point-to-site connection to a virtual network using native Azure certificate authentication. Zie een punt-naar-site-verbinding configureren om verbinding te maken met Azure SQL Managed instance van een on-premises computervoor meer informatie.For more information, see Configure a point-to-site connection to connect to Azure SQL Managed Instance from an on-premises computer.

Verbinding maken met VNet-peeringConnect with VNet peering

Een ander scenario dat door klanten wordt geïmplementeerd, is de plek waar een VPN-gateway wordt geïnstalleerd in een afzonderlijk virtueel netwerk en een abonnement op een host die wordt gehost door SQL Managed instance.Another scenario implemented by customers is where a VPN gateway is installed in a separate virtual network and subscription from the one hosting SQL Managed Instance. De twee virtuele netwerken worden vervolgens gelijkwaardig.The two virtual networks are then peered. In het volgende voor beeld van een architectuur diagram ziet u hoe dit kan worden geïmplementeerd.The following sample architecture diagram shows how this can be implemented.

Peering op virtueel netwerk

Zodra u de basis infrastructuur hebt ingesteld, moet u enkele instellingen wijzigen zodat de VPN-gateway de IP-adressen in het virtuele netwerk kan zien die als host fungeert voor SQL Managed instance.Once you have the basic infrastructure set up, you need to modify some settings so that the VPN gateway can see the IP addresses in the virtual network that hosts SQL Managed Instance. Hiervoor moet u de volgende zeer specifieke wijzigingen aanbrengen in de instellingen voor peering.To do so, make the following very specific changes under the Peering settings.

  1. Ga in het virtuele netwerk dat als host fungeert voor de VPN-gateway naar peerings, ga naar de gekoppelde virtuele netwerk verbinding voor SQL Managed instance en klik vervolgens op Gateway doorvoer toestaan.In the virtual network that hosts the VPN gateway, go to Peerings, go to the peered virtual network connection for SQL Managed Instance, and then click Allow Gateway Transit.
  2. Ga in het virtuele netwerk dat als host fungeert voor SQL Managed instance naar peerings, ga naar de gekoppelde virtuele netwerk verbinding voor de VPN-gateway en klik vervolgens op externe gateways gebruiken.In the virtual network that hosts SQL Managed Instance, go to Peerings, go to the peered virtual network connection for the VPN gateway, and then click Use remote gateways.

Azure App Service verbindenConnect Azure App Service

U kunt ook verbinding maken met een toepassing die wordt gehost door Azure App Service.You can also connect an application that's hosted by Azure App Service. SQL Managed instance is alleen toegankelijk via een privé-IP-adres, dus als u toegang wilt krijgen tot Azure App Service, moet u eerst een verbinding maken tussen de toepassing en het virtuele SQL Managed instance-netwerk.SQL Managed Instance can be accessed only through a private IP address, so in order to access it from Azure App Service, you first need to make a connection between the application and the SQL Managed Instance virtual network. Zie uw app integreren met een virtueel Azure-netwerk.See Integrate your app with an Azure virtual network.

Zie problemen met virtuele netwerken en toepassingen oplossenvoor probleem oplossing.For troubleshooting, see Troubleshooting virtual networks and applications. Als er geen verbinding kan worden gemaakt, probeert u de netwerk configuratie te synchroniseren.If a connection cannot be established, try syncing the networking configuration.

Een speciaal geval van het verbinden van Azure App Service met een SQL Managed instance is wanneer u Azure App Service integreert in een netwerk dat is gekoppeld aan een virtueel netwerk van een SQL Managed instance.A special case of connecting Azure App Service to SQL Managed Instance is when you integrate Azure App Service to a network peered to a SQL Managed Instance virtual network. Voor dat geval moet de volgende configuratie worden ingesteld:That case requires the following configuration to be set up:

  • Virtueel netwerk van SQL Managed instance mag geen gateway hebbenSQL Managed Instance virtual network must NOT have a gateway
  • Voor het virtuele netwerk van SQL Managed instance moet de Use remote gateways optie set zijn ingesteldSQL Managed Instance virtual network must have the Use remote gateways option set
  • Voor het gekoppelde virtuele netwerk moet de Allow gateway transit optie set zijn ingesteldPeered virtual network must have the Allow gateway transit option set

Dit scenario wordt geïllustreerd in het volgende diagram:This scenario is illustrated in the following diagram:

geïntegreerde app-peering

Notitie

De functie voor integratie van virtuele netwerken integreert geen app met een virtueel netwerk met een ExpressRoute-gateway.The virtual network integration feature does not integrate an app with a virtual network that has an ExpressRoute gateway. Zelfs als de ExpressRoute-gateway is geconfigureerd in de modus voor samen werking, werkt de integratie van het virtuele netwerk niet.Even if the ExpressRoute gateway is configured in coexistence mode, virtual network integration does not work. Als u toegang nodig hebt tot resources via een ExpressRoute-verbinding, kunt u App Service Environment gebruiken, die wordt uitgevoerd in uw virtuele netwerk.If you need to access resources through an ExpressRoute connection, then you can use App Service Environment, which runs in your virtual network.

Connectiviteitsproblemen oplossenTroubleshooting connectivity issues

Raadpleeg het volgende voor meer informatie over het oplossen van verbindings problemen:For troubleshooting connectivity issues, review the following:

  • Als u geen verbinding kunt maken met een SQL Managed instance vanaf een virtuele Azure-machine binnen hetzelfde virtuele netwerk, maar met een ander subnet, controleert u of er een netwerk beveiligings groep is ingesteld op het VM-subnet dat de toegang blokkeert.If you are unable to connect to SQL Managed Instance from an Azure virtual machine within the same virtual network but a different subnet, check if you have a Network Security Group set on VM subnet that might be blocking access. Daarnaast kunt u de uitgaande verbinding openen voor SQL-poort 1433 en poorten in het bereik 11000-11999, omdat deze nodig zijn om verbinding te maken via omleiding binnen de Azure-grens.Additionally, open outbound connection on SQL port 1433 as well as ports in the range 11000-11999, since those are needed for connecting via redirection inside the Azure boundary.

  • Zorg ervoor dat BGP-doorgifte is ingesteld op ingeschakeld voor de route tabel die is gekoppeld aan het virtuele netwerk.Ensure that BGP Propagation is set to Enabled for the route table associated with the virtual network.

  • Als u P2S VPN gebruikt, controleert u de configuratie in de Azure Portal om te zien of er ingangs-en uitgangs nummers worden weer geven.If using P2S VPN, check the configuration in the Azure portal to see if you see Ingress/Egress numbers. Niet-nul getallen geven aan dat Azure verkeer routeert naar/van on-premises.Non-zero numbers indicate that Azure is routing traffic to/from on-premises.

    ingangs-en uitgangs nummers

  • Controleer of de client computer (waarop de VPN-client wordt uitgevoerd) route vermeldingen heeft voor alle virtuele netwerken waartoe u toegang wilt.Check that the client machine (that is running the VPN client) has route entries for all the virtual networks that you need to access. De routes worden opgeslagen in %AppData%\ Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt .The routes are stored in %AppData%\ Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt.

    route.txt

    Zoals in deze afbeelding wordt weer gegeven, zijn er twee vermeldingen voor elk betrokken virtuele netwerk en een derde vermelding voor het VPN-eind punt dat is geconfigureerd in de portal.As shown in this image, there are two entries for each virtual network involved and a third entry for the VPN endpoint that is configured in the portal.

    Een andere manier om de routes te controleren, is via de volgende opdracht.Another way to check the routes is via the following command. De uitvoer toont de routes naar de verschillende subnetten:The output shows the routes to the various subnets:

    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 gebruikmaakt van peering op virtueel netwerk, moet u ervoor zorgen dat u de instructies voor het instellen van Gateway doorvoer toestaan en externe gateways gebruikenhebt gevolgd.If you're using virtual network peering, ensure that you have followed the instructions for setting Allow Gateway Transit and Use Remote Gateways.

  • Als u gebruikmaakt van peering van virtuele netwerken om verbinding te maken met een Azure App Service gehoste toepassing, en het virtuele SQL Managed instance-netwerk een openbaar IP-adres bereik heeft, moet u ervoor zorgen dat uw gehoste toepassings instellingen uw uitgaand verkeer naar open bare IP-netwerken kunnen routeren.If you're using virtual network peering to connect an Azure App Service hosted application, and the SQL Managed Instance virtual network has a public IP address range, make sure that your hosted application settings allow your outbound traffic to be routed to public IP networks. Volg de instructies in regionale virtuele netwerk integratie.Follow the instructions in Regional virtual network integration.

Vereiste versies van Stuur Programma's en hulpprogram ma'sRequired versions of drivers and tools

De volgende minimale versies van de hulpprogram ma's en stuur Programma's worden aanbevolen als u verbinding wilt maken met een SQL Managed instance:The following minimal versions of the tools and drivers are recommended if you want to connect to SQL Managed Instance:

Stuur programma/hulp programmaDriver/tool VersieVersion
.NET Framework.NET Framework 4.6.1 (of .NET core)4.6.1 (or .NET Core)
ODBC-stuurprogrammaODBC driver v17v17
PHP-stuurprogrammaPHP driver 5.2.05.2.0
JDBC-stuurprogrammaJDBC driver 6.4.06.4.0
Node.js-stuurprogrammaNode.js driver 2.1.12.1.1
OLEDB-stuurprogrammaOLEDB driver 18.0.2.018.0.2.0
SSMSSSMS 18,0 of hoger18.0 or higher
SMOSMO 150 of hoger150 or higher

Volgende stappenNext steps