Hybridní připojení Azure App Service

Hybrid Connections je služba v Azure a funkce v Azure App Service. Jako služba má využití a možnosti nad rámec těch, které se používají v App Service. Další informace o Hybrid Connections a jejich používání mimo App Service najdete v tématu Azure Relay Hybrid Connections.

V rámci App Service lze Hybrid Connections použít pro přístup k prostředkům aplikací v libovolné síti, která může provádět odchozí volání do Azure přes port 443. Hybrid Connections poskytuje přístup z vaší aplikace do koncového bodu TCP a nepovoluje pro přístup k aplikaci nový způsob přístupu. Jak se používá v App Service, každé hybridní připojení se koreluje s jedinou kombinací hostitele TCP a portu. Díky tomu budou mít vaše aplikace přístup k prostředkům v jakémkoli operačním systému, za předpokladu, že se jedná o koncový bod TCP. Funkce Hybrid Connections neví ani nezáleží na tom, jaký je protokol aplikace nebo k čemu přistupujete. Jednoduše poskytuje přístup k síti.

Jak to funguje

Hybrid Connections vyžaduje, aby byl nanasazený přenosový agent, kde může dosáhnout i pro požadovaný koncový bod i pro Azure. přenosový agent, Správce hybridního připojení (HCM), volá Azure Relay přes port 443. Z webu webové aplikace se App Service infrastruktura také připojuje k Azure Relay jménem vaší aplikace. Přes připojená připojení může aplikace získat přístup k požadovanému koncovému bodu. Připojení používá TLS 1,2 pro zabezpečení a klíče sdíleného přístupového podpisu (SAS) pro ověřování a autorizaci.

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í přenosy TCP se přesměrují prostřednictvím hybridního připojení.

Poznámka

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

App Service výhody hybridního připojení

K dispozici je několik výhod Hybrid Connections možností, včetně:

  • 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.
  • Nastavení je rychlé a snadné. Nevyžadují se žádné brány.
  • Každé hybridní připojení se shoduje s jedním hostitelem: kombinací portů, které jsou užitečné pro zabezpečení.
  • Obvykle nevyžaduje otvory brány firewall. Připojení jsou všechna odchozí přes standardní webové porty.
  • Vzhledem k tomu, že je tato funkce na úrovni sítě, je nezávislá k jazyku, který používá vaše aplikace, a technologii, kterou používá koncový bod.
  • Dá se použít k poskytnutí přístupu v několika sítích z jedné aplikace.
  • podporuje se v GA pro Windows aplikace a aplikace pro Linux. nepodporuje se pro Windows kontejnerových aplikací.

Věci, které nemůžete dělat s Hybrid Connections

Mezi věci, které nemůžete Hybrid Connections, patří:

  • Připojte jednotku.
  • Použijte protokol UDP.
  • Přístup ke službám založeným na TCP, které používají dynamické porty, jako je pasivní režim FTP nebo rozšířený pasivní režim.
  • Podporuje protokol LDAP, protože může vyžadovat protokol UDP.
  • Podporuje službu Active Directory, protože se nemůžete připojit k doméně App Service pracovního procesu.

Přidání a vytvoření Hybrid Connections v aplikaci

Pokud chcete vytvořit hybridní připojení, otevřete Azure Portal a vyberte svou aplikaci. Vyberte sítě > Konfigurace koncových bodů hybridního připojení. Tady vidíte Hybrid Connections, které jsou pro vaši aplikaci nakonfigurované.

Snímek obrazovky se seznamem hybridních připojení

Chcete-li přidat nové hybridní připojení, vyberte [+] přidat hybridní připojení. Zobrazí se seznam Hybrid Connections, které jste už vytvořili. Chcete-li do aplikace přidat jednu nebo více z nich, vyberte požadované položky a pak vyberte Přidat vybrané hybridní připojení.

Snímek obrazovky s portálem hybridního připojení

Pokud chcete vytvořit nové hybridní připojení, vyberte vytvořit nové hybridní připojení. Zadejte:

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

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

každé hybridní připojení je svázáno s oborem názvů Service Bus a každý Service Bus obor názvů je v oblasti Azure. je důležité, abyste se pokusili použít Service Bus obor názvů ve stejné oblasti jako vaši aplikaci, aby nedocházelo k vyvolané latenci sítě.

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

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

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

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

Kromě možnosti portálu z aplikace můžete vytvořit Hybrid Connections z portálu Azure Relay. Aby bylo možné používat hybridní připojení App Service, musí:

  • Vyžadovat autorizaci klientů.
  • Mít položku metadat s názvem koncový bod, která obsahuje kombinaci hostitel: port, jako hodnotu.

