Sdílet prostřednictvím


Připojení aplikace ke službě Azure SQL Managed Instance

Platí pro:Azure SQL Managed Instance

Tento článek popisuje, jak připojit aplikaci ke službě Azure SQL Managed Instance v několika různých scénářích aplikace v rámci virtuálních sítí Azure nebo mezi virtuálními sítěmi Azure.

Dnes máte při rozhodování o tom, jak a kde hostujete aplikaci, více možností. Aplikaci můžete hostovat v cloudu pomocí služby Azure App Service nebo některých integrovaných možností virtuální sítě Azure. Například Azure App Service Environment, Azure Virtual Machines a Škálovací sady virtuálních počítačů. Můžete také využít hybridní ("smíšený") cloudový přístup a zajistit, aby vaše aplikace byly místní. Bez ohledu na to, kterou zvolíte, se vaše aplikace může připojit ke službě Azure SQL Managed Instance v mnoha různých scénářích aplikací v rámci virtuálních sítí Azure nebo mezi virtuálními sítěmi Azure.

Můžete také povolit přístup k datům ke spravované instanci SQL mimo virtuální síť – například z víceklientských služeb Azure, jako jsou Power BI a Azure App Service, nebo z místní sítě, která není připojená k vašim virtuálním sítím přes síť VPN. Pokud chcete tyto a podobné scénáře provést, projděte si informace o konfiguraci veřejného koncového bodu ve službě Azure SQL Managed Instance.

Diagram znázorňující vysokou dostupnost

Připojení ze stejné virtuální sítě

Nejjednodušším scénářem je připojení aplikace ve stejné virtuální síti, ve které se nachází SQL Managed Instance. Virtuální počítače uvnitř virtuální sítě se můžou vzájemně připojovat přímo, i když jsou uvnitř různých podsítí. To znamená, že pro připojení aplikace ve službě App Service Environment nebo virtuálního počítače nasazeného ve stejné virtuální síti jako SQL Managed Instance je potřeba nakonfigurovat připojovací řetězec tak, aby cílil na jeho místní koncový bod virtuální sítě.

Připojení z jiné virtuální sítě

Připojení aplikace, když se nachází ve virtuální síti, která se liší od instance SQL Managed Instance, vyžaduje, aby aplikace nejprve získala přístup k virtuální síti, ve které je nasazená spravovaná instance SQL, nebo do samotné spravované instance SQL. Dvě virtuální sítě nemusí být ve stejném předplatném.

Existují tři možnosti připojení ke spravované instanci SQL v jiné virtuální síti:

Ze tří privátních koncových bodů jsou nejbezpečnější a úspornější možností prostředků, protože:

  • zpřístupňuje spravovanou instanci SQL pouze z její virtuální sítě.
  • povolit pouze jednosměrné připojení.
  • vyžaduje pouze jednu IP adresu ve virtuální síti aplikace.

Pokud privátní koncové body nemohou plně splňovat požadavky vašeho scénáře, zvažte místo toho peering virtuálních sítí. Peering používá páteřní síť Azure, takže není žádná znatelná latence pro komunikaci mezi hranicemi virtuálních sítí. Partnerský vztah virtuálních sítí se podporuje mezi sítěmi napříč všemi oblastmi (globální partnerský vztah virtuálních sítí). Instance, které jsou hostovány v podsítích vytvořených před 22. zářím 2020 však podporují propojování pouze v rámci svého regionu.

Připojení z místní infrastruktury

Místní aplikaci můžete připojit k místnímu koncovému bodu virtuální sítě vaší služby SQL Managed Instance. Abyste k němu měli přístup z místního prostředí, musíte vytvořit připojení typu site-to-site mezi aplikací a virtuální sítí služby SQL Managed Instance. Pokud přístup ke spravované instanci SQL stačí jenom k datům, můžete se k ní připojit mimo virtuální síť prostřednictvím veřejného koncového bodu – další informace najdete v tématu Konfigurace veřejného koncového bodu ve službě Azure SQL Managed Instance .

Existují dvě možnosti připojení místní aplikace k virtuální síti Azure:

Pokud můžete navázat připojení z místního prostředí k Azure, ale nemůžete navázat připojení ke službě SQL Managed Instance, zkontrolujte, jestli síťová cesta z klienta ke spravované instanci SQL splňuje požadavky na připojení pro vybraný typ připojení.

Připojte vývojářský box

Vývojářské pole je také možné připojit ke službě SQL Managed Instance. Abyste k němu měli přístup z pole pro vývojáře přes virtuální síť, musíte nejprve vytvořit připojení mezi polem pro vývojáře a virtuální sítí služby SQL Managed Instance. Provedete to tak, že nakonfigurujete připojení typu point-to-site k virtuální síti pomocí nativního ověřování certifikátů Azure. Další informace najdete v tématu Konfigurace připojení typu point-to-site pro připojení ke službě Azure SQL Managed Instance z místního počítače.

Přístup k datům ke spravované instanci SQL mimo virtuální síť najdete v tématu Konfigurace veřejného koncového bodu ve službě Azure SQL Managed Instance.

Připojte se k síti typu spoke

Dalším běžným scénářem je instalace brány VPN v samostatné virtuální síti (a možná předplatného) – periferní síť – od té, která hostí SQL Managed Instance (centrální síť). Připojení ke službě SQL Managed Instance z paprskové sítě se konfiguruje prostřednictvím jedné z možností uvedených v připojení z jiné virtuální sítě: privátní koncové body, partnerský vztah virtuálních sítí Azure nebo brána typu VNet-to-VNet.

Následující ukázkový diagram architektury znázorňuje peerování virtuálních sítí:

Diagram znázorňující propojení virtuálních sítí

