Sdílet prostřednictvím


Hybridní připojení Azure App Service

Hybridní připojení je služba v Azure i funkce ve službě Aplikace Azure Service. Jako služba má využití a možnosti nad rámec těch, které se používají ve službě App Service. Další informace o hybridních připojeních a jejich využití mimo službu App Service najdete v tématu Azure Relay Hybrid Connections.

V rámci služby App Service je možné hybridní připojení použít pro přístup k prostředkům aplikace v jakékoli síti, která může provádět odchozí volání do Azure přes port 443. Hybridní připojení poskytují přístup z vaší aplikace ke koncovému bodu TCP. Nepovoluje nový způsob přístupu k aplikaci. Jak se používá ve službě App Service, každé hybridní připojení koreluje s jedním hostitelem TCP a kombinací portů.

Tato funkce umožňuje aplikacím přistupovat k prostředkům v jakémkoli operačním systému za předpokladu, že se jedná o koncový bod TCP. Funkce Hybridní připojení neví ani nezajímá, co je aplikační protokol nebo k čemu přistupujete. Jednoduše poskytuje přístup k síti.

Jak to funguje

Hybridní připojení vyžadují nasazení přenosového agenta, kde se může spojit s požadovaným koncovým bodem i Azure. Přenosového agenta, Správce hybridního připojení (HCM), volá Azure Relay přes port 443. Z webu webové aplikace se infrastruktura služby App Service připojuje také k Azure Relay jménem vaší aplikace. Prostřednictvím připojených připojení má vaše aplikace přístup k požadovanému koncovému bodu. Připojení k ověřování a autorizaci používá protokol TLS 1.2 pro klíče sdíleného přístupového podpisu (SAS).

Diagram toku vysoké úrovně hybridního připojení

Když vaše aplikace vytvoří požadavek DNS, který odpovídá nakonfigurovanému koncovému bodu hybridního připojení, odchozí provoz TCP se přesměruje přes hybridní připojení.

Poznámka:

To znamená, že byste se měli pokusit vždy použít název DNS pro hybridní připojení. Pokud koncový bod místo toho používá IP adresu, některý klientský software neprovádí vyhledávání DNS.

Výhody hybridního připojení služby App Service

Možnosti hybridních připojení mají řadu výhod, mezi které patří:

  • Aplikace můžou bezpečně přistupovat k místním systémům a službám.
  • Tato funkce nevyžaduje koncový bod přístupný z internetu.
  • Je to rychlé a snadné nastavení. Nejsou vyžadovány žádné brány.
  • Každé hybridní připojení odpovídá jedné kombinaci typu hostitel:port, což je užitečné pro zabezpečení.
  • Obvykle nevyžaduje díry brány firewall. Všechna připojení jsou odchozí přes standardní webové porty.
  • Vzhledem k tomu, že je tato funkce na úrovni sítě, je nezávislá na jazyce, který vaše aplikace používá, a technologii, kterou koncový bod používá.
  • Dá se použít k poskytování přístupu v několika sítích z jedné aplikace.
  • Podporuje se v ga pro aplikace pro Windows a linuxové aplikace. Hybridní připojení nejsou podporována pro vlastní kontejnery Windows.

Co nemůžete dělat s hybridními připojeními

Mezi věci, které nemůžete dělat s hybridními připojeními, patří:

  • Připojte jednotku.
  • Použijte UDP.
  • Přistupovat ke službám založeným na protokolu TCP, které používají dynamické porty, jako je pasivní režim FTP nebo rozšířený pasivní režim.
  • Podpora protokolu LDAP, protože může vyžadovat PROTOKOL UDP.
  • Podpora služby Active Directory, protože se nemůžete připojit k pracovnímu procesu služby App Service.

Přidání a vytvoření hybridních připojení v aplikaci

