Che cos'è il servizio di inoltro di Azure?What is Azure Relay?

Il servizio di inoltro di Azure semplifica le applicazioni ibride consentendo di esporre in modo sicuro nel cloud pubblico i servizi che risiedono in una rete aziendale, senza dover aprire una connessione firewall o richiedere modifiche di notevole impatto a un'infrastruttura di rete aziendale.The Azure Relay service facilitates hybrid applications by enabling you to securely expose services that reside within a corporate enterprise network to the public cloud, without having to open a firewall connection, or require intrusive changes to a corporate network infrastructure. Il servizio di inoltro supporta un'ampia gamma di protocolli di trasporto e standard dei servizi Web.Relay supports a variety of different transport protocols and web services standards.

Il servizio di inoltro supporta il tradizionale traffico unidirezionale, richiesta/risposta e peer-to-peer.The relay service supports traditional one-way, request/response, and peer-to-peer traffic. Supporta inoltre la distribuzione degli eventi nell'ambito di Internet per abilitare scenari di pubblicazione/sottoscrizione e le comunicazioni tramite socket bidirezionale per migliorare l'efficienza point-to-point.It also supports event distribution at internet-scope to enable publish/subscribe scenarios and bi-directional socket communication for increased point-to-point efficiency.

Nel modello di trasferimento dati con inoltro, un servizio locale si connette al servizio di inoltro attraverso una porta in uscita e crea un socket bidirezionale per la comunicazione associato a un determinato indirizzo rendezvous.In the relayed data transfer pattern, an on-premises service connects to the relay service through an outbound port and creates a bi-directional socket for communication tied to a particular rendezvous address. Il client può quindi comunicare con il servizio locale inviando traffico al servizio di inoltro con l'indirizzo rendezvous come destinazione.The client can then communicate with the on-premises service by sending traffic to the relay service targeting the rendezvous address. Il servizio di inoltro "inoltra" quindi i dati al servizio locale tramite un socket bidirezionale dedicato a ogni client.The relay service then "relays" data to the on-premises service through a bi-directional socket dedicated to each client. Il client non necessita di una connessione diretta al servizio locale, non deve conoscere la posizione in cui risiede il servizio e il servizio locale non richiede porte in ingresso aperte sul firewall.The client does not need a direct connection to the on-premises service, it is not required to know where the service resides, and the on-premises service does not need any inbound ports open on the firewall.

Le principali funzionalità offerte dal servizio di inoltro sono la comunicazione bidirezionale senza buffer attraverso i limiti di rete con limitazione di tipo TCP, individuazione degli endpoint, stato della connettività e sicurezza degli endpoint sovrapposta.The key capability elements provided by Relay are bi-directional, unbuffered communication across network boundaries with TCP-like throttling, endpoint discovery, connectivity status, and overlaid endpoint security. Le funzionalità di inoltro si differenziano da quelle delle tecnologie di integrazione a livello di rete come VPN perché l'ambito dell'inoltro può essere limitato a un singolo endpoint applicazione in un singolo computer, mentre la tecnologia VPN ha un impatto molto più elevato perché si basa sulla modifica dell'ambiente di rete.The relay capabilities differ from network-level integration technologies such as VPN, in that relay can be scoped to a single application endpoint on a single machine, while VPN technology is far more intrusive as it relies on altering the network environment.

Il servizio di inoltro di Azure include due funzionalità.Azure Relay has two features:

  1. Connessioni ibride: questa funzionalità usa WebSocket basati su standard aperti per supportare scenari multipiattaforma.Hybrid Connections - Uses the open standard web sockets enabling multi-platform scenarios.
  2. Inoltri WCF: questa funzionalità usa Windows Communication Foundation (WCF) per supportare chiamate RPC.WCF Relays - Uses Windows Communication Foundation (WCF) to enable remote procedure calls. L'inoltro WCF è la soluzione di inoltro legacy che molti clienti usano già con i modelli di programmazione WCF.WCF Relay is the legacy relay offering that many customers already use with their WCF programming models.

Sia le connessioni ibride che gli inoltri WCF consentono la connessione sicura ad asset presenti all'interno di una rete aziendale.Hybrid Connections and WCF Relays both enable secure connection to assets that exist within a corporate enterprise network. L'uso dell'una o dell'altra funzionalità dipende dalle specifiche esigenze, come illustrato nella tabella seguente:Use of one over the other is dependent on your particular needs, as described in the following table:

