Vytvoření hybridního připojení Azure Relay

Dokončeno

Azure Relay poskytuje způsob propojení služeb přes hranice sítě a brány firewall bez nutnosti znovu konfigurovat nastavení zabezpečení.

Všechny systémy ve vaší finanční organizaci chcete přesunout do cloudu. Předpisy ve vaší jurisdikci ale neumožňují migrovat službu kontroly úvěru. Kvůli ochraně dat musí tato služba zůstat v místním prostředí. Potřebujete způsob, jak propojit cloudové služby se službou kontroly úvěru. V ideálním případě byste nechtěli otevírat další porty na místní bráně firewall ani vytvářet virtuální privátní síť.

V této lekci se dozvíte, jak azure Relay může toto připojení poskytnout.

Co je Azure Relay?

Mnoho organizaci migruje své systémy do cloudu. Tento proces se často provádí postupně, po jednotlivých komponentách. Takový přístup omezuje účinek problémů, které mohou vzniknout během migrace, ale má své vlastní výzvy. Nově migrovaná cloudová komponenta například často potřebuje komunikovat s jinou komponentou, která zůstává v místním prostředí, ale je chráněna bránou firewall nebo jinými systémy zabezpečení.

V jiných případech můžete zjistit, že místní službu do cloudu migrovat nelze. Vaše jurisdikce například může mít další požadavky na zabezpečení finančních systémů, které v cloudovém systému nemůžete splnit.

V takových situacích je třeba, aby byly místní služby přístupné z internetových klientů nebo cloudových komponent. Pro tuto komunikaci byste mohli otevřít port brány firewall, ale tento přístup může mít nezamýšlené důsledky. Mohli byste například nechtěně vystavit jiné služby než ty, které jste měli na mysli. Ve velkých organizacích možná nebudete mít na starosti firewall. Změna bezpečnostního režimu může vyžadovat autorizaci na vysoké úrovni, jejíž získání vyžaduje čas.

Azure Relay řeší tyto druhy problémů tím, že poskytuje místo v cloudu, kde se mohou připojit místní a internetové komponenty. Protože toto připojení iniciuje místní systém, nemusíte otevírat žádné porty brány firewall ani nijak zasahovat do konfigurace místní sítě.

Hybridní připojení a připojení Windows Communication Foundation

Azure Relay navazuje propojení mezi dvěma komponenty, například funkcí Azure Functions a místní službou. Po navázání připojení je možné žádosti a odpovědi předávat prostřednictvím přenosové služby, jako by se jednalo o přímé připojení. V Azure Relay můžete vytvořit dva typy připojení:

  • Hybridní připojení: Hybridní připojení jsou obousměrné datové proudy binárních dat, které používají standardy WebSocket nebo HTTP. Vzhledem k tomu, že jsou tato připojení založena na otevřených standardech, můžete je používat z téměř jakéhokoli jazyka nebo architektury pro vytváření kódu. Můžete je například použít pro připojení místního serveru Node.js k webové úloze Azure napsané v C # a .NET Frameworku.
  • Připojení WCF: Někteří vývojáři používají technologii Windows Communication Foundation (WCF) k povolení vzdálených volání procedur. Technologie WCF se běžně používala pro síťovou komunikaci se staršími verzemi rozhraní .NET Framework. V současné době se WCF považuje za starší protokol, ale ve starších aplikacích se stále běžně používá. Protože Azure Relay podporuje WCF, můžete jej použít s existujícími komponentami .NET Framework, které používají tento standard, aniž byste je museli přepisovat.

Používejte hybridní připojení, pokud nepodporujete existující komponenty .NET Framework, které používají WCF.

Připojení WebSocket a připojení HTTP

Hybridní připojení může používat jeden z těchto protokolů:

  • HTTP: Tento bezstavový protokol se skládá z požadavků, jako je GET a POST, a používá se k přenosu webových stránek mezi webovými servery a prohlížeči. Pokud je požadavek zabezpečen pomocí SSL (Secure Sockets Layer), HTTP obvykle používá port TCP 80 nebo 443. Tento protokol se široce podporuje a snadno se pro něj píše kód. Protože je ale tento protokol bezstavový, je méně účinný v případě trvalé komunikace.
  • WebSocket: Tento protokol vytvoří plně duplexní komunikační kanál přes port 80 nebo 443, který je efektivnější než bezstavový protokol HTTP. Připojení WebSocket je zvláště efektivní v případech, kdy komunikaci tvoří mnoho zpráv, ne jen jedna žádost a odpověď.

V tomto modulu je proces jednoduchým požadavkem na ověření kredibility, po kterém následuje jedna odpověď, použijete hybridní připojení a protokol HTTP.

Jak Azure Relay funguje

Protože připojení k Azure Relay iniciují komponenty hostované v cloudu i místním prostředí, místní brány firewall nezasahují. Po vytvoření připojení může komunikace proudit oběma směry.

Následující diagram ukazuje, jak je připojení vytvořeno:

Diagram showing how Azure Relay exchanges messages.

  1. Čekající klient odešle do služby Azure Relay požadavek na poslech. Nástroj pro vyrovnávání zatížení Azure požadavek přesměruje do jednoho z uzlů brány.
  2. Služba Azure Relay vytvoří předání v úložišti brány.
  3. Odesílající klient odešle požadavek na připojení k čekající službě.
  4. Brána, která tento požadavek přijme, vyhledá předání v úložišti brány.
  5. Brána přesměruje požadavek na připojení do správné brány uvedené v úložišti brány.
  6. Brána odešle do čekajícího klienta požadavek na vytvoření dočasného kanálu k uzlu brány, která je nejblíže odesílajícímu klientovi.
  7. Čekající klient vytvoří dočasný kanál k bráně, která je nejblíže odesílajícímu klientovi. Když je teď navázané připojení mezi klienty prostřednictvím brány firewall, můžou si klienti mezi sebou vyměňovat zprávy.
  8. Brána předá všechny zprávy odesílajícího klienta do odesílajícího klienta.
  9. Brána přesměruje všechny zprávy z odesílajícího klienta do čekajícího klienta.

Jak vytvořit přenosovou službu

Pokud chcete vytvořit přenosovou službu, potřebujete obor názvů, který je v rámci domény servicebus.windows.net jedinečný. Můžete také zadat předplatné, skupinu prostředků a umístění přenosové služby, které jsou co nejblíže většině vašich klientů.

Pokud chcete řídit akce, které klienti mohou při připojení provádět, použijte zásady sdíleného přístupu. Pomocí těchto zásady povolíte, zda klienti mohou odesílat zprávy a číst zprávy z přenosové služby. Každá zásada sdíleného přenosu má primární a sekundární klíč. Pokud se chce klient připojit k přenosové službě, musí předložit jeden z těchto klíčů.

Nakonec vytvoříte připojení v oboru názvů. Může se jednat o hybridní připojení nebo připojení WCF.