Vytvoření hybridního připojení:

  1. Na webu Azure Portal vyberte aplikaci. Vyberte Nastavení>sítě.

  2. Vedle možnosti Hybridní připojení vyberte odkaz Nenakonfigurováno. Tady vidíte hybridní připojení nakonfigurovaná pro vaši aplikaci.

    Snímek obrazovky se seznamem hybridních připojení, kde můžete přidávat a spravovat připojení

  3. Pokud chcete přidat nové hybridní připojení, vyberte Přidat hybridní připojení. Zobrazí se seznam hybridních připojení, která jste už vytvořili. Pokud chcete do aplikace přidat jeden nebo více z nich, vyberte požadované a pak vyberte Přidat vybrané hybridní připojení.

    Snímek obrazovky se stránkou Hybridní připojení, kde můžete přidat připojení

Pokud chcete vytvořit nové hybridní připojení, vyberte Vytvořit nové hybridní připojení. Určete následující hodnoty:

  • Název hybridního připojení.
  • Název hostitele koncového bodu
  • Port koncového bodu
  • Obor názvů služby Service Bus, který chcete použít.

Snímek obrazovky s dialogovým oknem Vytvořit nové hybridní připojení

Každé hybridní připojení je svázané s oborem názvů služby Service Bus. Každý obor názvů služby Service Bus je v oblasti Azure. Pokud se chcete vyhnout latenci vyvolané sítí, použijte obor názvů služby Service Bus ve stejné oblasti jako vaše aplikace.

Pokud chcete z aplikace odebrat hybridní připojení, klikněte na něj pravým tlačítkem a vyberte Odpojit.

Když do aplikace přidáte hybridní připojení, zobrazí se podrobnosti jednoduše tak, že ho vyberete.

Snímek obrazovky s podrobnostmi o hybridních připojeních

Vytvoření hybridního připojení na portálu Azure Relay

Kromě prostředí portálu z vaší aplikace můžete na portálu Azure Relay vytvořit hybridní připojení. Aby služba App Service používala hybridní připojení, musí:

  • Vyžadovat autorizaci klienta.
  • Má položku metadat a pojmenovaný koncový bod, který jako hodnotu obsahuje kombinaci host:port.

Hybridní připojení a plány služby App Service

Hybridní připojení služby App Service jsou dostupná jenom v cenových cenách Basic, Standard, Premium a Isolated. Hybridní připojení nejsou dostupná pro aplikace funkcí v plánech Consumption. Cenový plán je svázaný s limity.

Cenový plán Počet použitelných hybridních připojení v plánu
Basic 5 na plán
Standard 25 na plán
Premium (v1-v3) 220 na aplikaci
Izolované (v1–v2) 220 na aplikaci

Uživatelské rozhraní plánu služby App Service ukazuje, kolik hybridních připojení používá a jaké aplikace.

Snímek obrazovky s vlastnostmi plánu služby App Service

Pokud chcete zobrazit podrobnosti, vyberte hybridní připojení. Zobrazí se všechny informace, které jste viděli v zobrazení aplikace. Můžete také zjistit, kolik dalších aplikací ve stejném plánu používá hybridní připojení.

Počet koncových bodů hybridního připojení, které je možné použít v plánu služby App Service, je omezený. Každé použití hybridního připojení se dá použít v libovolném počtu aplikací v daném plánu. Například jedno hybridní připojení, které se používá v pěti samostatných aplikacích v plánu služby App Service, se počítá jako jedno hybridní připojení.

Ceny

Kromě požadavku na skladovou položku plánu služby App Service existují další náklady na používání hybridních připojení. Za každý naslouchací proces, který hybridní připojení používá, se účtuje poplatek. Naslouchací proces je Správce hybridního připojení. Pokud byste měli pět hybridních připojení podporovaných dvěma Správce hybridního připojení, které by byly 10 naslouchacími procesy. Další informace najdete v tématu s cenami služby Service Bus.

Správce hybridního připojení

Funkce Hybridní připojení vyžaduje přenosového agenta v síti, která je hostitelem koncového bodu hybridního připojení. Tento přenosový agent se nazývá Správce hybridního připojení (HCM). Stažení HCM:

  1. Na webu Azure Portal vyberte aplikaci. Vyberte Nastavení>sítě.
  2. Vedle hybridních připojení vyberte odkaz, aby se otevřela stránka Hybridní připojení.
  3. Vyberte Stáhnout správce připojení.

