ADFS × Azure 仮想マシンのプローブ設定

皆さんこんにちは。国井です。

ADFSサーバーをMicrosoft Azureの仮想マシンに実装し、運用するケースってよく見られる運用だと思います。そのとき、ロードバランサーを実装し、その配下にADFSサーバーを置くことになると、Azureのロードバランサーが死活状況を確認し、動作しているサーバーにパケットを振り分けるよう、プローブと呼ばれる設定を行います。

本来、プローブはWebサーバーの実際のコンテンツが保存されている場所(default.aspxみたいなWebページ)を指定しておき、そのページにアクセスできることを確認することで、「このサーバーは死んでないな。よしパケットを振り分けてあげよう!」ということをします。

では、ADFSサーバーがロードバランサーの配下にいる場合、どのページをプローブとして設定すればよいでしょうか?

方法はいろいろとあるのでしょうが、ADFSサーバーではプローブ用の専用ページを用意しています。そのため、プローブ用のページを指定してあげるのが吉ではないでしょうか。以下のページがプローブ用のページです。

http://<フェデレーションサービス名>/adfs/probe

ポイントはhttpsではなく、httpプロトコルを指定しているところ。これを踏まえてAzureのロードバランサーにプローブを設定してあげましょう。
Azureの新ポータルから設定するのであれば、こんな感じ。

image

負荷分散規則がhttpsでも全く関係なく、httpプロトコルのプローブは設定できます。

image

Azure仮想マシンをロードバランサーで負荷分散させ、ADFSのサービスを冗長化させたいときには、ぜひ試してみてください。

2017年3月29日追記
本設定はWebアプリケーションプロキシにも有効です。ただし、ADFSサーバーとは異なり、HTTPのポートがデフォルトで開いてません。そのため、WindowsファイアウオールでTCP80ポートの受信を許可するルールを別途作成してください。