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 řadě různých scénářů aplikací 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 Aplikace Azure Service nebo některých integrovaných možností virtuální sítě Azure, jako jsou Aplikace Azure Service Environment, Azure Virtual Machines a Virtual Machine Scale Sets. Můžete také využít hybridní ("smíšený") cloudový přístup a zajistit, aby vaše aplikace byly místní. Bez ohledu na to, co zvolíte, se vaše aplikace může připojit ke službě Azure SQL Managed Instance v řadě různých scénářů 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 mimo virtuální síť – například ze služeb Azure s více tenanty, jako jsou Power BI a Aplikace Azure 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 pokud chcete připojit aplikaci ve službě App Service Environment nebo virtuální počítač nasazený ve stejné virtuální síti jako SQL Managed Instance, je nakonfigurovat připojovací řetězec tak, aby cílila 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 nemůžou plně splňovat požadavky vašeho scénáře, zvažte místo toho partnerský vztah virtuálních sítí. Partnerský vztah používá páteřní síť Azure, takže neexistuje žádná znatelná latence pro komunikaci napříč hranicemi virtuální 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í), zatímco instance hostované v podsítích vytvořené před 22. zářím 2020 podporují partnerský vztah pouze v rámci své oblasti.

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 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 jste vytvořili místní připojení k Azure a nemůžete navázat připojení ke službě SQL Managed Instance, zkontrolujte, jestli má brána firewall otevřené odchozí připojení na portu SQL 1433 a rozsah portů 11000–11999 pro přesměrování.

Připojení vývojářského pole

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.

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

Připojení k paprskové síti

Dalším běžným scénářem je instalace brány VPN v samostatné virtuální síti (a možná předplatné) – paprskové síti – od brány SQL Managed Instance (centrální sítě). 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í nebo brána typu VNet-to-VNet.

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

Diagram znázorňující partnerský vztah virtuálních sítí

Pokud používáte partnerské centrum a paprskové sítě, ujistěte se, že brána VPN uvidí IP adresy z centrální sítě. Provedete to tak, že v části Nastavení partnerského vztahu provedete následující změny:

  1. Ve virtuální síti, která je hostitelem brány VPN (paprsková síť), přejděte na Partnerské vztahy, přejděte do připojení partnerské virtuální sítě pro službu SQL Managed Instance a vyberte Povolit průchod bránou.
  2. Ve virtuální síti, která je hostitelem služby SQL Managed Instance (rozbočovačová síť), přejděte na Partnerské vztahy, přejděte na připojení partnerské virtuální sítě pro bránu VPN a vyberte 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 mimo virtuální síť najdete v tématu Konfigurace veřejného koncového bodu 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.
  • Partnerský virtuální síť musí mít nastavenou Allow gateway transit možnost.

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

Diagram pro integrovaný partnerský vztah 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í:

  • 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 nastavenou skupinu zabezpečení sítě v podsíti virtuálního počítače, která může blokovat přístup. Kromě toho otevřete odchozí připojení na portu SQL 1433 a také porty v rozsahu 11000–11999, protože ty jsou potřeba pro připojení přes přesměrování uvnitř hranice Azure.

  • Ujistěte se, že je šíření 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 do místního prostředí nebo z místního prostředí.

    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č (spuštěný klient 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 partnerský vztah virtuální sítě, ujistěte se, že jste postupovali podle pokynů k nastavení a povolte průchod bránou a použití vzdálených bran.

  • 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šší