Tento nástroj běží na Windows Serveru 2012 a novějším. HCM běží jako služba a připojuje se k Azure Relay na portu 443.

Po instalaci HCM můžete spustit HybridConnectionManagerUi.exe pro použití uživatelského rozhraní nástroje. Tento soubor je v instalačním adresáři Správce hybridního připojení. Ve Windows 10 můžete také vyhledat uživatelské rozhraní Správce hybridního připojení ve vyhledávacím poli.

Snímek obrazovky Správce hybridního připojení

Když spustíte uživatelské rozhraní HCM, první věc, kterou uvidíte, je tabulka se seznamem všech hybridních připojení nakonfigurovaných s touto instancí HCM. Pokud chcete provést nějaké změny, nejprve se ověřte pomocí Azure.

Přidání jedné nebo více hybridních připojení k HCM:

  1. Spusťte uživatelské rozhraní HCM.

  2. Vyberte Přidat nové hybridní připojení.

    Snímek obrazovky s konfigurací nových hybridních připojení

  3. Přihlaste se pomocí svého účtu Azure a získejte hybridní připojení k dispozici pro vaše předplatná. HCM dál nepoužívá váš účet Azure za tímto krokem.

  4. Zvolte předplatné.

  5. Vyberte hybridní připojení, která má HCM předávat.

    Snímek obrazovky s připojeními v Správce hybridního připojení

  6. Zvolte Uložit.

Teď uvidíte přidaná hybridní připojení. Můžete také vybrat nakonfigurované hybridní připojení a zobrazit podrobnosti.

Snímek obrazovky s podrobnostmi o hybridním připojení

Pro podporu hybridních připojení, se kterými je nakonfigurovaná, vyžaduje HCM:

  • Přístup TCP k Azure přes port 443
  • Přístup TCP ke koncovému bodu hybridního připojení.
  • Možnost vyhledávání DNS na hostiteli koncového bodu a oboru názvů služby Service Bus. Jinými slovy, název hostitele v připojení azure relay by měl být přeložitelný z počítače, který je hostitelem HCM.

Poznámka:

Azure Relay spoléhá na připojení k webovým soketům. Tato funkce je dostupná jenom ve Windows Serveru 2012 nebo novějším. Z tohoto důvodu se HCM nepodporuje v systémech starších než Windows Server 2012.

Redundance

Každý HCM může podporovat více hybridních připojení. Více HCM může podporovat jakékoli hybridní připojení. Výchozím chováním je směrování provozu napříč nakonfigurovaným HCM pro každý daný koncový bod. Pokud chcete mít vysokou dostupnost hybridních připojení z vaší sítě, spusťte na samostatných počítačích několik HCM. Algoritmus distribuce zatížení používaný službou Relay k distribuci provozu do HCM je náhodné přiřazení.

Ruční přidání hybridního připojení

Pokud chcete někomu mimo vaše předplatné povolit hostování instance HCM pro dané hybridní připojení, nasdílejte bránu připojovací řetězec pro hybridní připojení. Bránu připojovací řetězec můžete zobrazit ve vlastnostech hybridního připojení na webu Azure Portal. Pokud chcete tento řetězec použít, vyberte v HCM zadat ručně a vložte bránu připojovací řetězec.

Snímek obrazovky s dialogovým oknem, kde ručně přidáte hybridní připojení

Upgrade

K dispozici jsou pravidelné aktualizace Správce hybridního připojení, které opravují problémy nebo poskytují vylepšení. Po vydání upgradů se v uživatelském rozhraní HCM zobrazí dialogové okno. Při použití upgradu se změny použijí a restartuje HCM.

Programové přidání hybridního připojení do aplikace

K dispozici je podpora Azure CLI pro hybridní připojení. Zadané příkazy fungují na úrovni aplikace i plánu služby App Service. Příkazy na úrovni aplikace jsou:

az webapp hybrid-connection

