gdnsd

オープンソースのグローバルロードバランサー(GSLB)
ソースコード量が少なく、高速動作と脆弱性の発生しにくさが特長となっている。
ただし、ソースコードを減らす為にプログラムのロギング機能が省略されていたり、
細かいヘルスチェックはスクリプトを別途作成する必要がある為、
フル機能を使いこなすには知識・技術が必要なソフトウェアである。
 
gdnsdは通信事業者レベルでの採用実績がある。
また、ソースコードが少ない割には整理されている為、機能追加も比較的楽に出来る。

参考サイト

構築環境

インストール

ヘルスチェック

ヘルスチェックを元にした広域負荷分散処理が、GSLBの本質機能となる。
gdnsdにもヘルスチェック機能が搭載されている為、単体でGSLBとして十分に稼働させる事が可能である。
 
ヘルスチェックの挙動はコンフィグファイルに書いた後、
DNSゾーンファイルで特殊なレコード設定を行う事によりDNSレコードを動的に変更する事が出来る。
gdnsd用の特殊レコードのDYNA/DYNCレコードを設定する事で、ヘルスチェックに基づいた可変応答が可能となる。
Aレコードを応答させる場合はDYNAレコード、CNAMEの場合はDYNCレコードを使用する。