Was ist Azure Relay?
Mit dem Azure Relay-Dienst können Sie Dienste, die in Ihrem Unternehmensnetzwerk ausgeführt werden, auf sichere Weise in der öffentlichen Cloud verfügbar machen. Dazu müssen Sie weder einen Port in Ihrer Firewall öffnen noch grundlegende Änderungen an der Netzwerkinfrastruktur Ihres Unternehmens vornehmen.
Der Relaydienst unterstützt die folgenden Szenarien zwischen lokalen Diensten und Anwendungen, die in der Cloud oder einer anderen lokalen Umgebung ausgeführt werden.
- Herkömmliche unidirektionale Peer-zu-Peer-Kommunikation vom Typ „Anforderung/Antwort“
- Ereignisverteilung im Internetbereich, um Veröffentlichungs-/Abonnementszenarien zu ermöglichen
- Bidirektionale und ungepufferte Socketkommunikation über Netzwerkgrenzen hinweg
Azure Relay unterscheidet sich von Technologie für die Integration auf Netzwerkebene, z.B. VPN. Für ein Azure-Relay kann als Bereich ein einzelner Anwendungsendpunkt auf einem einzelnen Computer festgelegt werden. Die VPN-Technologie hat deutlich größere Auswirkungen, da eine Änderung der Netzwerkumgebung erforderlich ist.
Grundlegender Ablauf
Die grundlegenden Schritte des Datenübertragungsmusters mit Relay sind:
- Ein lokaler Dienst stellt über einen ausgehenden Port eine Verbindung mit dem Relaydienst her.
- Es wird ein bidirektionaler Socket für die Kommunikation über eine bestimmte Adresse erstellt.
- Der Client kann dann mit dem lokalen Dienst durch Senden des Datenverkehrs an den Relaydienst unter Verwendung dieser Adresse kommunizieren.
- Der Relaydienst vermittelt anschließend Daten an den lokalen Dienst über den bidirektionalen Socket, der für den Client festgelegt ist. Der Client benötigt keine direkte Verbindung mit dem lokalen Dienst. Er muss den Standort des Diensts nicht kennen. Außerdem müssen für den lokalen Dienst auch keine eingehenden Ports in der Firewall geöffnet sein.
Features
Azure Relay verfügt über zwei Funktionen:
- Hybridverbindungen: Verwenden die offenen Standardwebsockets, die plattformübergreifende Szenarios zulassen.
- WCF-Relays: Verwenden Windows Communication Foundation, um Remoteprozeduraufrufe zuzulassen. WCF-Relay ist das ältere Relayangebot, das viele Kunden bereits mit ihren WCF-Programmiermodellen verwenden.
Hybridverbindungen
Das Feature „Hybridverbindungen“ in Azure Relay ist eine sichere Weiterentwicklung des Relay-Features mit offenem Protokoll, das bereits vorhanden war. Sie können es auf jeder Plattform und mit jeder Sprache verwenden. Das Feature „Hybridverbindungen“ in Azure Relay basiert auf HTTP- und WebSockets-Protokollen. Sie können damit über WebSockets oder HTTP(S) Anforderungen senden und Antworten empfangen. Dieses Feature ist mit der WebSocket-API in gängigen Webbrowsern kompatibel.
Ausführliche Informationen zum Hybridverbindungsprotokoll finden Sie im Leitfaden zum Hybridverbindungsprotokoll. Sie können Hybridverbindungen mit einer beliebigen WebSockets-Bibliothek für alle Runtimes bzw. Sprachen verwenden.
Hinweis
Hybridverbindungen von Azure Relay ersetzt das alte Feature für Hybridverbindungen von BizTalk Services. Das Feature „Hybridverbindungen“ in BizTalk Services basierte auf Azure Service Bus WCF Relay. Die Funktion „Hybridverbindungen“ in Azure Relay ist eine Ergänzung des bereits vorhandenen WCF Relay-Features. Diese beiden Dienstfunktionen (WCF Relay und Hybridverbindungen) sind im Azure Relay-Dienst parallel vorhanden. Sie teilen sich ein allgemeines Gateway, sind jedoch andererseits verschiedene Implementierungen.
Informationen zu den ersten Schritten mit Hybridverbindungen in Azure Relay finden Sie in den folgenden Schnellstarts:
- Hybridverbindungen: WebSockets in .NET
- Hybridverbindungen: WebSockets in Node
- Hybridverbindungen: HTTP in .NET
- Hybridverbindungen: HTTP in Node
- Hybrid-Verbinden ions – Java-HTTP
Weitere Beispiele finden Sie unter Azure Relay – Beispiele für Hybridverbindungen auf GitHub.
WCF-Relay
WCF Relay funktioniert mit dem vollständigen .NET Framework und für WCF. Sie erstellen eine Verbindung zwischen dem lokalen Dienst und dem Relaydienst mithilfe einer Sammlung von WCF-Bindungen vom Typ „Relay“. Die Relaybindungen werden neuen Transportbindungselementen zugeordnet, die entwickelt wurden, um WCF-Kanalkomponenten zu erstellen, die in Service Bus in der Cloud integriert werden.
Informationen zu den ersten Schritten mit WCF Relay finden Sie in den folgenden Schnellstarts:
- Verfügbarmachen eines lokalen WCF-Diensts für eine Web-App in der Cloud
- Verfügbarmachen eines lokalen WCF-Diensts für einen WCF-Client außerhalb Ihres Netzwerks
- Verfügbarmachen eines lokalen WCF-REST-Diensts für einen Client außerhalb Ihres Netzwerks
Weitere Beispiele finden Sie unter Azure Relay – WCF Relay-Beispiele auf GitHub.
Hybridverbindungen und WCF-Relay
Hybridverbindungen und WCF Relay aktivieren beide die sichere Verbindung mit Objekten, die innerhalb eines Unternehmensnetzwerks vorhanden sind. Welcher Ansatz verwendet wird, richtet sich nach den jeweiligen Anforderungen. Dies ist in der folgenden Tabelle beschrieben:
WCF-Relay | Hybridverbindungen | |
---|---|---|
WCF | x | |
.NET Core | x | |
.NET Framework | x | x |
JavaScript/Node.js | x | |
Standardbasierte offene Protokolle | x | |
RPC-Programmiermodelle | x |
Architektur: Verarbeiten eingehender Relayanforderungen
Das folgende Diagramm zeigt, wie eingehende Relayanforderungen vom Azure Relay-Dienst verarbeitet werden, wenn sich sowohl sendende als auch empfangende Clients außerhalb eines Unternehmensnetzwerks befinden.
- Der lauschende Client sendet eine Lauschanforderung an den Azure Relay-Dienst. Der Azure Load Balancer leitet die Anforderung an einen der Gatewayknoten weiter.
- Der Azure Relay-Dienst erstellt im Gatewayspeicher ein Relayelement.
- Der sendende Client sendet eine Anforderung zum Herstellen einer Verbindung mit dem lauschenden Dienst.
- Das Gateway, das die Anforderung empfängt, sucht im Gatewayspeicher nach dem Relay.
- Das Gateway leitet die Verbindungsanforderung an das richtige Gateway, das im Gatewayspeicher angegeben ist.
- Das Gateway sendet eine Anforderung an den lauschenden Client, damit dieser einen temporären Kanal mit dem Gatewayknoten erstellt, der dem sendenden Client am nächsten liegt.
- Der lauschende Client erstellt einen temporären Kanal zu dem Gateway, das dem sendenden Client am nächsten liegt. Nachdem nun zwischen Clients eine Verbindung über ein Gateway besteht, können die Clients untereinander Nachrichten austauschen.
- Das Gateway leitet alle Nachrichten vom lauschenden Client an den sendenden Client weiter.
- Das Gateway leitet alle Nachrichten vom sendenden Client an den lauschenden Client weiter.
Nächste Schritte
Befolgen Sie eine oder mehrere der folgenden Schnellstartanleitungen, oder sehen Sie sich Azure Relay-Beispiele auf GitHub an.
- Hybrid-Verbinden ionen
- WCF-Relay
Eine Liste der häufig gestellten Fragen und deren Antworten finden Sie unter "Relay FAQ".