Group
    az webapp hybrid-connection : Methods that list, add and remove hybrid-connections from webapps.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    add    : Add a hybrid-connection to a webapp.
    list   : List the hybrid-connections on a webapp.
    remove : Remove a hybrid-connection from a webapp.

Příkazy plánu služby App Service umožňují nastavit klíč, který dané hybridní připojení používá. Pro každé hybridní připojení jsou nastavené dva klíče, primární a sekundární. Primární nebo sekundární klíč můžete použít pomocí následujících příkazů. Tato možnost umožňuje přepínat klíče, kdy chcete klíče pravidelně znovu vygenerovat.

az appservice hybrid-connection --help

Group
    az appservice hybrid-connection : A method that sets the key a hybrid-connection uses.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    set-key : Set the key that all apps in an appservice plan use to connect to the hybrid-
                connections in that appservice plan.

Zabezpečení hybridních připojení

Každý uživatel, který má dostatečná oprávnění ke službě Azure Service Bus Relay, může přidat existující hybridní připojení pro přenos do jiných webových aplikací služby App Service. Pokud chcete ostatním zabránit v opakovaném používání stejného hybridního připojení, zamkněte přístup ke službě Azure Service Bus Relay. K této situaci může dojít v případě, že cílový prostředek je služba, která nemá k dispozici žádná další bezpečnostní opatření, aby se zabránilo neoprávněnému přístupu.

Pokud se ho pokusí přidat do své webové aplikace na webu Azure Portal, může každý, Reader kdo má přístup ke službě Relay, zobrazit hybridní připojení. Nemůžou ho přidat, protože nemají oprávnění k načtení připojovací řetězec, který se používá k navázání připojení pro přenos. Aby bylo možné přidat hybridní připojení, musí mít listKeys oprávnění (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). Role Contributor nebo jakákoli jiná role, která zahrnuje toto oprávnění pro přenos, umožňuje uživatelům používat hybridní připojení a přidat ji do vlastních webových aplikací.

Správa hybridních připojení

Pokud potřebujete změnit hostitele nebo port koncového bodu pro hybridní připojení, postupujte následovně:

  1. V Správce hybridního připojení vyberte připojení, aby se zobrazilo okno s podrobnostmi. Pak vyberte Odebrat.
  2. Na webu Azure Portal vyberte aplikaci. Vyberte Nastavení>sítě.
  3. Vedle možnosti Hybridní připojení vyberte odkaz Nakonfigurováno.
  4. V hybridních připojeních klikněte pravým tlačítkem myši na připojení a vyberte Odpojit.
  5. Přejděte na přenos pro koncový bod, který potřebujete aktualizovat. V navigační nabídce v části Entity vyberte v části Entity hybridní připojení.
  6. Vyberte hybridní připojení. V navigační nabídce v části Nastavení vyberte Vlastnosti.
  7. Proveďte změny a vyberte Uložit změny.
  8. Vraťte se do nastavení hybridních připojení pro službu App Service a znovu přidejte hybridní připojení. Ujistěte se, že je koncový bod aktualizovaný podle očekávání. Pokud v seznamu nevidíte hybridní připojení, aktualizujte 5 až 10 minut.
  9. Vraťte se do Správce hybridního připojení na místním počítači a znovu přidejte připojení.

Řešení problému

