Dela via


Ansluta ditt program till Azure SQL Managed Instance

gäller för:Azure SQL Managed Instance

Den här artikeln beskriver hur du ansluter ditt program till Azure SQL Managed Instance i flera olika programscenarier i eller mellan virtuella Azure-nätverk.

Idag har du flera val när du bestämmer hur och var du ska hosta din applikation. Du kan välja att vara värd för ett program i molnet med hjälp av Azure App Service eller några av Azures integrerade alternativ för virtuellt nätverk. Till exempel Azure App Service Environment, Azure Virtual Machines och Vm-skalningsuppsättningar. Du kan också använda hybridmolnmetoden ("mixed") och hålla dina program lokala. Oavsett vilket val du väljer kan programmet ansluta till Azure SQL Managed Instance i många olika programscenarier i eller mellan virtuella Azure-nätverk.

Du kan också aktivera dataåtkomst till din SQL-hanterade instans utanför ett virtuellt nätverk, till exempel från Azure-tjänster med flera klientorganisationer som Power BI och Azure App Service, eller från ett lokalt nätverk som inte är anslutet till dina virtuella nätverk via VPN. Information om hur du utför dessa och liknande scenarier finns i Konfigurera offentlig slutpunkt i Azure SQL Managed Instance.

Diagram som visar hög tillgänglighet.

Ansluta inifrån 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 för att ansluta ett program i App Service Environment eller en virtuell dator som distribueras i samma virtuella nätverk som SQL Managed Instance är att konfigurera anslutningssträngen för att rikta in sig på dess VNet-lokala slutpunkt.

Ansluta inifrån ett annat virtuellt nätverk

Om du ansluter ett program när det finns i ett annat virtuellt nätverk än sql-hanterad instans måste programmet först få åtkomst till det virtuella nätverk där SQL Managed Instance distribueras eller till själva SQL Managed Instance. De två virtuella nätverken behöver inte finnas i samma prenumeration.

Det finns tre alternativ för att ansluta till en SQL Managed Instance i ett annat virtuellt nätverk:

Av de tre är privata slutpunkter det säkraste och mest resursekonomiska alternativet eftersom de:

  • exponerar endast SQL Managed Instance från det virtuella nätverket.
  • tillåter endast enkelriktad anslutning.
  • kräver bara en IP-adress i programmets virtuella nätverk.

Om privata slutpunkter inte helt kan uppfylla kraven i ditt scenario bör du överväga peering för virtuella nätverk i stället. Peering använder stamnätverket i Azure, så det finns ingen märkbar svarstidsfördröjning för kommunikation över gränserna för virtuella nätverk. Peering av virtuella nätverk stöds mellan nätverk i alla regioner (global peering för virtuella nätverk). Instanser som finns i undernät som skapats före den 22 september 2020 stöder dock endast peering inom deras region.

Ansluta från en lokal plats

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

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

Om du kan upprätta en anslutning från en lokal plats till Azure men inte kan upprätta en anslutning till SQL Managed Instance kontrollerar du om nätverkssökvägen från klienten till den SQL-hanterade instansen uppfyller anslutningskraven för den valda anslutningstypen.

Ansluta en utvecklarruta

Det går också att ansluta utvecklarrutan till SQL Managed Instance. För att få åtkomst till den från utvecklarrutan via det virtuella nätverket måste du först upprätta en anslutning mellan utvecklarrutan och det virtuella SQL Managed Instance-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 SQL-hanterade instans utanför ett virtuellt nätverk finns i Konfigurera offentlig slutpunkt i Azure SQL Managed Instance.

Ansluta till ett ekernätverk

Ett annat vanligt scenario är när en VPN-gateway installeras i ett separat virtuellt nätverk (och kanske en prenumeration) – ekernätverk – från den som är värd för SQL Managed Instance (hubbnätverk). Anslutning till SQL Managed Instance från ekernätverket konfigureras via något av alternativen som anges i Anslut inifrån ett annat virtuellt nätverk: privata slutpunkter, Peering för virtuella Azure-nätverk eller en VNet-till-VNet-gateway.

Följande exempelarkitekturdiagram visar peering för virtuella nätverk:

Diagram som visar peering för virtuella nätverk.

Om du konfigurerar peering för hubb- och ekernätverk, kontrollerar du att VPN-gatewayen kan se IP-adresserna från hubbnätverket. För att göra detta, utför följande ändringar under Peering-inställningar:

  1. I det virtuella nätverk som är värd för VPN-gatewayen (spoke-nätverket), navigera till Peerings, hitta den peerkopplade virtuella nätverksanslutningen för SQL Managed Instance och välj Tillåt gatewayöverföring.
  2. I det virtuella nätverk som är värd för SQL Managed Instance (hubbnätverk) går du till Peerings, går till den peerkopplade virtuella nätverksanslutningen för VPN-gatewayen och väljer Använd fjärrgatewayer.

Ansluta Azure App Service

Du kan också ansluta ett program som hanteras av Azure App Service när det är integrerat med ditt virtuella nätverk. Det gör du genom att välja en av de mekanismer som anges i Anslut inifrån ett annat virtuellt nätverk. Information om dataåtkomst till din SQL-hanterade instans utanför ett virtuellt nätverk finns i Konfigurera offentliga slutpunkter i Azure SQL Managed Instance.

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

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

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

Diagram för integrerad appanslutning.

Not

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 Environment, som körs i ditt virtuella nätverk.

Om du vill felsöka Azure App Service-åtkomst via virtuellt nätverk läser du Felsöka virtuella nätverk och program.

Felsöka anslutningsproblem

Om du vill felsöka anslutningsproblem läser du följande inställningar:

  • 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 konfigurerat en nätverkssäkerhetsgrupp (NSG) på det virtuella datorundernätet som kan blockera åtkomsten. Tillåt dessutom utgående trafik på SQL-port 1433, eftersom den behövs för att ansluta via omdirigering inom Azure-gränsen. Mer information finns i kraven i Anslutningstyper för Azure SQL Managed Instance.

  • Se till att spridningen av gatewayvägar är inaktiverad för routningstabellen som är associerad med det virtuella nätverket.

  • Om du använder punkt-till-plats-VPN kontrollerar du konfigurationen i Azure-portalen för att se om du ser inkommande/utgående tal. Icke-nollnummer anger att Azure dirigerar trafik till/från en lokal plats.

    Skärmbild som visar inkommande/utgående tal i Azure-portalen.

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

    Skärmbild som visar route.txt.

    Som du ser i den här bilden finns det två poster för varje virtuellt nätverk som ingår 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 gatewayöverföring och Använda 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 dina värdbaserade programinställningar tillåter att utgående trafik dirigeras till offentliga IP-nätverk. Följ anvisningarna i Regional virtual network integration.

Även om äldre versioner kan fungera visar följande tabell de rekommenderade lägsta versionerna av verktygen och drivrutinerna för att 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 högre
SMO 150 eller högre

Not

Äldre versioner av JDBC 4.0- och 4.1-drivrutiner (tillgängliga med Java SE 6 respektive Java SE 7) kan visas på servern som TDS 7.4-kompatibla även om de inte implementerar TDS 7.4 helt. Dessa drivrutiner kan inte ansluta till SQL-hanterade instanser med anslutningstypen inställd på omdirigering. Uppgradera antingen dina drivrutiner till JDBC 4.2 eller senare, eller växla anslutningstypen för instansen till proxy.