Azure Relay: 自由にプロトコルを選択してクロス プラットフォーム接続を確立

執筆者: Clemens Vasters (Architect, Azure Service Bus)

このポストは、11 月 1 日に投稿された Azure Relay – cross-platform, open-protocol connections の翻訳です。

 

Azure Relay サービスは Azure の中核的なサービスの 1 つとして初期から提供されており、多くの最新ソリューションでハイブリッド クラウド統合ツールの基礎として使用されています。Relay はクラウドとオンプレミスの資産の間での安全でシームレスな通信を可能にするもので、異なるサイトどうしもクラウドを仲介して接続することができます。また、アプリケーション レベルで動作するため、ネットワーク環境の安全性にはまったく影響せずにネットワーク アドレス変換 (NAT) の境界やファイアウォールを横断したり、エンドポイントを検出したりできます。

今回の記事ではお伝えしたいことが 2 つあります。まず、Event Hubs や Service Bus メッセージングと同じチームが開発、保守している Relay サービスが、新しい Azure ポータルで管理や監視可能となり、また Relay サービス単体で利用できるようになりました。

もう 1 つはさらに大きなニュースです。

Azure Relay 機能を使用する場合、ランタイムとプラットフォームに関しては Windows 上でフル バージョンの .NET Framework を実行している必要があり、WCF 通信フレームワークを使用する必要がありました。マイクロソフトではクライアントやサービスでこれらの機能の堅牢性を向上させることに長年 (主に水面下で) 取り組んでおり、今後も WCF Relay という名称で提供していきます。現在 WCF で Relay 機能を使用している場合、これまでと変更はありません。

Windows 以外のプラットフォームや好みの言語、ランタイム、フレームワークを使用している場合、今後のアプリ作成開発が大きく変わります。

このたび、プロトコルを自由に選択してクロス プラットフォーム接続を確立できる次世代の Azure Relay 機能、Hybrid Connections のプレビューが発表されました。

Hybrid Connections

Hybrid Connections により進化した Relay 機能は HTTPS と WebSocket に完全に準拠し、オンプレミス環境のファイアウォール内のリソースやサービスと、クラウド サービスや異なる場所にある資産を安全に接続できます。

WebSocket プロトコルに準拠し、特定のフレームワークに縛られずに双方向バイナリ通信チャネルを安全に確立できるため、Apache Thrift や Apache Avro、Microsoft Bond などの既存および最新の RPC フレームワークと簡単に統合できます。また、データベースやリモート デスクトップ、シェルなどを接続する場合のストリーム接続ブリッジの基礎としても有用です。

Hybrid Connections では、Relay サービスの堅牢なセキュリティ モデルを活かし、現在の Relay サービスで定評のある負荷分散機能やフェールオーバー機能を提供しています。

この機能の C# および JavaScript (Node) 用のサンプル コードやクライアント用コードは、既に GitHub で公開されています。また、一般提供に向けて今後さらに多くの言語バインディングを提供する予定です。C# のサンプルでは、Thrift と Avro の統合のデモをご覧いただけます。なお、皆様のご協力や RPC フレームワーク バインディングへの参加を広くお待ちしています。プロトコルのドキュメントの全文は、Azure ドキュメント センター (英語) で公開されています。

Hybrid Connections と BizTalk Services

この記事でお伝えした Hybrid Connections 機能は新しいサービスであり、BizTalk Services で提供中のハイブリッド接続機能とは異なります。BizTalk Services のハイブリッド接続機能はこれまでどおりで、料金や機能、使用方法の変更はありません。