Inoltro WCFWCF Relay Connessioni ibrideHybrid Connections
WCFWCF xx
.NET Core.NET Core xx
.NET Framework.NET Framework xx xx
JavaScript/NodeJSJavaScript/NodeJS xx
Protocollo aperto basato su standardStandards-Based Open Protocol xx
Più modelli di programmazione RPCMultiple RPC Programming Models xx

Connessioni ibrideHybrid Connections

La funzionalità Connessioni ibride del servizio di inoltro di Azure è un'evoluzione sicura basata su protocolli aperti delle funzionalità di inoltro esistenti e può essere implementata in qualsiasi piattaforma e linguaggio con funzionalità WebSocket di base. Questo include esplicitamente l'API WebSocket dei comuni Web browser.The Azure Relay Hybrid Connections capability is a secure, open-protocol evolution of the existing Relay features that can be implemented on any platform and in any language that has a basic WebSocket capability, which explicitly includes the WebSocket API in common web browsers. La funzionalità Connessioni ibride è basata su HTTP e WebSocket.Hybrid Connections is based on HTTP and WebSockets.

Storia del servizioService history

Le connessioni ibride sostituiscono la precedente funzionalità con nome simile di "Servizi BizTalk", basata sull'inoltro WCF del bus di servizio di Azure.Hybrid Connections supplants the former, similarly named "BizTalk Services" feature that was built on the Azure Service Bus WCF Relay. La nuova funzionalità Connessioni ibride è complementare all'inoltro WCF esistente e queste due funzionalità coesistono fianco a fianco nel servizio di inoltro di Azure.The new Hybrid Connections capability complements the existing WCF Relay feature and these two service capabilities exist side-by-side in the Azure Relay service. Condividono un gateway comune, ma costituiscono per il resto implementazioni diverse.They share a common gateway, but are otherwise different implementations.

Inoltri WCFWCF Relays

L'inoltro WCF si applica all'intero .NET Framework (NETFX) e a WCF.The WCF Relay works for the full .NET Framework (NETFX) and for WCF. È possibile avviare la connessione tra il servizio locale e il servizio di inoltro usando una suite di associazioni di "inoltro" WCF.You initiate the connection between your on-premises service and the relay service using a suite of WCF "relay" bindings. Dietro le quinte, eseguire il mapping delle associazioni di inoltro ai nuovi elementi di associazione di trasporto progettati per creare i componenti di canale WCF che si integrano con il bus di servizio nel cloud.Behind the scenes, the relay bindings map to new transport binding elements designed to create WCF channel components that integrate with Service Bus in the cloud.

Architettura: elaborazione delle richieste di inoltro in ingressoArchitecture: Processing of incoming relay requests

Quando un client invia una richiesta al servizio di inoltro di Azure, Azure Load Balancer instrada la richiesta a uno dei nodi del gateway.When a client sends a request to the Azure Relay service, the Azure load balancer routes it to any of the gateway nodes. Se la richiesta è una richiesta di ascolto, il nodo del gateway crea un nuovo inoltro.If the request is a listening request, the gateway node creates a new relay. Se la richiesta è una richiesta di connessione a un inoltro specifico, il nodo del gateway invia la richiesta di connessione al nodo del gateway che possiede l'inoltro.If the request is a connection request to a specific relay, the gateway node forwards the connection request to the gateway node that owns the relay. Il nodo del gateway che possiede l'inoltro invia una richiesta di rendezvous al client di ascolto, chiedendo al listener di creare un canale temporaneo sul nodo del gateway che ha ricevuto la richiesta di connessione.The gateway node that owns the relay sends a rendezvous request to the listening client, asking the listener to create a temporary channel to the gateway node that received the connection request.

Quando viene stabilita la connessione di inoltro, i client possono scambiare messaggi tramite il nodo del gateway utilizzato per il rendezvous.When the relay connection is established, the clients can exchange messages via the gateway node that is used for the rendezvous.

Elaborazione delle richieste di inoltro Web application firewa in ingresso

Passaggi successiviNext steps