Co je Azure Relay?What is Azure Relay?

Služba Azure Relay umožňuje bezpečně zpřístupnit služby spuštěné v podnikové síti pro veřejný cloud.The Azure Relay service enables you to securely expose services that run in your corporate network to the public cloud. Můžete to udělat bez otevření portu v bráně firewall nebo provedení rušivých změn v infrastruktuře podnikové sítě.You can do so without opening a port on your firewall, or making intrusive changes to your corporate network infrastructure.

Služba Relay podporuje následující scénáře mezi místními službami a aplikacemi spuštěnými v cloudu nebo v jiném místním prostředí.The relay service supports the following scenarios between on-premises services and applications running in the cloud or in another on-premises environment.

  • Tradiční jednosměrná komunikace, komunikace typu požadavek/odpověď a komunikace peer-to-peerTraditional one-way, request/response, and peer-to-peer communication
  • Distribuce událostí na úrovni internetu, která umožňuje scénáře typu publikování/odběrEvent distribution at internet-scope to enable publish/subscribe scenarios
  • Obousměrná soketová komunikace bez vyrovnávací paměti přes hranice sítíBi-directional and unbuffered socket communication across network boundaries.

Azure Relay se liší od integračních technologií na úrovni sítě, jako je například síť VPN.Azure Relay differs from network-level integration technologies such as VPN. Službu Azure Relay je možné omezit na jediný koncový bod aplikace na jednom počítači.An Azure relay can be scoped to a single application endpoint on a single machine. Technologie sítě VPN se spoléhá na upravování síťového prostředí a mnohem víc do něj zasahuje.The VPN technology is far more intrusive, as it relies on altering the network environment.

Základní tokBasic flow

Přenos dat s předáváním zahrnuje následující základní kroky:In the relayed data transfer pattern, the basic steps involved are:

  1. Místní služba se připojí k službě Relay přes odchozí port.An on-premises service connects to the relay service through an outbound port.
  2. Vytvoří obousměrný soket pro komunikaci vázanou na konkrétní adresu.It creates a bi-directional socket for communication tied to a particular address.
  3. Klient pak může komunikovat s místní službou odesíláním provozu do služby Relay s tím, že cílem je tato adresa.The client can then communicate with the on-premises service by sending traffic to the relay service targeting that address.
  4. Služba Relay pak data předá místní službě přes obousměrný soket vyhrazený pro daného klienty.The relay service then relays data to the on-premises service through the bi-directional socket dedicated to the client. Klient nepotřebuje přímé připojení k místní službě.The client doesn't need a direct connection to the on-premises service. Nemusí ani vědět, kde se služba nachází.It doesn't need to know the location of the service. A místní služba nepotřebuje mít v bráně firewall otevřené žádné příchozí porty.And, the on-premises service doesn't need any inbound ports open on the firewall.

FunkceFeatures

Azure Relay má dvě funkce:Azure Relay has two features:

  • Hybridní připojení – Pomocí otevřených webových soketů umožňuje scénáře s podporou více platforem.Hybrid Connections - Uses the open standard web sockets enabling multi-platform scenarios.
  • WCF Relay – používá Windows Communication Foundation (WCF) k povolení vzdálených volání procedur.WCF Relays - Uses Windows Communication Foundation (WCF) to enable remote procedure calls. WCF Relay je starší verze nabídky přenosu, kterou již mnozí uživatelé používají ve svých programovacích modelech WCF.WCF Relay is the legacy relay offering that many customers already use with their WCF programming models.

Hybridní připojeníHybrid Connections

Zabezpečená funkce Hybrid Connections s podporou otevřených protokolů ve službě Azure Relay je důsledkem vývoje funkcí služby Relay, které existovaly dříve.The Hybrid Connections feature in Azure Relay is a secure, and open-protocol evolution of the Relay features that existed earlier. Můžete ji používat na jakékoli platformě a v libovolném jazyce.You can use it on any platform and in any language. Funkce Hybrid Connections ve službě Azure Relay je založená na protokolech HTTP a WebSockets.Hybrid Connections feature in Azure Relay is based on HTTP and WebSockets protocols. Umožňuje odesílat požadavky a přijímat odpovědi přes webové sokety nebo protokol HTTP nebo HTTPS.It allows you to send requests and receive responses over web sockets or HTTP(S). Tato funkce je kompatibilní s rozhraním API WebSocket v běžných webových prohlížečích.This feature is compatible with WebSocket API in common web browsers.

