Anslut ditt program till Azure SQL Managed Instance

gäller för: Azure SQL-hanterad instans

Idag har du flera alternativ när du bestämmer hur och var du ska vara värd för ditt program.

Du kan välja att vara värd för program i molnet med hjälp av Azure App Service eller några av azures integrerade alternativ för virtuella nätverk som Azure App Service-miljön, Azure Virtual Machines och VM-skalningsuppsättningar. Du kan också använda hybridmoln och hålla dina program lokala.

Oavsett vilket val du väljer kan du ansluta det till Azure SQL Managed Instance.

Hög tillgänglighet

I den här artikeln beskrivs hur du ansluter ett program till Azure SQL Managed Instance i ett antal olika programscenarier.

Ansluta i samma virtuella nätverk

Att ansluta ett program i samma virtuella nätverk som SQL Managed Instance är det enklaste scenariot. Virtuella datorer i det virtuella nätverket kan ansluta till varandra direkt även om de finns i olika undernät. Det innebär att allt du behöver för att ansluta ett program App Service-miljön en virtuell dator är att ange anslutningssträngen på rätt sätt.

Ansluta i ett annat VNet

Att ansluta ett program när det finns i ett annat virtuellt nätverk från SQL Managed Instance är lite mer komplext eftersom SQL Managed Instance har privata IP-adresser i sitt eget virtuella nätverk. För att kunna ansluta behöver ett program åtkomst till det virtuella nätverk SQL Managed Instance distribueras. Därför måste du upprätta en anslutning mellan programmet och SQL Managed Instance virtuella nätverket. De virtuella nätverken behöver inte finnas i samma prenumeration för att det här scenariot ska fungera.

Det finns två alternativ för att ansluta virtuella nätverk:

Peering är att föredra eftersom det använder Microsofts stamnätverk, så ur anslutningsperspektiv finns det ingen märkbar skillnad i svarstid mellan virtuella datorer i ett peer-anslutet virtuellt nätverk och i samma virtuella nätverk. Peering för virtuella nätverk stöds mellan nätverken i samma region. Global peering för virtuella nätverk stöds också med den begränsning som beskrivs i kommentaren nedan.

Viktigt

2020-09-22 presenterade global peering för virtuella nätverk för nyligen skapade virtuella kluster. Det innebär att global peering för virtuella nätverk stöds för SQL-hanterade instanser som skapats i tomma undernät efter meddelandedatumet samt för alla efterföljande hanterade instanser som skapats i dessa undernät. För alla andra SQL Managed Instances-peering är stödet begränsat till nätverken i samma region på grund av begränsningarna för global peering för virtuella nätverk. Se även relevant avsnitt i artikeln med vanliga frågor och svar om virtuella Azure-nätverk för mer information.

Ansluta från en lokal plats

Du kan också ansluta ditt lokala program till SQL Managed Instance. SQL Managed Instance kan bara nås via en privat IP-adress. För att komma åt den från en lokal plats måste du upprätta en plats-till-plats-anslutning mellan programmet och SQL Managed Instance virtuella nätverket.

Det finns två alternativ för att ansluta lokalt till ett virtuellt Azure-nätverk:

Om du har upprättat en lokal till Azure-anslutning och du inte kan upprätta en anslutning till SQL Managed Instance kontrollerar du om brandväggen har en öppen utgående anslutning på SQL-port 1433 samt port 11000–11999 för omdirigering.

Ansluta utvecklarrutan

Det är också möjligt att ansluta din utvecklarruta till SQL Managed Instance. SQL Managed Instance kan endast nås via en privat IP-adress, så för att komma åt den från din utvecklarruta måste du först upprätta en anslutning mellan utvecklarrutan och SQL Managed Instance virtuella nätverket. Det gör du genom att konfigurera en punkt-till-plats-anslutning till ett virtuellt nätverk med intern Azure-certifikatautentisering. Mer information finns i Konfigurera en punkt-till-plats-anslutningför att ansluta Azure SQL Managed Instance från en lokal dator .

Ansluta med VNet-peering

Ett annat scenario som implementeras av kunder är där en VPN-gateway installeras i ett separat virtuellt nätverk och en prenumeration från den som SQL Managed Instance. De två virtuella nätverken peer-eras sedan. Följande exempel på arkitekturdiagram visar hur detta kan implementeras.

Virtuell nätverkspeering

