Windows Azure Virtual Machineではロードバランサーが提供されている
前の例は、1つの仮想マシン用にポートを空ける説明でした。 しかし、時にはロードバランサーで同じポートで複数の仮想マシンでレスポンスさせたいことがあります。Windows Azure Virtual Machineでは、ロードバランサーセットが提供されています。ロードバランサーセットは、単純に複数の仮想マシンで同じエンドポイントの設定をしエンドポイントをまとめてグループ化します。例えば図5のようにパブリックポート80番のエンドポイントに仮想マシンを3つ定義すると、3つの仮想マシンにロードバランシングさせることができます。
この機能は、Windows Azure管理ポータルでは仮想マシンのロードバランシング設定ができます。コマンドで定義するとカスタムヘルス監視を使用してロードバランサー上でより詳細な制御をすることができます。
リスト2は、PowerShellでエンドポイントを定義しています。パブリックポート80番とローカルポート8080番をポートフォワードし、ヘルスチェック機能付きのロードバランシングを定義しています。80番ポートのhttpプロトコルでhealth.txtに接続し200が返ってくれば正常動作、200以外の場合はロードバランシング対象から切り離すヘルスチェックをしています。
Add-AzureEndpoint -Name "HttpIn" -Protocol "tcp" -Public Port 80 -LocalPort 8080 -LBSetName "WebFarm" -ProbePort 80 -ProbeProtocol "http" -ProbePath "/health.txt"
ヘルスチェックに使用できるプロトコルは、[-Protocol]パラメーターで指定でき、HTTPとTCPの2種類指定できます。HTTPの場合は死活監視のURLから「200 OK」を受け取ります。TCPの場合は、「ACK」を受け取ります。
まとめ
Windows Azure Virtual Machineの概要と提供されている機能について説明しました。Windows Azure Virtual Machineの仕様を踏まえて、次回は具体的な操作方法を見ていきます。