NLB経由でRDPしようとすると通信がうまくいかない時の対処法
こんにちは!
NLBを経由してWindowsServerのEC2インスタンスに3389ポートを使ってRDP接続したくなる時、ありますよね。
そのWindowsSeverにインストールされているSQLserverに1433ポートを使ってNLB経由で接続したくなる時、ありますよね。
というか、私が実際に業務でそういった検証をしていました。
今回の事象
1.NLB経由でRDP接続をする
①NLBにRDP(3389)のみをターゲットとしたターゲットグループを設定
②NLBのIPとDNS経由でそれぞれ接続RDP接続できることを確認
2.NLB経由でSQLseverに接続する
①NLBに元々設定していたターゲットグループに1433ポートをターゲットとして追加
②NLBのIPとDNS経由でそれぞれ接続SQLseverに接続できることを確認
ここまでは順調だったのですが、SQLseverの接続確認の担当者から報告が。
「なんか接続がプツプツ切れますね」
と言うことで調査していくと、NLB経由でRDP接続を試みてもうまく接続できない事例が多発するようになっていました。
色々試したけどなかなか改善しませんでした。
結論
色々と検証してうまくいかなかったりしたのですが、そこは今回省いて結論から申し上げますと、以下の2点で解決しました。
①ターゲットグループの属性の設定でスティッキーセッション(維持設定)を有効にする
②スティッキーセッション(維持設定)有効後にRDPとSQL用のポートをターゲットグループに登録する
以上です。
ちなみに、ターゲットグループにターゲットを登録した状態でスティッキーセッション(維持設定)を有効にしても改善はできませんでした。そのせいで数時間悩まされましたね、、、。
スティッキーセッション(維持設定)を有効化したことで、クライアントとターゲット間のセッションが固定化され、安定して接続できるようになったのだろうと推察します。
ネットワーク周りの問題はなかなかどうして難しいですね。日々勉強です。
追記
数日後確認したらまた同様の事象が発生していました。
最終的には下記の対応で事象の再発は無くなりました。
ターゲットグループを指定したいポートごとに分ける
これだけです。どうしても一つのターゲットグループにポートを複数設定してしまうと衝突してしまうみたいですね(正直深く理解はできていない)
皆さんも衝突事故には気をつけてください。
おしまい。
Discussion