本記事について
本記事では、Fortinet 社のファイアウォール製品である FortiGate の HA (冗長構成) のモードについて、Active-Passive と Active-Active の違いを解説します。
一般的な企業ネットワークにおいて FortiGate で HA を構成する場合はほとんどのケースで Active-Passive モードで構成することになりますが、Active-Active モードとの違いや Active-Passive を採用する理由などを聞かれた場合に困る人も多いのではないかと思います。そのような人に参考になる情報を以下にまとめています。
動作確認環境
本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。
- FortiGate-60F
- バージョン 7.4.4
Active-Passive と Active-Active の動作の違い
以下の図では Active-Passive と Active-Active それぞれの場合の通信経路を示しています。
- Active-Passive の場合
- FortiGate HA クラスタに着信するすべてのサービス通信を Primary 機で着信します
- 着信したサービス通信はそのまますべて Primary 機で処理されて Primary 機から発信されます
- 正常時は Secondary 機はサービス通信に対して処理を行いません
- Primary 機で障害が発生するとフェイルオーバが発生して Secondary 機が新 Primary 機に切り替わりサービス通信に対する処理を開始します
- Active-Active の場合
- FortiGate HA クラスタに着信するすべてのサービス通信を Primary 機で着信します
- Primary 機は着信したサービス通信を HA クラスタ内の各機器に振り分けます
- Secondary 機に振り分ける通信パケットについては Secondary 機のインターフェースの実 MAC アドレス宛に Primary 機から送信されます
- Secondary 機は Primary 機から振り分けられたサービス通信を処理します
- Primary 機で処理されたサービス通信は Primary 機から、Secondary 機で処理されたサービス通信については Secondary 機から直接宛先に発信されます
- Primary 機に障害が発生した場合はフェイルオーバが発生し Secondary 機が新 Primary 機となります
HA の Active-Passive と Active-Active の比較
FortiGate の HA モードである Active-Passive と Active-Active を各観点で比較した結果を以下表にまとめます。
項目 | Active-Passive | Active-Active | 差異 |
---|---|---|---|
構成の目的 | 冗長化 | 冗長化と負荷分散 | ● |
各機器のロール | Primary/Secondary | Primary/Secondary | |
サービス通信処理 | Primary のみ | Primary で着信後クラスタ内で振り分け | ● |
設計の難易度 | 比較的容易 | 比較的難しい ※負荷分散対象通信や負荷分散メソッドの考慮等 | ● |
設定方法 | 基本的な設定方法は同じだが Active-Active では追加的に考慮すべき設定項目有り | ||
コンフィグ同期可否 | 可 | 可 | |
セッション同期可否 | 可 | 可 | |
仮想 MAC アドレス | Primary 機のみが仮想 MAC を持つ | ||
相対的メリット | 設計・運用が容易 | スループットが向上する可能性がある ※主にプロキシベースのセキュリティプロファイル使用時 | ● |
相対的デメリット | 負荷分散はされない | 運用・トラブルシュートの難易度が上がる ネットワーク内のトラフィック量の増加 | ● |
採用理由 | 冗長化のみが目的 負荷のかかる機能は使わない 設計・運用コストを上げたくない | プロキシベースのセキュリティプロファイルを使用 設計・運用コストが上がっても負荷分散したい Active-Passive ではリソースの問題が発生した | ● |
HA 基本設定項目の比較
以下は GUI の HA 設定画面ですが、GUI で設定できる基本項目については Active-Passive でも Active-Active でも全く同じです。
Active-Active での負荷分散対象と負荷分散メソッド
負荷分散については Active-Active モードを採用した場合に追加的に考慮が必要な内容になります。
負荷分散対象の通信と対象外通信
Active-Active モードでは負荷分散が行われますが、すべての通信が負荷分散されるわけではなく、特定の通信のみが負荷分散されます。
デフォルト設定では、以下タイプのプロキシベースのセキュリティプロファイルが適用される通信について負荷分散が行われます。
- アンチウイルス(プロキシベース)
- Webフィルタ(プロキシベース)
- Eメールフィルタ(プロキシベース)
- データ漏洩対策(DLP)(プロキシベース)
- HTTP、FTP、IMAP、IMAPS、POP3、POP3S、SMTP、SMTPS、IM、NNTP セッションが対象
一方、以下プロファイル・プロトコルについては負荷分散対象外であり常に Primary 機で処理されます。
- ICMP、マルチキャスト、およびブロードキャスト
- IPS
- アプリケーションコントロール
- アンチウイルス(フローベース)
- Webフィルタ(フローベース)
- Eメールフィルタ(フローベース)
- データ漏洩対策(DLP)(フローベース)
- VoIP
- IM
- P2P
- IPsec VPN
- SSL VPN
- HTTP multiplexing
- SSL オフロード
- WAN 最適化
- Explicit web proxy
- WCCP
また、オプションですべての TCP セッションを負荷分散させることもできます。これを有効化するための設定コマンドは以下です。デフォルトでは無効になっています。
config system ha
set load-balance-all enable
end
すべての TCP セッションを負荷分散するとオーバーヘッドが増加し、パフォーマンスが低下する可能性があるため注意してください。
ソフトウェアスイッチについては Active-Active HA による負荷分散がサポートされていないため注意してください。
SSL ディープインスペクションが有効になっている HTTPS セッションについては負荷分散が行われないため注意してください。
負荷分散メソッド
負荷分散メソッドは負荷分散対象のセッションを各機器に割り振る際にどの機器に割り振るかを決定するためのルールです。FortiGate では「負荷分散スケジュール」と呼ばれています。
負荷分散スケジュールの設定コマンドは以下です。
config system ha
set schedule <値>
end
設定値としては以下があります。デフォルトはround-robin
(ラウンドロビン方式)です。
- none
- 負荷分散しません
- leastconnection
- コネクション数が最も少ない機器に割り振ります
- round-robin
- 一定の順番で割り振ります(ラウンドロビン方式)
- weight-round-robin
- 機器ごとの重みづけに基づいて一定の順番で割り振ります
- random
- ランダムに割り振ります
- ip
- 送信元IPと宛先IPに基づいて割り振ります
- ipport
- 送信元IP・ポートと宛先IP・ポートに基づいて割り振ります
Active-Active モードのメリットとは
Active-Active モードでは HA クラスタ内で負荷分散を行うため、2台構成の HA の場合シングル構成の2倍のトラフィックを処理できるようになると考えるかもしれませんが、これは間違いです。
上で記載している通り負荷分散される通信は一部に限られることと、Active-Active モードでも HA クラスタへのすべての通信はまず Primary 機で着信して Primary 機がクラスタメンバにセッションを割り振るという処理を行う必要があり Primary 機の処理能力がボトルネックになる可能性があるということがあるためです。
Active-Active モードはプロキシベースのセキュリティプロファイルを使用している場合にメリットがあるといわれています。
プロキシベースのセキュリティプロファイルの処理は CPU と メモリを多く消費するためスループット低下の原因になりますが、Active-Active モードで負荷分散をすることでその負荷の高い処理をクラスタメンバーに分散させることができます。これによりスループットが向上する可能性があるといわれています。
ただし「可能性がある」という表現のため実際の効果を確認するためには検証が必要かもしれません。
一般的な企業ネットワークであれば複雑性が増す割にあまりメリットの無い Active-Active モードを採用するよりも対象ネットワークの状況に合わせて適切なスペックの機種を選定して HA は Active-Passive モードとした方が運用コストまで含めると良いのではないかという気がします。
参考資料
【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです
- 基礎知識
- HA (冗長構成) 設定
- FortiGate HA モードの Active-Passive と Active-Active の違いを解説します
- FortiGate HA(冗長構成)の概要と設定ガイド【詳しく解説】※note記事
- FortiGate HA 構成時のコンフィグ同期の仕様について解説します
- FortiGate HA 構成時の NTP,Syslog,SNMP 等の送信元インターフェースを解説 [ha-direct 設定]
- FortiGate HA 構成時の仮想 MAC アドレスについて解説します
- FortiGate HA ハートビート送信間隔と障害判定しきい値の設定ガイド
- FortiGate HA 構成時のバックアップ及びリストア実施ガイド
- FortiGate HA 構成でのモニタインターフェースダウン時の通信断時間について解説
- FortiGate HA 構成に関するQ&A 【良くありそうな疑問集】
- VDOM (バーチャルドメイン) 設定
- トランスペアレントモード設定
- システム系設定
- 管理者アカウント設定
- 時刻・NTP 設定
- ロギング・Syslog 送信設定
- SNMP 設定
- DHCP サーバ機能設定
- Proxy サーバ機能設定
- アラートメール送信
- ネットワーク系設定
- インターフェース設定
- ルーティング設定
- DNS 設定
- NAT 及び NAPT 設定
- ファイアウォール系設定
- アドレス設定
- サービス設定
- ファイアウォールポリシー設定
- ゾーンを使用したポリシー設定
- VPN 系設定
- Tips
Amazon アフィリエイトリンク
以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。
note メンバーシップへの参加もお待ちしています!
【アフィリエイト】おすすめ WordPress テーマ【SWELL】
当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。
また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。
技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。
レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。
コメント