はまったりひらめいたり…とか…

Angularや.NETやAzureやその他色々。

Azure WebAppsのHybridConnectionでドハマりしたとき試したこと

Azure WebAppsのHybridConnectionとは、Azure上のVPNなどの閉域網を構成しなくても

社内閉域網サーバー内のデータにアクセスできるツールです。

エンプラ系の課題にリーチしそうですね。

こと、Cloud移行したいんだけど一気には無理・・・なんて要求に対応しやすいです。

WepAppsとオンプレサーバーがつながらない

HybridConnectionはハイブリッド接続マネージャーという

クライアントソフトウェアを介して通信が行われるのですが

基本的にはインストールして、接続するエンドポイントを指定するだけの簡単なものです。

詳細は 過去記事をどうぞ。

しかし、ある環境で試したところ、接続できずに四苦八苦しました。

そのときに試したり確認した色々なことを書いていこうと思います。

0.まずはOSの確認を

HybridConnectionはWebSocketを使用して通信を行っているため

WindowsServerであれば2012以降からしか対応していません。

Hybrid Connection Manager の使用

1.接続設定の確認

HybridConncetionの設定の際に、PCの名称を指定するフィールドがあります。

ここの部分で名称を間違えたり、IPアドレスを指定したりすると繋がりません。

正しい設定になっているかどうか確認します。

2.ファイアウォールの確認

HybridConnectionは送信ポート443を使用して通信します。

ハイブリッド接続マネージャでエンドポイントを設定する際は

受信・送信ともにポート443を開放していないと設定できないですが

設定後は、送信ポートだけの開放でも問題なく動作するようです。

OSのファイアウォールで送信ポート443がブロックされているようであれば

開放してあげましょう。

※もちろん443を潰すということはセキュリティ的に重要なPCの可能性が高いので事前確認は忘れずに!

3.サービスが可動しているか確認

前述の通り、HybridConnectionはハイブリッド接続マネージャを介して通信が行われるので

常駐プロセスが立っているはずです。これが停止されていないか確認します。

4.インターネット接続の確認

それでもつながらない場合、そもそもインターネットにつながっている状態か確認します。

状況により下記の通り対応が分岐されます。

4.1 つながらない

ルーターの設定でブロックされている可能性があるので、ルーターの設定を確認します。

4.2 つながる

Proxyサーバーを介して通信が行われている可能性があるので確認します。

4.2.1 Proxy設定を確認

インターネットオプションから、Proxyを介した接続設定となっているか確認を行います。

4.2.2 ハイブリッド接続の設定を変更

Proxyを介して通信を行う設定となっていた場合

ハイブリッド接続マネージャーも、Proxyを介して通信をするよう変更します。

ハイブリッド接続マネージャーの実行ファイルと、同じディレクトリにある

Microsoft.HybridConnectionManager.Listener.exe.config ファイルの中身を変更します。

設定に下記内容を付け加えます。

<system.net>
 <defaultProxy>
  <proxy usesystemdefault="true" proxyaddress="http://hogehoge.proxyserver:1111" />
 </defaultProxy>
</system.net>

proxyaddress には先程インターネットオプションで確認したProxy設定を記述します。

自分はひとまずこれで接続することができました。

最後に

HybridConnectionは、大雑把に言ってしまえばSSLでデータをやり取りしているだけなので

ハイブリッド接続マネージャーを入れたサーバーで、インターネットにつながるのであれば

netstat とか Test-NetConnection を使用して

通常のネットブラウズで使用されている経路やポートを抑えるのが、解決への早道となりそうです。