När du har ställt in den grundläggande infrastrukturen måste du ändra vissa inställningar så att VPN-gatewayen kan se IP-adresserna i det virtuella nätverk som är värd för SQL Managed Instance. Det gör du genom att göra följande mycket specifika ändringar under peering-inställningarna.

  1. I det virtuella nätverk som är värd för VPN-gatewayen går du till Peerings, går till den peer-baserade virtuella nätverksanslutningen för SQL Managed Instance och klickar sedan på Tillåt gateway-överföring.
  2. I det virtuella nätverk som är värd SQL Managed Instance går du till Peerings, går till den peer-styrda virtuella nätverksanslutningen för VPN-gatewayen och klickar sedan på Använd fjärrgatewayer.

Ansluta Azure App Service

Du kan också ansluta ett program som finns i Azure App Service. SQL Managed Instance kan endast nås via en privat IP-adress, så för att komma åt den från Azure App Service måste du först upprätta en anslutning mellan programmet och SQL Managed Instance virtuella nätverket. Se Integrera din app med ett virtuellt Azure-nätverk.

Felsökning finns i Felsöka virtuella nätverk och program. Om det inte går att upprätta en anslutning kan du försöka synkronisera nätverkskonfigurationen.

Ett specialfall för att Azure App Service till SQL Managed Instance är när du integrerar Azure App Service till ett nätverk som är peerkopplat till ett SQL Managed Instance virtuellt nätverk. I så fall måste följande konfiguration konfigureras:

  • SQL Managed Instance virtuellt nätverk får INTE ha en gateway
  • SQL Managed Instance virtuellt nätverk måste ha Use remote gateways alternativuppsättningen
  • Peer-ett virtuellt nätverk måste ha Allow gateway transit alternativuppsättningen

Det här scenariot illustreras i följande diagram:

integrerad app-peering

Anteckning

Funktionen för integrering av virtuella nätverk integrerar inte en app med ett virtuellt nätverk som har en ExpressRoute-gateway. Även om ExpressRoute-gatewayen är konfigurerad i samexistensläge fungerar inte integreringen av virtuella nätverk. Om du behöver åtkomst till resurser via en ExpressRoute-anslutning kan du använda App Service-miljön, som körs i ditt virtuella nätverk.

Felsökning av anslutningsproblem

Läs följande för felsökning av anslutningsproblem:

  • Om du inte kan ansluta till SQL Managed Instance från en virtuell Azure-dator i samma virtuella nätverk men ett annat undernät kontrollerar du om du har en nätverkssäkerhetsgrupp inställd på det virtuella datorundernätet som blockerar åtkomsten. Öppna dessutom utgående anslutning på SQL-port 1433 samt portar i intervallet 11000–11999, eftersom de behövs för att ansluta via omdirigering innanför Azure-gränsen.

  • Kontrollera att BGP-spridning är inställt på Aktiverad för den vägtabell som är associerad med det virtuella nätverket.

  • Om du använder P2S VPN kontrollerar du konfigurationen i Azure Portal för att se om du ser in- och utgående nummer. Tal som inte är noll anger att Azure dirigerar trafik till/från en lokal plats.

    ingress-/utgående tal

  • Kontrollera att klientdatorn (som kör VPN-klienten) har vägposter för alla virtuella nätverk som du behöver åtkomst till. Vägarna lagras i %AppData%\Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt .

    route.txt

    Som du ser i den här bilden finns det två poster för varje virtuellt nätverk och en tredje post för VPN-slutpunkten som har konfigurerats i portalen.

    Ett annat sätt att kontrollera vägarna är via följande kommando. Utdata visar vägarna till de olika undernäten:

    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
    
  • Om du använder peering för virtuella nätverk, kontrollera att du har följt anvisningarna för att ställa in Tillåt gateway-överföring och Använd fjärrgatewayer.

  • Om du använder peering för virtuella nätverk för att ansluta ett Azure App Service-värdprogram och det virtuella SQL Managed Instance-nätverket har ett offentligt IP-adressintervall kontrollerar du att inställningarna för det värdindelade programmet tillåter att utgående trafik dirigeras till offentliga IP-nätverk. Följ anvisningarna i Regional integrering av virtuella nätverk.

Nödvändiga versioner av drivrutiner och verktyg

Följande minimala versioner av verktyg och drivrutiner rekommenderas om du vill ansluta till SQL Managed Instance:

Drivrutin/verktyg Version
.NET Framework 4.6.1 (eller .NET Core)
ODBC-drivrutin v17
PHP-drivrutin 5.2.0
JDBC-drivrutin 6.4.0
Node.js-drivrutin 2.1.1
OLEDB-drivrutin 18.0.2.0
SSMS 18.0 eller senare
SMO 150 eller högre

Nästa steg