FortiGateのHA(High Availability)をActive-Passive構成で組む手順をまとめた。事前準備から設定コマンド、フェイルオーバーテストまで、実務で使えるレベルで書いている。
FortiGate HAの基本
FortiGate HAは2台のFortiGateをクラスター構成にして、片方が故障しても自動で切り替わる仕組み。FGCP(FortiGate Clustering Protocol)というFortinet独自プロトコルで同期する。
モードはActive-Passive(A-P)とActive-Active(A-A)の2つ。正直、現場ではA-Pが圧倒的に多い。A-Aはセッション分散が絡んで障害時の切り分けが面倒になるので、よほどの理由がない限りA-Pを選んでいる。
| 項目 | Active-Passive | Active-Active |
|---|---|---|
| 通信処理 | Primary1台のみ | 両方で分散処理 |
| フェイルオーバー | シンプル | セッション同期が必要 |
| トラブルシュート | 楽 | 複雑 |
| 採用率(体感) | 90%以上 | 10%未満 |
事前準備チェックリスト
HA構築で地味に大事なのが事前準備。ここを飛ばすと後でハマる。
- 同一モデル・同一ファームウェア: FortiOS 7.4.xなら両方とも同じパッチレベルにする
- HA専用ポートの確認: FortiGate 60E/Fならport1-2がHA heartbeat用に使える
- ケーブル接続: ハートビート用のLANケーブルを直結(クロス不要、AutoMDI/X対応)
- ライセンス: 2台とも有効なFortiCareライセンスが必要
CLI設定の要点
# Primary側
config system ha
set mode a-p
set group-name "FG-HA-CLUSTER"
set group-id 10
set password <HA用パスワード>
set priority 200
set hbdev "port3" 50
set session-pickup enable
set override disable
end
# Secondary側(priorityだけ変更)
config system ha
set mode a-p
set group-name "FG-HA-CLUSTER"
set group-id 10
set password <HA用パスワード>
set priority 100
set hbdev "port3" 50
set session-pickup enable
set override disable
end
override disable にしておくと、Primary復旧時に自動で切り戻さない。現場ではこっちの方が安全。深夜メンテで復旧したら勝手にフェイルバックして通信断、なんて事故を防げる。
HA同期確認コマンド
# HAステータス確認
get system ha status
# 設定同期の確認
diagnose sys ha checksum cluster
# フェイルオーバー強制実行(テスト用)
diagnose sys ha reset-uptime
現場でハマるポイント
以前、客先でHA構築した時にchecksum clusterの結果が一致しなくて30分悩んだことがある。原因はSecondary側にローカルで入れたstatic routeが残っていたこと。HA同期の対象外オブジェクトがあるので、構築前にSecondary側を工場出荷状態に戻しておくのが鉄則。
あと、monitor interfaceの設定を忘れるケースも多い。WAN側のリンクダウンを検知してフェイルオーバーさせるには、明示的にmonitor interfaceを指定する必要がある。
詳しくはブログで
この記事の完全版(構成図・チェックリスト表・トラブルシュート手順など)はブログで公開しています。
👉 FortiGate HA設定完全ガイド|Active-Passive構成の構築手順