Plány Hybrid Connections a App Service

App Service Hybrid Connections jsou k dispozici pouze v jednotkách Basic, Standard, Premium a Isolated price. Existují limity vázané na cenový tarif.

Cenový tarif Počet Hybrid Connections použitelný v plánu
Basic 5 podle plánu
Standard 25 na plán
Premium (v1-v3) 220 na aplikaci
Izolované (v1-v2) 220 na aplikaci

Uživatelské rozhraní App Serviceho plánu ukazuje, kolik Hybrid Connections se používá a co aplikace.

Snímek obrazovky s vlastnostmi plánu App Service

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

Počet koncových bodů hybridního připojení, které se dají použít v plánu App Service, je omezený. Každé používané hybridní připojení se ale dá použít v jakémkoli počtu aplikací v tomto plánu. Například jedno hybridní připojení, které se používá v pěti samostatných aplikacích v plánu App Service, se počítá jako jedno hybridní připojení.

Ceny

Kromě toho, že App Service požadavek na SKLADOVOU položku plánu, je pro použití Hybrid Connections k dispozici další cena. U každého naslouchacího procesu používaného hybridním připojením se účtuje poplatek. naslouchací proces je Správce hybridního připojení. Pokud jste měli pět Hybrid Connections podporovaná dvěma správci hybridního připojení, bude to 10 posluchačů. další informace najdete v tématu Service Bus ceny.

Správce hybridního připojení

Funkce Hybrid Connections vyžaduje přenosového agenta v síti, který je hostitelem koncového bodu hybridního připojení. agent relay se nazývá Správce hybridního připojení (HCM). Pokud chcete stáhnout HCM, z vaší aplikace v Azure Portalvyberte sítě > Konfigurace koncových bodů hybridního připojení.

tento nástroj běží na Windows Server 2012 a později. HCM běží jako služba a připojuje se k odchozímu připojení Azure Relay na portu 443.

Po instalaci HCM můžete spustit HybridConnectionManagerUi.exe pro použití uživatelského rozhraní pro nástroj. Tento soubor se nachází v Správce hybridního připojení adresáři. V Windows 10 můžete také jednoduše vyhledat uživatelské Správce hybridního připojení ve vyhledávacím poli.

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

Při spuštění uživatelského rozhraní HCM se jako první zobrazí tabulka se seznamem všech hybridních připojení nakonfigurovaných s touto instancí HCM. Pokud chcete provést nějaké změny, nejprve proveďte ověření v Azure.

Přidání jednoho nebo více hybridních připojení do HCM:

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

  2. Vyberte Přidat nové hybridní připojení. Snímek obrazovky konfigurace nových hybridních připojení

  3. Přihlaste se pomocí svého účtu Azure a získejte hybridní připojení dostupná ve vašich předplatných. HCM dál nebude používat váš účet Azure.

  4. Zvolte předplatné.

  5. Vyberte hybridní připojení, která má HCM předávací. Snímek obrazovky s hybridními připojeními

  6. Vyberte Uložit.

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

Snímek obrazovky s podrobnostmi hybridního připojení

Pro podporu hybridních připojení, která jsou 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 provádět vyhledávání DNS na hostiteli koncového bodu a Service Bus dns.

Poznámka

Azure Relay připojení spoléhá na webové sokety. Tato funkce je dostupná pouze v Windows Server 2012 nebo novějších verzích. Z tohoto důvodu se HCM nepodporuje v nic starším než Windows Server 2012.

Redundance

Každý HCM může podporovat více hybridních připojení. Jakékoli dané hybridní připojení může být také podporováno několika hybridními virtuálními počítače. Výchozím chováním je směrování provozu přes nakonfigurované HCM pro jakýkoli daný koncový bod. Pokud chcete vysokou dostupnost hybridních připojení ze sítě, spusťte několik hybridních počítačů na samostatných počítačích. 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é umožnit hostování instance HCM pro dané hybridní připojení, nasdílejte mu připojovací řetězec brány pro hybridní připojení. Připojovací řetězec brány můžete zobrazit ve vlastnostech hybridního připojení v Azure Portal. Pokud chcete tento řetězec použít, vyberte v HCM Možnost Zadat ručně a vložte připojovací řetězec brány.

Ruční přidání hybridního 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í upgradu se v uživatelském rozhraní HCM zobrazí automaticky otevírané okno. Při použití upgradu se použijí změny a restartuje HCM.

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

Existuje podpora Azure CLI pro hybridní připojení. Zadané příkazy fungují na úrovni aplikace i App Service plánu. 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 App Service plán umožňují nastavit, který klíč bude dané hybridní připojení používat. Pro každé hybridní připojení jsou nastavené dva klíče, primární a sekundární. Pomocí následujících příkazů můžete použít primární nebo sekundární klíč. Díky tomu můžete přepínat klíče pro , když chcete klíče pravidelně znovu generovat.

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í

