Anslut ditt program till Azure SQL Managed Instance

Gäller för: Azure SQL Managed Instance

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 Environment, Azure Virtual Machines och Virtual Machine Scale Sets. Du kan också använda hybridmolnmetoden och behålla dina program lokalt.

Oavsett vilket val du gör kan du ansluta den till Azure SQL Managed Instance.

Den här artikeln beskriver hur du ansluter ett program till Azure SQL Managed Instance i ett antal olika programscenarier inifrån det virtuella nätverket.

Viktigt

Du kan också aktivera dataåtkomst till din hanterade instans utanför ett virtuellt nätverk. Du kan komma åt din hanterade instans från Azure-tjänster med flera klientorganisationer som Power BI, Azure App Service eller ett lokalt nätverk som inte är anslutna till ett VPN med hjälp av den offentliga slutpunkten på en hanterad instans. Du måste aktivera offentlig slutpunkt på den hanterade instansen och tillåta offentlig slutpunktstrafik i nätverkssäkerhetsgruppen som är associerad med undernätet för den hanterade instansen. Mer viktig information finns i Konfigurera offentlig slutpunkt i Azure SQL Managed Instance.

Hög tillgänglighet

Ansluta i samma VNet

Att ansluta ett program i samma virtuella nätverk som en 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 i App Service-miljön eller en virtuell dator är att konfigurera anslutningssträngen så att den riktar sig till den VNet-lokala slutpunkten för SQL Managed Instance.

Ansluta i ett annat virtuellt nätverk

Att ansluta ett program när det finns i ett annat virtuellt nätverk än SQL Managed Instance är lite mer komplicerat eftersom SQL Managed Instance har privata IP-adresser i sitt eget virtuella nätverk. För att ett program ska kunna ansluta måste det ha åtkomst till det virtuella nätverk där SQL Managed Instance distribueras. Därför måste du upprätta en anslutning mellan programmet och det 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-kopplat 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 för instanser som finns i undernät som skapats från och med 2020-09-22.

Ansluta från lokal miljö

Du kan ansluta ditt lokala program till den VNet-lokala slutpunkten för din SQL Managed Instance. För att få åtkomst till den lokalt måste du upprätta en plats-till-plats-anslutning mellan programmet och det SQL Managed Instance virtuella nätverket. Information om dataåtkomst till din hanterade instans utanför ett virtuellt nätverk finns i Konfigurera offentlig slutpunkt i Azure SQL Managed Instance.

Det finns två alternativ för hur du ansluter lokalt till ett virtuellt Azure-nätverk:

Om du har upprättat en lokal anslutning till Azure 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 portintervallet 11000–11999 för omdirigering.

Ansluta utvecklarrutan

Det går också att ansluta utvecklarrutan till SQL Managed Instance. För att få åtkomst till den från utvecklarrutan via ett virtuellt nätverk måste du först upprätta en anslutning mellan utvecklarrutan och det SQL Managed Instance virtuella nätverket. Det gör du genom att konfigurera en punkt-till-plats-anslutning till ett virtuellt nätverk med inbyggd Azure-certifikatautentisering. Mer information finns i Konfigurera en punkt-till-plats-anslutning för att ansluta till Azure SQL Managed Instance från en lokal dator.

Information om dataåtkomst till din hanterade instans utanför ett virtuellt nätverk finns i Konfigurera offentlig slutpunkt i Azure SQL Managed Instance.

Ansluta med VNet-peering

Ett annat scenario som implementeras av kunder är när en VPN-gateway installeras i ett separat virtuellt nätverk och en prenumeration från den som är värd för SQL Managed Instance. De två virtuella nätverken peerkopplas sedan. Följande exempelarkitekturdiagram visar hur detta kan implementeras.

Peering för virtuella nätverk

När du har konfigurerat 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. Gör följande mycket specifika ändringar under inställningarna för peering.

  1. I det virtuella nätverk som är värd för VPN-gatewayen går du till Peerings, går till den peerkopplade 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 för SQL Managed Instance går du till Peerings, går till den peerkopplade virtuella nätverksanslutningen för VPN-gatewayen och klickar sedan på Använd fjärrgatewayer.

Anslut Azure App Service

Du kan också ansluta ett program som hanteras av Azure App Service. För att komma åt den från Azure App Service via virtuellt nätverk måste du först upprätta en anslutning mellan programmet och det SQL Managed Instance virtuella nätverket. Se Integrera en app med ett virtuellt Azure-nätverk. Information om dataåtkomst till din hanterade instans utanför ett virtuellt nätverk finns i Konfigurera offentlig slutpunkt i Azure SQL Managed Instance.

Felsökning av Azure App Service åtkomst via virtuellt nätverk finns i Felsöka virtuella nätverk och program.

Ett specialfall när du ansluter 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 göras:

  • SQL Managed Instance virtuella nätverket får INTE ha en gateway
  • SQL Managed Instance virtuella nätverket måste ha Use remote gateways alternativet inställt
  • Peer-kopplat virtuellt nätverk måste ha Allow gateway transit alternativet inställt

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

integrerad apppeering

Anteckning

Integreringsfunktionen för virtuella nätverk integrerar inte en app med ett virtuellt nätverk som har en ExpressRoute-gateway. Även om ExpressRoute-gatewayen har konfigurerats i samexistensläge fungerar inte integrering av virtuella nätverk. Om du behöver komma åt 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

Om du vill felsöka anslutningsproblem kan du läsa följande:

  • Om du inte kan ansluta till SQL Managed Instance från en virtuell Azure-dator i samma virtuella nätverk men i ett annat undernät, kontrollerar du om du har en nätverkssäkerhetsgrupp inställd på VM-undernä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 inom Azure-gränsen.

  • Kontrollera att BGP-spridning är inställt på Aktiverad för routningstabellen 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 ingress-/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 routningsposter för alla virtuella nätverk som du behöver komma åt. 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 är konfigurerad 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 kontrollerar du att du har följt anvisningarna för att ange Tillåt gatewaytransit och Använd fjärrgatewayer.

  • Om du använder peering för virtuella nätverk för att ansluta ett Azure App Service-värdbaserat program. och det virtuella SQL Managed Instance-nätverket har ett offentligt IP-adressintervall, kontrollerar du att inställningarna för det värdbaserade 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 verktygen och drivrutinerna 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 senare

Nästa steg