Pokud se propojujete s hub-and-spoke sítěmi, ujistěte se, že brána VPN vidí IP adresy z centrální sítě. Abyste tak učinili, proveďte následující úpravy v části Nastavení peeringu:

  1. Ve virtuální síti, která hostí bránu VPN (paprsková síť), přejděte na Propojení, přejděte do propojení partnerské virtuální sítě pro SQL Managed Instance a vyberte Povolit přenos brány.
  2. Ve virtuální síti, která je hostitelem služby SQL Managed Instance (centralizovaná síť), přejděte na Párování, přejděte na připojení spárované virtuální sítě pro bránu VPN a vyberte možnost Použít vzdálené brány.

Připojení služby Aplikace Azure

Aplikaci hostované službou Aplikace Azure Můžete také připojit, když je integrovaná s vaší virtuální sítí. Uděláte to tak, že vyberete jeden z mechanismů uvedených v části Připojit z jiné virtuální sítě. Informace o přístupu k datům ke spravované instanci SQL mimo virtuální síť najdete v tématu Konfigurace veřejných koncových bodů ve službě Azure SQL Managed Instance.

Zvláštní případ připojení služby Aplikace Azure Service ke službě SQL Managed Instance je, když integrujete službu Aplikace Azure Service do sítě v partnerském vztahu k virtuální síti služby SQL Managed Instance. V takovém případě je potřeba nastavit následující konfiguraci:

  • Virtuální síť služby SQL Managed Instance nesmí mít bránu.
  • Virtuální síť služby SQL Managed Instance musí mít nastavenou Use remote gateways možnost.
  • Propojená virtuální síť musí mít nastavenou možnost Allow gateway transit.

Tento scénář je znázorněný v následujícím diagramu:

Diagram pro integrované propojení aplikací

Poznámka:

Funkce integrace virtuální sítě neintegruje aplikaci s virtuální sítí, která má bránu ExpressRoute. I když je brána ExpressRoute nakonfigurovaná v režimu koexistence, integrace virtuální sítě nefunguje. Pokud potřebujete přistupovat k prostředkům prostřednictvím připojení ExpressRoute, můžete použít službu App Service Environment, která běží ve vaší virtuální síti.

Pokud chcete řešit potíže s přístupem ke službě Aplikace Azure Prostřednictvím virtuální sítě, projděte si téma Řešení potíží s virtuálními sítěmi a aplikacemi.

Řešení potíží s připojením

Při řešení potíží s připojením si projděte následující nastavení:

  • Pokud se nemůžete připojit ke službě SQL Managed Instance z virtuálního počítače Azure ve stejné virtuální síti, ale z jiné podsítě, zkontrolujte, jestli máte v podsíti virtuálního počítače nastavenou skupinu zabezpečení sítě (NSG), která může blokovat přístup. Kromě toho povolte odchozí provoz na portu SQL 1433, protože je potřeba se připojit přes přesměrování v rámci prostředí Azure. Další informace najdete v požadavcích na typy připojení ke službě Azure SQL Managed Instance.

  • Ujistěte se, že je propagace tras brány zakázaná pro směrovací tabulku přidruženou k virtuální síti.

  • Pokud používáte vpn typu point-to-site, zkontrolujte konfiguraci na webu Azure Portal a zkontrolujte, jestli se zobrazují čísla příchozího přenosu dat a výchozího přenosu dat. Nenulová čísla označují, že Azure směruje provoz na místní infrastrukturu nebo z ní.

    Snímek obrazovky znázorňující čísla příchozího a výchozího přenosu dat na webu Azure Portal

  • Zkontrolujte, jestli má klientský počítač (který spouští klienta VPN) položky směrování pro všechny virtuální sítě, ke kterým potřebujete přístup. Trasy jsou uloženy v %AppData%\Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt.

    Snímek obrazovky znázorňující route.txt

    Jak je znázorněno na tomto obrázku, existují dvě položky pro každou zapojenou virtuální síť a třetí položku pro koncový bod VPN nakonfigurovaný na portálu.

    Další způsob, jak zkontrolovat trasy, je následující příkaz. Výstup ukazuje trasy do různých podsítí:

    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
    
  • Pokud používáte propojení virtuálních sítí, ujistěte se, že jste postupovali podle pokynů pro nastavení Povolit tranzit brány a používat vzdálené brány.

  • Pokud k připojení hostované aplikace služby Azure App Service používáte partnerský vztah virtuální sítě a virtuální síť služby SQL Managed Instance používá rozsah veřejných IP adres, ověřte, že nastavení hostované aplikace dovoluje přesměrování odchozího provozu do veřejných IP sítí. Postupujte podle pokynů v integraci místní virtuální sítě.

I když starší verze můžou fungovat, následující tabulka uvádí doporučené minimální verze nástrojů a ovladačů pro připojení ke službě SQL Managed Instance:

Ovladač/nástroj Verze
.NET Framework 4.6.1 (nebo .NET Core)
ovladač ODBC v17
Ovladač PHP 5.2.0
Ovladač JDBC 6.4.0
Ovladač Node.js 2.1.1
Ovladač OLEDB 18.0.2.0
SSMS 18.0 nebo vyšší
SMO 150 nebo vyšší

Poznámka:

Starší verze ovladačů JDBC 4.0 a 4.1 (dostupné v Javě SE 6 a Java SE 7) se můžou na serveru objevit jako TDS 7.4, i když plně neimplementují TDS 7.4. Tyto ovladače se nemůžou připojit ke spravovaným instancím SQL s typem připojení nastaveným na přesměrování. Buď upgradujte ovladače na JDBC 4.2 nebo novější, nebo přepněte typ připojení instance na proxy.