Stav Připojení znamená, že alespoň jeden HCM je nakonfigurovaný s tímto hybridním připojením a je schopný se spojit s Azure. Pokud se ve stavu hybridního připojení nezobrazí připojení, vaše hybridní připojení není nakonfigurované u žádného HCM, který má přístup k Azure. Když se v HCM zobrazí Nepřipojené, můžete zkontrolovat několik věcí:

  • Má váš hostitel odchozí přístup k Azure na portu 443? Z hostitele HCM můžete testovat pomocí příkazu Test-NetConnection Destination -P PortPowerShellu .

  • Je váš HCM potenciálně ve špatném stavu? Zkuste restartovat místní službu Azure Správce hybridního připojení Service.

  • Máte nainstalovaný konfliktní software? Správce hybridního připojení nemůže existovat společně s biztalk Správce hybridního připojení ani službou Service Bus pro Windows Server. Při instalaci HCM byste měli nejprve odebrat všechny verze těchto balíčků.

  • Máte bránu firewall mezi hostitelem HCM a Azure? Pokud ano, musíte povolit odchozí přístup jak k adrese URL koncového bodu služby Service Bus, tak k branám služby Service Bus, které obsluhují vaše hybridní připojení.

    • Adresu URL koncového bodu služby Service Bus najdete v uživatelském rozhraní Správce hybridního připojení.

      Snímek obrazovky s koncovým bodem služby Service Bus pro hybridní připojení

    • Brány služby Service Bus jsou prostředky, které přijímají požadavek do hybridního připojení a předávají je přes Azure Relay. Musíte povolit všech 128 bran. Brány jsou ve formátu: G#-prod-[stamp]-sb.servicebus.windows.net. Znaménko #čísla je číslo od 0 do 127 a stamp je název instance v rámci vašeho datového centra Azure, kde existuje koncový bod služby Service Bus.

    • Pokud můžete použít zástupný znak, můžete povolit seznam *.servicebus.windows.net.

    • Pokud nemůžete použít zástupný znak, musíte povolit seznam všech 128 bran.

      Kolek můžete zjistit pomocí příkazu nslookup na adrese URL koncového bodu služby Service Bus.

      Snímek obrazovky terminálu znázorňující, kde najít název razítka služby Service Bus

      V tomto příkladu je sn3-010razítko . Pokud chcete povolit seznam bran služby Service Bus, potřebujete následující položky:

      G0-prod-sn3-010-sb.servicebus.windows.net
      G1-prod-sn3-010-sb.servicebus.windows.net
      G2-prod-sn3-010-sb.servicebus.windows.net
      G3-prod-sn3-010-sb.servicebus.windows.net
      ... G126-prod-sn3-010-sb.servicebus.windows.net
      G127-prod-sn3-010-sb.servicebus.windows.net

Pokud je ve stavu Připojeno , ale vaše aplikace se nemůže spojit s vaším koncovým bodem, postupujte takhle:

  • Ujistěte se, že ve svém hybridním připojení používáte název DNS. Pokud používáte IP adresu, nemusí k požadovanému vyhledávání DNS klienta dojít. Pokud klient spuštěný ve webové aplikaci neprovádí vyhledávání DNS, hybridní připojení nefunguje.
  • Zkontrolujte, jestli se název DNS použitý ve vašem hybridním připojení dá přeložit z hostitele HCM. Zkontrolujte rozlišení pomocí příkazu nslookup EndpointDNSname , kde endpointDNSname je přesná shoda s tím, co se používá v definici hybridního připojení.
  • Otestujte přístup z hostitele HCM ke koncovému bodu pomocí příkazu Test-NetConnection EndpointDNSname -P PortPowerShellu . Pokud se nemůžete připojit ke koncovému bodu z hostitele HCM, zkontrolujte brány firewall mezi těmito dvěma hostiteli, včetně všech bran firewall založených na hostiteli na cílovém hostiteli.
  • Pokud používáte App Service v Linuxu, ujistěte se, že nepoužíváte localhost jako hostitele koncového bodu. Místo toho použijte název počítače, pokud se pokoušíte vytvořit připojení k prostředku na místním počítači.

Ve službě App Service lze nástroj příkazového řádku tcpping vyvolat z konzoly Advanced Tools (Kudu). Tento nástroj vám může říct, jestli máte přístup ke koncovému bodu TCP, ale neřekne vám, jestli máte přístup ke koncovému bodu hybridního připojení. Pokud použijete nástroj v konzole pro koncový bod hybridního připojení, potvrzujete pouze, že používá kombinaci hostitel:port.

Pokud máte klienta příkazového řádku pro koncový bod, můžete otestovat připojení z konzoly aplikace. Pomocí nástroje curl můžete například otestovat přístup ke koncovým bodům webového serveru.