NLB(Network LoadBarancer)機能は、サーバーアプリケーションの可用性、拡張性を高めるためのもの。
WEBベースアプリケーションやVPNなどがメリットを受けやすい。
クラスタ内のノードに障害が発生した場合、その生涯は自動的に検知され、残ノードに引き継がれる。
要件としては、
・同一サブネットに所属している必要がある
・同一クラスタ内でユニキャスト・マルチキャストのミックスはできないので、一方に決めておく
・対象ノードに静的IPが付与されている
こんな感じの構成。
サーバ2台にIISをインストールする。
1 2 3 4 5 |
# IISのインストール Add-WindowsFeature Web-Server # ホスト名を記したページを作成 Add-Content -Path "C:\inetpub\wwwroot\Default.htm" -Value $($env:computername) |
インストールしたサーバへブラウザでアクセスするとホスト名が表示される
「ネットワーク負荷分散」をインストールする
サーバーマネージャーから「ネットワーク負荷分散」を選び、設定していく。2台のうちの1台でOK。
クラスタ用のIPアドレスを設定
FQDNを決める。DNSのレコードに登録してあげるといい感じになるけど、今回はやらない。
クラスタ操作モードが結構ミソ。今回はマルチキャストで設定。(ムズイ・・・)
https://milestone-of-se.nesuke.com/sv-basic/windows-basic/nlb-cluster/
httpを通すので、80版ポートを設定。アフィニティの「なし」はランダムで振り分ける。
2台目のサーバをクラスターに組み込む。
一応、これで完成。
ブラウザでアクセスしてみると、負荷分散されていることがわかる!
(Chromeで試したんだけど、CtrlF5でも切り替わらなかった。ブラウザを再起動したりしたら切り替わった。そういうもん??)
実際には、ネットワークアダプタにセカンダリIPアドレスが付く
結局、F5更新でうまくばらけなかったところがうやむやなままだったけど、とりあえずこういうもんということろは分かったので良しとしよう。(ハマりすぎて、3日くらい頭を悩ませていた)