本記事について
本記事では、Fortinet 社のファイアウォール製品である FortiGate について、HA 構成時のハートビートの送信間隔と障害判定しきい値の設定に関して説明します。
動作確認環境
本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。
- FortiGate-60F
- バージョン 7.4.3
HA におけるハートビートとは
FortiGate で HA を構成する場合、FortiGate 機器間はハートビートインターフェースを使用して直接接続されます。ハートビートインターフェースでは、定期的にハートビートパケットが送受信され対向機器の状態を監視しています。

一定回数以上連続で対向機器からのハートビートの受信に失敗すると、FortiGate は対向機器に障害が発生したと判断しフェイルオーバーが発生します。
ハートビートの送信間隔、及び障害と判定する連続失敗回数のしきい値は HA の設定として設定変更することができます。この設定は FortiGate の筐体障害時の通信断時間に影響します。
ハートビートに関わる設定項目
ハートビートに関わる設定はconfig system ha
内で設定します。なお GUI では設定できません。
設定項目は以下の通りです。
- hb-interval
- 下のハートビート送信間隔に乗じられる値
- 1-20 の範囲で設定
- hb-interval-in-milliseconds
- ハートビート送信間隔 (ミリ秒)
- 100ms または 10ms から設定
- hb-lost-threshold
- 対向機器に障害発生と判定する連続失敗回数のしきい値
- 1-60 の範囲で設定
各設定のデフォルト値は以下の通りです。
config system ha
set hb-interval 2
set hb-interval-in-milliseconds 100ms
set hb-lost-threshold 6
end
つまり、ハートビートは 100 × 2 = 200 ミリ秒ごとに送信され、6 回連続でハートビートに失敗すると障害と判定します。障害発生からフェイルオーバーが発生するまでに 200 × 6 = 1200 ミリ秒 = 1.2 秒が少なくともかかるということになります。
Hello ホールドダウンタイマーについて
HA が構成された FortiGate は、起動時に一定時間 Hello 状態となりハートビートの送受信を行い、クラスタを形成する他の FortiGate が存在するかを確認します。その後見つけた他の FortiGate とクラスタを形成し、Work 状態に移行します。この時の Hello 状態にとどまる時間が Hello ホールドダウンタイマーです。
このタイマーは以下の設定項目にてデフォルトで 20 秒と設定されています。
config system ha
set hello-holddown 20
end
必要に応じて 5~300 秒の範囲で設定変更することができます。
参考資料
FortiGate 記事一覧は以下記事でチェック

Amazon アフィリエイトリンク
以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。
note メンバーシップへの参加もお待ちしています!

コメント