FortiGateのECMP(Equal-Cost Multi-Path routing)は、複数の同じコストのルートを並列で使用して、トラフィックの負荷分散と冗長性を実現するルーティング機能です。
以下に、ECMPの概要からFortiGateにおける具体的な実装、設定方法、使用上の注意点まで詳しく解説します。
ECMPは、ルーティングテーブルにおいて同じ宛先に対する同一コストの複数経路が存在する場合、それらを同時に活用して通信を行う技術です。
これにより
が実現できます。
FortiGateでは、以下のようなケースでECMPが有効になります。
FortiGateは最大で10経路までECMPにより同時使用可能です(モデルによって異なる場合あり)。
FortiGateでは、ECMP時のトラフィックの振り分け方法を選択できます。
以下のモードが存在します。
モード | 説明 |
---|---|
Source IP Hash | ソースIPに基づいてトラフィックを均等に分配(デフォルト)。セッションの安定性を確保しやすい。 |
Weighted Load Balance | 各経路に**重み(weight)**を付けてバランスを調整。より高性能な回線に多くの負荷をかける用途。 |
Round Robin | セッションごとに順番にルートを選択。セッション数が多い環境で効果的。 |
Spillover | 優先ルートが一杯になった場合のみ、次のルートにトラフィックを送る。特定の回線を優先したいときに便利。 |
設定例(CLI)
config router static
edit 1
set dst 0.0.0.0/0
set gateway 192.0.2.1
set device "wan1"
set distance 10
set priority 10
next
edit 2
set dst 0.0.0.0/0
set gateway 198.51.100.1
set device "wan2"
set distance 10
set priority 10
next
end
この設定により、同一の距離を持つ2つのデフォルトルートがECMPとして動作します。
config system settings
set route-lookup-ecmp enable
set ecmp-max-paths 4
end
route-lookup-ecmp
: ECMPルートの使用を有効化ecmp-max-paths
: 同時使用する経路の最大数(最大10)FortiGateはセッションベースファイアウォールであるため、セッションごとにルートが固定されます。
セッション開始時にどのルートを使うかが決定され、その後は同じ経路が使用され続けます。
SNAT(ソースNAT)を使用している場合、複数のWAN IPを使っているときは戻りパケットの経路に注意が必要です。
戻りトラフィックが違う経路を通るとセッション不整合が発生する可能性があります。
ECMPとSD-WANは似ていますが、以下のように違います。
特徴 | ECMP | SD-WAN |
---|---|---|
動的経路制御 | ✕ 固定的 | ○ ヘルスチェックにより切替 |
トラフィック制御の柔軟性 | △ 限定的 | ◎ 高度なルール制御可能 |
GUIでの視認性 | △ | ◎ グラフィカルに見える |
この構成では、「Weighted Load Balance」モードを使用し、WAN1に80%、WAN2に20%のトラフィックを流すよう設定。
これにより、メイン回線に優先的にトラフィックを通しつつ、帯域超過時の救済経路を確保できます。
get router info routing-table all
でECMPルートの確認diag debug flow
コマンドで実際のルート選択のトラブル調査FortiGateのECMPは、ネットワークの回線をより効率的かつ安定的に活用するための強力な機能です。
単純な構成でも導入できる反面、セッションベースやNATの挙動、SD-WANとの違いなど、動作の理解と設計が重要になります。
複数のWAN回線をバランスよく使いたい、ISPの冗長構成をシンプルに取りたいといった要件では、ECMPは非常に有用な選択肢となります。
以上、FortiGateのECMPについてでした。
最後までお読みいただき、ありがとうございました。