Azure WebAppsのHybridConnectionでドハマりしたとき試したこと
Azure WebAppsのHybridConnectionとは、Azure上のVPNなどの閉域網を構成しなくても
社内閉域網サーバー内のデータにアクセスできるツールです。
エンプラ系の課題にリーチしそうですね。
こと、Cloud移行したいんだけど一気には無理・・・なんて要求に対応しやすいです。
WepAppsとオンプレサーバーがつながらない
HybridConnectionはハイブリッド接続マネージャーという
クライアントソフトウェアを介して通信が行われるのですが
基本的にはインストールして、接続するエンドポイントを指定するだけの簡単なものです。
詳細は 過去記事をどうぞ。
しかし、ある環境で試したところ、接続できずに四苦八苦しました。
そのときに試したり確認した色々なことを書いていこうと思います。
0.まずはOSの確認を
HybridConnectionはWebSocketを使用して通信を行っているため
WindowsServerであれば2012以降からしか対応していません。
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
を使用して
通常のネットブラウズで使用されている経路やポートを抑えるのが、解決への早道となりそうです。