Anslut 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 ett antal olika programscenarier i eller mellan virtuella Azure-nätverk.

Idag har du flera val när du bestämmer hur och var du är värd för ditt program. 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 virtuella nätverk, till exempel Azure App Service-miljön, 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 ditt program ansluta till Azure SQL Managed Instance i ett antal olika programscenarier i eller mellan virtuella Azure-nätverk.

Du kan också aktivera dataåtkomst till din 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.

High availability

Anslut inifrån samma virtuella nätverk

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

Anslut inifrån ett annat virtuellt nätverk

Anslut ett program när det finns i ett annat virtuellt nätverk än SQL Managed Instance kräver att programmet först får åtkomst antingen 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), medan instanser som finns i undernät som skapats före den 22 september 2020 endast stöder peering inom deras region.

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 det lokalt måste du upprätta en plats-till-plats-anslutning mellan programmet och det virtuella SQL Managed Instance-nätverket. Om endast dataåtkomst till din hanterade instans räcker 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 har upprättat en lokal anslutning till Azure och 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.

Anslut 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 hanterade instans utanför ett virtuellt nätverk finns i Konfigurera offentlig slutpunkt i Azure SQL Managed Instance.

Anslut 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). Anslut ivity to SQL Managed Instance from the spoke network is configured from the spoke network is configured via ett av alternativen som anges i Anslut inifrån ett annat VNet: privata slutpunkter, VNet-peering eller en VNet-till-VNet-gateway.

Följande exempelarkitekturdiagram visar VNet-peering:

Diagram showing Virtual network peering.

Om du är peering-hubb- och ekernätverk kontrollerar du att VPN-gatewayen ser IP-adresserna från hubbnätverket. Det gör du genom att göra följande ändringar under Peering-inställningar:

  1. I det virtuella nätverk som är värd för VPN-gatewayen (ekernätverket) går du till Peerings, går till den peerkopplade virtuella nätverksanslutningen för SQL Managed Instance och väljer 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.

Anslut 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 hanterade instans utanför ett virtuellt nätverk finns i Konfigurera offentlig slutpunkt 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 göras:

  • DET virtuella SQL Managed Instance-nätverket får INTE ha en gateway
  • Det virtuella SQL Managed Instance-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:

Diagram for integrated app peering.

Kommentar

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 det virtuella nätverket.

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

Felsök 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 ett annat undernät kontrollerar du om du har konfigurerat en nätverkssäkerhetsgrupp i undernätet för virtuella datorer 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.

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

    Screenshot showing ingress/egress numbers in the Azure portal.

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

    Screenshot showing the 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 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.

Ä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

Nästa steg