はじめに
このドキュメントでは、GTMを実行するF5ロードバランサを設定して、Umbrella仮想アプライアンスへの接続をロードバランスする方法について説明します。
概要
このソリューションは、プライオリティグループとヘルスチェックを利用します。このヘルスチェックでは、仮想アプライアンスへのDNS接続を監視し、仮想アプライアンスの可用性に基づいてトラフィックをリダイレクトします。
F5ロードバランサの詳細については、https://www.f5.com/glossary/load-balancerを参照してください。
手順
F5はプライオリティグループの概念を持っています。プールを設定する際には、すべての仮想アプライアンスの優先度を通常のローカルDNSリゾルバよりも高くすることができます。
- Umbrellaプールのすべてのメンバーにプライオリティグループを割り当てます。VAは同じ高いプライオリティ番号を持ち、バックアップローカルリゾルバは低いプライオリティを持つ必要があります。
- DNSルックアップを実行するヘルスチェックを作成します。この手順では、DNSサーバが動作していることを確認し、動作していない場合はプールからDNSサーバを無効にします。
このために、https://devcentral.f5.com/codeshare?sid=390にある「dnsmonitor」外部ヘルスチェックを使用しています。
-
リンクからコードをダウンロードし、ローカルファイル「dnsmonitor」として保存します。
-
System > File Management > External Monitor Program File Listの順に選択して、「dnsmonitor」をインポートします。
- Local Traffic > Monitors > New Monitorで、新しいヘルスチェックモニタを作成します。ここでは、a.rootservers.netに対してDNS Aレコードのルックアップを行っています。これは常に198.41.0.4であることが望まれます。引数では、検索する対象を指定します。「a.rootservers.net」、レコードのタイプ「A」、予想されるレコードのタイプ「198.41.0.4」、所要時間「2秒」です。 ルックアップアドレスを環境に適したアドレスに変更したり、必要に応じてヘルスチェックを追加したりできます
-
このヘルスチェックをプールに追加します。Local Traffic > Pools > "umbrella (またはステップ1で作成したプール) > Propertiesで、Health Monitorを新しいdns-monitor-a.rootservers.netに変更します。上記の提案に従って、複数のヘルスモニタを選択できます。アベイラビリティ要件を選択するには、「詳細」タブに移動する必要もあります。ここでは、1台のヘルスモニタで基本的な設定を維持します。
- F5がリッスンする仮想サーバとポートを作成します。これは、クライアントが照会するBigIPまたは仮想IPです。「傘」プールを使用します。
検証
debug.opendns.comに対してTXTクエリを実行すると、仮想アプライアンスがヒットしていることを確認できます。
OSX\Linux - dig txt debug.opendns.com <VIP IP>
Windowsの場合:nslookup -type=txt debug.opendns.com <VIP IP>
これにより、Umbrellaアカウントに関する情報が出力されます。「アプライアンスID」というフィールドを探します。 この後の番号は、各仮想アプライアンスに固有です。TXTルックアップを実行してアプライアンスIDをコピー・ダウンし、プール内の最初のVAを切断してコマンドを再度実行し、プール内の他のVAの1つからIDを取得することで、ロード・バランシングが行われていることを確認できます。