forward プラグインのおさらい
forward プラグインは、CoreDNS が受け取った問い合わせを外部 DNS サーバーに転送します。典型的な設定は以下のようになります。
.:53 {
forward . 8.8.8.8 1.1.1.1
cache 30
}
- 8.8.8.8(Google Public DNS)、1.1.1.1(Cloudflare DNS)を指定
- CoreDNS はこれらの上流サーバーに問い合わせを転送
- 応答をキャッシュして再利用
このとき複数のフォワード先を指定すると、CoreDNS は内部的にロードバランシングやフォールバックを行います。
フォールバックの仕組み
CoreDNS の forward プラグインは以下の動作をします。
すべてのサーバーが失敗した場合はエラーを返す。つまり、一時的に上流 DNS がダウンしても別のサーバーに自動で切り替わるため、可用性を高められます。
実際の設定例
複数フォワード先の設定
.:53 {
forward . 8.8.8.8 1.1.1.1 9.9.9.9
policy sequential
cache 30
}
policy sequential を指定すると、順番に試行してフォールバック動作を明示的に利用できる。デフォルトは random で、ランダムにサーバーを選びつつ障害時にフォールバックする。