Existující hybridní připojení může do jiných služeb App Service Web Apps každý uživatel, který má dostatečná oprávnění k podkladové službě Azure Service Bus Relay. To znamená, že pokud musíte ostatním zabránit v opětovném použití stejného hybridního připojení (například pokud je cílovým prostředkem služba, která nemá žádná další bezpečnostní opatření, která by zabránila neoprávněnému přístupu), musíte přístup k Azure Service Bus Relay zamknout.

Každý, kdo má přístup ke službě Relay, uvidí hybridní připojení při pokusu o jeho přidání do své webové aplikace v Azure Portal, ale nebude ho moct přidat, protože nemá oprávnění k načtení připojovacího řetězce, který se používá k navázání Reader přenosového připojení. Aby bylo možné úspěšně přidat hybridní připojení, musí mít listKeys oprávnění ( Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action ). Role nebo jakákoli jiná role, která zahrnuje toto oprávnění ve službě Relay, umožní uživatelům používat hybridní připojení a přidat ho do Contributor vlastního Web Apps.

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. Odeberte hybridní připojení z Správce hybridního připojení na místním počítači tak, že vyberete připojení a v levém horním rohu okna Podrobnosti o hybridním připojení vyberete Odebrat.
  2. Odpojte hybridní připojení od svého App Service přechodem na Hybridní připojení na stránce App Service sítě.
  3. Přejděte na Relay pro koncový bod, který potřebujete aktualizovat, a v části Entity v levé navigační nabídce vyberte Hybridní připojení.
  4. Vyberte hybridní připojení, které chcete aktualizovat, a v části Nastavení v levé navigační nabídce vyberte Vlastnosti.
  5. Proveďte změny a v horní části klikněte na Uložit změny.
  6. Vraťte se do nastavení Hybridní připojení pro App Service a znovu přidejte hybridní připojení. Ujistěte se, že se koncový bod aktualizuje podle zamýšleného cíle. Pokud v seznamu nevidíte hybridní připojení, aktualizujte ho za 5 až 10 minut.
  7. Vraťte se Správce hybridního připojení na místním počítači a znovu přidejte připojení.

Řešení potíží

Stav Připojeno znamená, že alespoň jeden hcm je nakonfigurovaný s tímto hybridním připojením a může se připojit k Azure. Pokud se ve stavu vašeho hybridního připojení zobrazí Připojeno, vaše hybridní připojení není nakonfigurované na žádném hcm, který má přístup k Azure. Když se v HCM zobrazí zpráva Ne připojeno, je několik věcí, které je možné zkontrolovat:

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

  • 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 současně s biztalk Správce hybridního připojení nebo Service Bus pro Windows Server. Proto by se při instalaci HCM měly nejprve odebrat všechny verze těchto balíčků.

Pokud se ve vašem stavu zobrazí Připojeno, ale vaše aplikace se nemůže připojit ke koncovému bodu, pak:

  • Ujistěte se, že v hybridním připojení používáte název DNS. Pokud použijete IP adresu, nemusí dojít k požadovaného vyhledávání DNS klienta. Pokud klient spuštěný ve vaší webové aplikaci vyhledávání DNS provést nebude, hybridní připojení nebude fungovat.
  • Zkontrolujte, že se název DNS použitý ve vašem hybridním připojení může přeložit z hostitele HCM. Pomocí příkazu nslookup EndpointDNSname zkontrolujte řešení, kde název_koncového_bodu_DNS přesně odpovídá tomu, co se používá v definici hybridního připojení.
  • otestujte přístup z hostitele HCM ke koncovému bodu pomocí příkazu PowerShellu Test-NetConnection EndpointDNSname -P Port Pokud se z hostitele HCM nemůžete připojit ke koncovému bodu, zkontrolujte brány firewall mezi těmito dvěma hostiteli včetně všech hostitelských bran firewall na cílovém hostiteli.
  • Pokud používáte místní App Service v Linuxu, ujistěte se, že jako hostitele koncového bodu používáte localhost. 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.

V App Service nástroje příkazového řádku tcpping je možné vyvolat z konzoly Rozšířené nástroje (Kudu). Tento nástroj vám může říct, jestli máte přístup ke koncovému bodu TCP, ale neschová se v tom, jestli máte přístup ke koncovému bodu hybridního připojení. Když použijete nástroj v konzole proti koncovému bodu hybridního připojení, potvrzujete pouze, že používá kombinaci hostitel/port.

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