Podrobnosti o protokolu pro hybridní připojení najdete v příručce k protokolům Hybrid Connections.For details on the Hybrid Connection protocol, see Hybrid Connections protocol guide. Hybrid Connections můžete používat s jakoukoli knihovnou webových soketů pro všechny moduly runtime a jazyky.You can use Hybrid Connections with any web sockets library for any runtime/language.

Poznámka

Funkce Hybrid Connections služby Azure Relay nahrazuje starší funkci hybridních připojení služby BizTalk Services.Hybrid Connections of Azure Relay replaces the old Hybrid Connections feature of BizTalk Services. Funkce Hybrid Connections ve službě BizTalk Services využívala službu Azure Service Bus WCF Relay.The Hybrid Connections feature in BizTalk Services was built on the Azure Service Bus WCF Relay. Schopnost Hybrid Connections ve službě Azure Relay doplňuje již dříve existující funkci WCF Relay.The Hybrid Connections capability in Azure Relay complements the pre-existing WCF Relay feature. Tyto dvě schopnosti služeb (WCF Relay a Hybrid Connections) existují ve službě Azure Relay vedle sebe.These two service capabilities (WCF Relay and Hybrid Connections) exist side-by-side in the Azure Relay service. Sdílejí sice společnou bránu, jinak se ale jedná o rozdílné implementace.They share a common gateway, but are otherwise different implementations.

WCF RelayWCF Relay

WCF Relay funguje v celém rozhraní .NET Framework a funguje i s technologií WCF.WCF Relay works with the full .NET Framework and for WCF. Propojení místní služby se službou Relay vytvoříte pomocí skupiny „předávacích“ vazeb WCF.You create a connection between your on-premises service and the relay service using a suite of WCF "relay" bindings. Vazby předávání se mapují na nové prvky vazby přenosu navržené pro vytváření komponent kanálu WCF, které se integrují s Service Bus v cloudu.The relay bindings map to new transport binding elements designed to create WCF channel components that integrate with Service Bus in the cloud. Další informace najdete v článku Začínáme s přenosy WCF.For more information, see getting started with WCF Relay.

Hybrid Connections vs. WCF RelayHybrid Connections vs. WCF Relay

Hybrid Connections i WCF Relay umožňují zabezpečené připojení k prostředkům existujícím v rámci podnikové sítě.Hybrid Connections and WCF Relay both enable secure connection to assets that exist within a corporate network. Použití jedné nebo druhé funkce závisí na konkrétních požadavcích, jak je popsáno v následující tabulce:Use of one over the other depends on your particular needs, as described in the following table:

WCF RelayWCF Relay Hybridní připojeníHybrid Connections
WCFWCF xx
.NET Core.NET Core xx
.NET Framework.NET Framework xx xx
JavaScript/Node.jsJava script/Node.JS xx
Otevřený protokol založený na standardechStandards-Based open protocol xx
Programovací modely RPCRPC programming models xx

Architektura Zpracování příchozích událostí požadavků na předáníArchitecture: Processing of incoming relay requests

Následující diagram ukazuje, jak služba Azure Relay zpracovává příchozí požadavky na předání:The following diagram shows you how incoming relay requests are handled by the Azure Relay service:

Zpracování příchozích událostí požadavků na předání WCF

  1. Čekající klient odešle do služby Azure Relay požadavek na poslech.Listening client sends a listening request to the Azure Relay service. Nástroj pro vyrovnávání zatížení Azure požadavek přesměruje do jednoho z uzlů brány.The Azure load balancer routes the request to one of the gateway nodes.
  2. Služba Azure Relay vytvoří předání v úložišti brány.The Azure Relay service creates a relay in the gateway store.
  3. Odesílající klient odešle požadavek na připojení k čekající službě.Sending client sends a request to connect to the listening service.
  4. Brána, která tento požadavek přijme, vyhledá předání v úložišti brány.The gateway that receives the request looks up for the relay in the gateway store.
  5. Brána přesměruje požadavek na připojení do správné brány uvedené v úložišti brány.The gateway forwards the connection request to the right gateway mentioned in the gateway store.
  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.The gateway sends a request to the listening client for it to create a temporary channel to the gateway node that's closest to the sending client.
  7. Čekající klient vytvoří dočasný kanál k bráně, která je nejblíže odesílajícímu klientovi.The listening client creates a temporary channel to the gateway that's closest to the sending client. 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.Now that the connection is established between clients via a gateway, the clients can exchange messages with each other.
  8. Brána přepošle všechny zprávy z naslouchajícího klienta do odesílajícího klienta.The gateway forwards any messages from the listening client to the sending client.
  9. Brána přesměruje všechny zprávy z odesílajícího klienta do čekajícího klienta.The gateway forwards any messages from the sending client to the listening client.

Další postupNext steps