はじめに
BIG-IP LTMのHTTP Monitorを使用したWebサーバの監視については、特に深く考えることなく設定を行うことが出来ると思います。しかし、HTTPS Monitorの場合は、仮にSend StringやRecieve Stringが合っていたとしてもヘルスチェックが失敗してしまいます。
今回は、HTTPS Monitorを用いたヘルスチェックを成功させる方法について順を追って説明します。F5社のDevCentralでも質問していた方がいて結局のところ解決できていないところを見ると、困っている方もたくさんいるのではないでしょうか。
結論から申し上げますと、SSL Server ProfileをHTTPS MonitorにセットしたものをPoolに紐づければ可能です。
前提:監視対象ノードの証明書の更新
HTTPS Monitorを用いたヘルスチェックが失敗する原因は、証明書のチェックに失敗することによるHTTP 400 BadRequestが監視対象のノードからResponseされるためです。これは、監視対象のWebサーバのログなどを見るとわかります。
つまり、BIG-IPがHTTPSで監視対象のノードにアクセスした際に証明書のチェックが成功すればよいわけです。ブラウザでWebサーバにアクセスした時に証明書に関するエラー画面が表示されないのは、Webサーバから提示される証明書の正当性をルート証明書が判断できているからですね。Webブラウザ = BIG-IPと考えれば良いでしょう。
そのためには、まず監視対象ノードの証明書更新を正しく行います。その際、CSRを署名した認証局の証明書も必ず入手してください。これを後で使います。
第一段階:認証局の証明書のインポート
では、第一段階として認証局の証明書のインポートを行います。
登録方法は簡単です。
System > Certificate Management > Trafffic Certificate Management > SSL Certificate List からimportを実施するだけです。名前は好きな名前で良いです。
第二段階:SSL Server Profileの作成
Virtual-ServerでHTTPS通信を可能とするために一般的にはSSL Cilent Profileを作成します。ここでは、SSL Server Profileを作成します。
Local Traffic > Profiles > SSL > Server から作成することができます。
設定画面を開くと大量の設定項目があり目が痛くなりますが、設定が必要な箇所はServer Authentication内の下記の項目だけです。その他の項目は必要に応じて変えてください。
・Server Certificate:require
・Trusted Certificate Authorities:第一段階で登録した認証局の証明書を指定
第三段階:HTTPSモニターの作成
ここで、HTTPSモニターを作成します。
この記事を見ている方ならご存じかとは思いますが一応説明します。
Local Traffic > Monitors から Createを押します。 その後、設定画面のTypeではプルダウンからHTTPSを選択することで作成することができます。
さらに、Configuration:Advancedをプルダウンから選択して、新しく表示されたSSL Profileから第二段階で作成したServer Profileを選択してください。
他の項目は要件に応じて修正してください。
第四段階:PoolへのHTTPSモニターの割り当て
第三段階で作成したHTTPSモニターをPoolに割り当てます。
Local Traffic > Pools で対象のPoolをクリックしていただき、Health MonitorsのActiveに第三段階で作成したHTTPSモニターを選択します。
最後に
第一段階から第四段階まで実施することで無事にHTTPSによるヘルスチェックが成功するはずです。この記事がお役に立てば幸いです。
コメント