はじめに
近年、Microsoft 365 や Zoom、Microsoft Teams などのクラウドサービスの利用が急増し、企業のネットワーク管理者にとって「インターネット回線の帯域不足」は実務上の課題となっています。
「Web 会議中に映像が止まる」「SaaS の通信量が多く、業務システムへのアクセスまで遅くなる」こうした状況を解消するために、特定の通信(M365 など)だけをサブ回線(フレッツ光など)に逃がす「ローカルブレイクアウト」を検討する場面が増えています。
かつてはポリシールーティング(PBR)で大量の IP アドレスリストを管理して実現していましたが、現在の FortiGate では SD-WAN ルールを使うのが主流のアプローチです。Microsoft も公式に、M365 トラフィックを最寄りのインターネット出口から直接 Microsoft Global Network へ流す「ローカルブレイクアウト」を推奨しています。
参考: Microsoft 365 network connectivity principles(Microsoft Learn)
“Egress Microsoft 365 data connections through Internet as close to the user as practical with matching DNS resolution.”
(Microsoft 365 のデータ接続は、可能な限りユーザーに近いインターネット出口から行い、DNS 解決もそれに合わせること)
https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-network-connectivity-principles
本記事では、FortiGate の SD-WAN 機能を活用し、特定のアプリケーションや PC の通信を意図した回線へ自動的に振り分ける手順を解説します。
- SD-WAN ルールで実現できる「回線の使い分け」とは
- 実践 1: M365 / Teams を別回線に流す設定(アプリベースの振り分け)
- 実践 2: 特定の PC を別回線に流す設定(送信元 IP ベースの振り分け)
- Performance SLA と組み合わせた自動フェイルバックの設定
- 設定後の動作確認方法(GUI と
diagnose sys sdwan系コマンド) - よくある落とし穴と対処方法
対象バージョンと前提知識
対象 FortiOS バージョン
本記事の手順は、以下のバージョンを対象としています。
| FortiOS バージョン | サポート状況(2026 年 5 月時点) |
|---|---|
| 8.0(最新) | 2026 年 3 月 GA、サポート期限 2030 年 10 月 21 日 |
| 7.6 | Mature リリース、サポート期限 2030 年 1 月 25 日 |
| 7.4 | サポート継続中 |
| 7.0 | 2025 年 9 月 30 日に EOL |
7.0 以前のバージョンはセキュリティパッチおよびバグ修正の提供が停止しているため、サポート対象バージョンへの移行を推奨します。
なお、SD-WAN ルールの CLI 構文(config system sdwan / config service)は FortiOS 6.4 以降で共通の体系となっており、本記事の CLI 例は 7.4 / 7.6 / 8.0 のいずれでも適用できます。
ローカルブレイクアウトとは
ローカルブレイクアウトとは、社内拠点からインターネット向けの通信を中央拠点に集約せず、拠点の近くから直接インターネット出口へ流す設計手法です。Microsoft 365 や Teams のように「世界中に分散した最寄りのフロントドアに接続される」サービスでは、ローカルブレイクアウトによりレイテンシ削減が期待できます。
FortiGate の SD-WAN ルールは、このローカルブレイクアウトを実現するための主要な機構です。
出口戦略(Strategy)の 4 つのモード
SD-WAN ルールでは、トラフィックの出口インターフェースをどのように選ぶかを「Strategy」で指定します。FortiOS 7.4 系以降では、以下の構成になっています。
| モード | CLI 表記 | 動作 | 主な用途 |
|---|---|---|---|
| Manual | manual | 管理者が指定した順序で固定的に出口を選択 | 出口を明示的に固定したい場合(M365 ブレイクアウト等) |
| Best Quality | priority | 指定した品質指標(latency / jitter / packet-loss 等)が最良の回線を選択 | YouTube、汎用 Web 等の品質重視トラフィック |
| Lowest Cost (SLA) | sla | SLA を満たす回線のうち、Cost 値が最も低い回線を選択 | コスト差のある回線(MPLS とブロードバンド等)での使い分け |
| Maximize Bandwidth (SLA) | load-balance | SLA を満たす全ての回線にトラフィックをロードバランス | 帯域を集約して使い切りたい場合 |
参考: Maximize bandwidth (SLA) strategy(FortiGate Administration Guide)
“Maximize Bandwidth (SLA) (load-balance): Traffic is distributed among all available links based on the selected load balancing algorithm.”
(Maximize Bandwidth(SLA)は、選択したロードバランスアルゴリズムに基づき、利用可能なすべてのリンクにトラフィックを分散します)
https://docs.fortinet.com/document/fortigate/7.0.0/administration-guide/708464/maximize-bandwidth-sla-strategy
FortiOS 7.4.1 以降の仕様変更: 独立した Strategy としての「Maximize Bandwidth」は廃止されました。代わりに、Manual または Lowest Cost (SLA) のルール内でロードバランス機能を有効化する方式に変更されています。古い記事やナレッジを参考にする場合は、対象バージョンに注意が必要です。
本記事では、出口を WAN2 に固定する目的のためシンプルで予測可能な Manual モード を採用します。品質劣化時の自動フェイルバックが必要な場合は、後述の Performance SLA を組み合わせる方法を参照してください。
SD-WAN ルールでの回線の使い分け
本記事で紹介する構成は、FortiGate の SD-WAN ルールを用いて、通信の中身(アプリケーション)や送信元(PC)に応じて、出口となるインターネット回線を自動的に振り分けるものです。


従来のポリシールーティング(PBR)との違い
以前の手法である PBR と、現在の SD-WAN ルールの大きな違いは、宛先 IP リストの管理が不要かどうかです。
- 従来(PBR)
-
「宛先 IP が x.x.x.x なら WAN2 へ」という設定が必要でした。しかし、M365 のようなクラウドサービスは宛先 IP が頻繁に追加・変更されるため、手動でのリスト更新が運用負荷の大きい作業となっていました。
- 現在(SD-WAN ルール)
-
FortiGate が持つ ISDB(Internet Service Database)というデータベースを活用します。「これは Teams の通信」と自動識別してくれるため、管理者が IP リストを保守する必要がありません。
今回の構成要件
メイン回線(WAN1)とサブ回線(WAN2)の 2 本の回線を持つ環境で、以下のルールを設定します。
| ルール | 送信元 | 宛先 | 出口 |
|---|---|---|---|
| ルール 1: M365 / Teams | all | Microsoft-Office365、Microsoft-Teams、Zoom.Us-Meeting | WAN2 |
| ルール 2: 特定 PC | 192.168.1.100 | all | WAN2 |
| 暗黙ルール | 上記以外 | — | WAN1 |
事前準備: SD-WAN ゾーンとメンバーの作成
SD-WAN ルールでトラフィック制御を行うには、まず物理インターフェース(wan1 / wan2)を、論理的な「SD-WAN ゾーン」のメンバーとして登録します。これにより、FortiGate は 2 本の回線を 1 つの論理回線群として扱い、その中でパケットを振り分けられるようになります。
なお、SD-WAN メンバーに加える物理インターフェースは、事前にスタティックルートや他の設定から外しておく必要があります。設定が残っているとメンバー化に失敗するため、事前確認を推奨します。
参考: Configuring the SD-WAN interface(FortiGate 7.4.3 Administration Guide)
“The selected FortiGate interfaces can be of any type (physical, aggregate, VLAN, IPsec, and others), but must be removed from any other configurations on the FortiGate.”
(選択するインターフェースは物理、集約、VLAN、IPsec など任意のタイプで構いませんが、FortiGate 上の他の設定からは外しておく必要があります)
https://docs.fortinet.com/document/fortigate/7.4.3/administration-guide/218559/configuring-the-sd-wan-interface
冗長構成を組んでいる環境では、HA 切替時の SD-WAN 動作も合わせて確認しておくと運用が安定します。詳細は関連記事『FortiGate HA の設定と確認コマンド|Active-Passive の冗長化とフェイルオーバー』を参照してください。
GUI での設定手順
- 左メニューの [Network] > [SD-WAN] をクリックします。
- [SD-WAN Zones] タブを開き、[Create New] > [SD-WAN Member] をクリックします。
- 以下の要領で、メイン回線とサブ回線をそれぞれ登録します。
メイン回線(wan1)の設定値
| 項目 | 設定値 |
|---|---|
| Interface | wan1 |
| Gateway | ISP ルーターの IP アドレス(例: 1.1.1.254) |
| Cost | 0(デフォルト) |
| Status | Enable |
サブ回線(wan2)の設定値
| 項目 | 設定値 |
|---|---|
| Interface | wan2 |
| Gateway | サブ回線ルーターの IP アドレス(例: 100.64.1.254) |
| Cost | 0(デフォルト) |
| Status | Enable |


※画像は設定イメージです。具体的な設定値やパラメータは本文を参照してください。
設定後、virtual-wan-link ゾーンの下に 2 つのインターフェースが登録された状態になります。
CLI での設定手順
GUI で設定した内容は、CLI では以下のコマンドで等価に設定できます。
config system sdwan
set status enable
config zone
edit "virtual-wan-link"
next
end
config members
edit 1
set interface "wan1"
set gateway 1.1.1.254
set zone "virtual-wan-link"
next
edit 2
set interface "wan2"
set gateway 100.64.1.254
set zone "virtual-wan-link"
next
end
end実践 1: M365 / Teams を別回線に流す設定(ISDB 利用)
Web 会議やクラウドサービス(SaaS)の通信だけをサブ回線(wan2)へ流す設定を行います。ここで活用するのが、FortiGate の機能である ISDB(Internet Service Database)です。
ISDB(インターネットサービスデータベース)とは
M365 や Teams は世界中に多数の IP アドレスを持っており、それらは不定期に変更・追加されます。従来のルーターでは、管理者が手動で宛先 IP リストを更新する必要があり、運用維持が難しい状況でした。
ISDB は、FortiGuard(Fortinet のセキュリティラボ)から配信されるクラウドサービスの最新 IP リストです。これを使うことで、管理者は「宛先: Microsoft-Teams」と選ぶだけで、裏側で自動的に最新の IP アドレスに追従してくれます。
なお、ISDB の更新は FortiGuard の契約ライセンスが有効であることが前提となります。ライセンスが失効すると ISDB のエントリが古いまま固定されるため、ライセンス管理にも注意が必要です。
GUI での設定手順
- [Network] > [SD-WAN] を開き、[SD-WAN Rules] タブをクリックします。
- [Create New] をクリックし、新しいルールを作成します。
設定項目(例)
| 項目 | 設定値 |
|---|---|
| Name | M365_Breakout |
| Source | all |
| Destination | Internet Service: Microsoft-Office365、Microsoft-Teams、Zoom.Us-Meeting |
| Outgoing Interfaces – Strategy | Manual |
| Interface | wan2 |


※画像は設定イメージです。具体的な設定値やパラメータは本文を参照してください。
これで、「社内のどの端末からも、Teams や M365 への通信は wan2(サブ回線)から出ていく」というルールが完成します。
CLI での設定手順
CLI で同じルールを設定する場合は、以下の構文を使用します。
config system sdwan
config service
edit 1
set name "M365_Breakout"
set mode manual
set src "all"
set internet-service enable
set internet-service-name "Microsoft-Office365" "Microsoft-Teams" "Zoom.Us-Meeting"
set priority-members 2
next
end
endset internet-service enable が ISDB ベース振り分けを有効化するキーで、set internet-service-name で対象サービスを列挙します。priority-members には事前準備で作成した SD-WAN メンバーの ID(wan2 = 2)を指定します。
参考: SD-WAN rules overview(FortiGate 7.4.0 Administration Guide)
“SD-WAN rules control how sessions are distributed to SD-WAN members. You can configure SD-WAN rules from the GUI and CLI.”
(SD-WAN ルールは SD-WAN メンバーへのセッション分配を制御します。GUI と CLI の両方から設定できます)
https://docs.fortinet.com/document/fortigate/7.4.0/administration-guide/413288/sd-wan-rules-overview
Performance SLA と組み合わせた高度な振り分け
ここまでの Manual 戦略は「物理的に WAN2 がダウンしない限り、常に WAN2 を選択する」という挙動です。しかし、実運用では「リンクは alive だがパケットロスや遅延が悪化している」というケースもあります。このような品質劣化を検知して自動的に WAN1 にフェイルバックしたい場合は、Performance SLA(ヘルスチェック)を組み合わせます。
FortiOS には、よく使われるサービス向けのデフォルト Performance SLA プロファイルが用意されています。
| プロファイル名 | 監視先 | プロトコル |
|---|---|---|
| Default_DNS | システム DNS | DNS |
| Default_FortiGuard | FortiGuard | HTTPS |
| Default_Gmail | gmail.com | HTTP/HTTPS |
| Default_Google Search | www.google.com | HTTPS |
| Default_Office_365 | www.office.com | HTTPS |
| Default_AWS | aws.amazon.com | HTTP |
参考: Performance SLA overview(FortiGate 7.6.2 Administration Guide)
“There are five predefined performance SLA profiles for newly created VDOMs or factory reset FortiGate devices: DNS, FortiGuard, Gmail, Google Search, and Office 365.”
(新規作成 VDOM またはファクトリリセット後の FortiGate には、DNS、FortiGuard、Gmail、Google Search、Office 365 の 5 つのデフォルト Performance SLA プロファイルが用意されています)
https://docs.fortinet.com/document/fortigate/7.6.2/administration-guide/867342/performance-sla-overview
SLA Target の構成要素
Performance SLA では、以下の 3 つの SLA Target を設定できます。
| Target | デフォルト値 | 範囲 |
|---|---|---|
| Latency threshold(レイテンシ) | 5 ms | 0 〜 10,000,000 ms |
| Jitter threshold(ジッター) | 5 ms | 0 〜 10,000,000 ms |
| Packet loss threshold(パケットロス) | 0 % | 0 〜 100 % |
Web 会議や Teams 通話などリアルタイム性が重視される通信では、レイテンシ 250 ms 以下、ジッター 50 ms 以下、パケットロス 5% 以下を目安に設定する例が多く見られます。実際の閾値は回線品質や要件に合わせて調整することを推奨します。
Default_Office_365 を有効化する CLI 例
config system sdwan
config health-check
edit "Default_Office_365"
set server "www.office.com"
set protocol https
set interval 1000
set probe-timeout 1000
set recoverytime 10
set members 1 2
config sla
edit 1
set latency-threshold 250
set jitter-threshold 50
set packetloss-threshold 5
next
end
next
end
endset members 1 2 で wan1 / wan2 を監視対象に含め、config sla 配下で SLA Target を定義します。
SD-WAN ルールに SLA を紐付ける CLI 例
Manual モードでも Performance SLA を紐付けることで、SLA を満たさない場合にメンバーが選択候補から外れる動作を実現できます。
config system sdwan
config service
edit 1
set name "M365_Breakout"
set mode manual
set internet-service enable
set internet-service-name "Microsoft-Office365" "Microsoft-Teams"
set health-check "Default_Office_365"
set priority-members 2 1
next
end
endこの設定では、通常時は WAN2 を選択し、WAN2 が SLA を満たさなくなった場合に WAN1 へフェイルバックする動作になります。
実践 2: 特定の PC を別回線に流す設定(送信元 IP 利用)
次に、「特定の PC(192.168.1.100)は、通信相手に関わらず常にサブ回線(wan2)を使わせたい」というケースの設定です。アプリケーションの識別ではなく、送信元 IP アドレスを条件に振り分けを行います。
GUI での設定手順
- [SD-WAN Rules] で [Create New] をクリックします。
設定項目(例)
| 項目 | 設定値 |
|---|---|
| Name | PC_to_WAN2 |
| Source | 192.168.1.100/32(アドレスオブジェクトとして作成) |
| Destination | all |
| Outgoing Interfaces – Strategy | Manual |
| Interface | wan2 |
アドレスオブジェクトが未作成の場合は、プルダウン内の [+ Create] から新規作成します。
CLI での設定手順
config firewall address
edit "PC_192.168.1.100"
set subnet 192.168.1.100 255.255.255.255
next
end
config system sdwan
config service
edit 2
set name "PC_to_WAN2"
set mode manual
set src "PC_192.168.1.100"
set dst "all"
set priority-members 2
next
end
endこれで、「192.168.1.100 からの通信は、すべて wan2 へ流す」というルールが構成されます。
ルールの優先順位の考え方
SD-WAN ルールは、ファイアウォールポリシーと同様に 「上から順に評価され、マッチした時点で処理が決定」 します。並び順(Sequence)が結果を左右するため、設計時の注意が必要です。
例として、以下のような並び順を考えます。
- Rule A: 宛先 YouTube は wan1 へ
- Rule B: 送信元 192.168.1.100 は wan2 へ
この場合、PC(192.168.1.100)が YouTube を見ようとすると、Rule A が先にマッチするため、wan1 から出ていきます。「この PC は YouTube も含めて wan2 を使わせたい」という要件であれば、Rule B を Rule A よりも上に移動させる必要があります。
GUI 上では、作成したルールをマウスでドラッグ&ドロップして並び替えることができます。「より条件が細かいルール」を上に、「条件が広いルール」を下に配置するのが基本方針です。
設定確認とトラブルシューティング
設定が完了したら、実際に Teams や Zoom を起動して、トラフィックが意図した通りに wan2(サブ回線)へ流れているかを確認します。
GUI(SD-WAN モニター)での確認
最も手軽な方法は、FortiGate のダッシュボード機能を使う方法です。
- PC で Teams 会議や YouTube 再生(テスト用)を開始します。
- FortiGate の管理画面で [Dashboard] > [Network] > [SD-WAN] を開きます。
- Bandwidth(帯域幅)や Volume(通信量)のグラフを確認します。
会議開始時に wan2 側のグラフが上昇していれば、ルールが意図通り動作しています。
CLI 診断コマンド(diagnose sys sdwan ファミリ)
GUI よりも詳細にセッションの選択結果を見たい場合は、diagnose sys sdwan 系のコマンドを使用します。主要なコマンドは以下の通りです。
| コマンド | 用途 |
|---|---|
diagnose sys sdwan service | SD-WAN ルールの設定状況と選択中メンバーを確認 |
diagnose sys sdwan member | SD-WAN メンバー一覧と Gateway / Weight を確認 |
diagnose sys sdwan health-check | Performance SLA の状態(alive / dead、latency、jitter 等)を確認 |
diagnose sys sdwan internet-service-app-ctrl-list | ISDB が制御しているアプリと対応 IP の確認 |
diagnose sys session list | 個別セッションの選択回線(dev、gateway)を確認 |
SD-WAN ルールの状態確認
diagnose sys sdwan service出力例(一部抜粋)
Service(1): Address Mode(IPV4) flags=0x200 Gen(1), TOS(0x0/0x0), Protocol(0: 1->65535), Mode(manual)
Members(2):
1: Seq_num(2), alive, selected
Dst address:
Microsoft-Office365
Microsoft-Teams読み方のポイント
Service(1): SD-WAN ルールの ID(設定順に割り当て)Mode(manual): 選択モード(Manual / priority / sla 等が表示される)Seq_num(2), alive, selected: メンバー ID 2(wan2)が生存しており、現在選択されている状態Dst address: ISDB で指定したサービス名または宛先アドレス
Performance SLA の状態確認
diagnose sys sdwan health-check出力例
Health Check(Default_Office_365):
Seq(1 wan1): state(alive), packet-loss(0.000%) latency(15.247), jitter(5.231) sla_map=0x1
Seq(2 wan2): state(alive), packet-loss(0.000%) latency(13.621), jitter(6.905) sla_map=0x1sla_map=0x1 は SLA Target 1 を満たしていることを示します。state(dead) や sla_map=0x0 が表示されている場合は、SLA 違反または到達不能の状態です。
参考: SD-WAN related diagnose commands(FortiGate 7.6.6 Administration Guide)
“diagnose sys sdwan health-check: Show state of all the health checks/probes. Successful probes are marked alive, failed probes are marked dead.”
(ヘルスチェック・プローブの状態を表示します。成功は alive、失敗は dead と表示されます)
https://docs.fortinet.com/document/fortigate/7.6.6/administration-guide/818746/sd-wan-related-diagnose-commands
ISDB で制御中のアプリ確認
diagnose sys sdwan internet-service-app-ctrl-listこのコマンドで、ISDB によって SD-WAN ルールに紐付けられているアプリケーション(例: Microsoft-Teams)と、実際にマッチした宛先 IP のリストを確認できます。M365 ブレイクアウトが意図通り動作しているかを切り分けるうえで有用です。
セッション単位での出口確認
「いま通信しているセッション」がどの回線を選んだかを厳密に確認するには、セッション情報を確認します。
diagnose sys session filter src 192.168.1.100
diagnose sys session list出力結果の中に dev=wan2 や gwy=100.64.1.254(サブ回線のゲートウェイ)が表示されていれば、サブ回線経由で通信していることが確認できます。
よくある落とし穴
SD-WAN ルールの設定が完了しても、通信が意図通りに流れないケースには共通したパターンがあります。
ファイアウォールポリシーで NAT が無効になっている
SD-WAN ゾーン経由でインターネット向け通信を許可するファイアウォールポリシーでは、NAT を有効化し「Use Outgoing Interface Address」を選択する必要があります。NAT が無効のままだとプライベート IP のままインターネットに送出されるため、戻りパケットが届きません。
SD-WAN メンバーに加える前のスタティックルートが残っている
物理インターフェースを SD-WAN メンバーに加える前提として、そのインターフェースを参照しているスタティックルートやファイアウォールポリシーを事前に削除しておく必要があります。設定が残ったままだとメンバー追加に失敗します。デフォルトポリシーが wan1 を参照している機種もあるため、最初に確認することを推奨します。
Default_Office_365 ヘルスチェックが失敗する既知問題
Microsoft 側の www.office.com の仕様変更により、デフォルトの Default_Office_365 Performance SLA プロファイルが失敗する事象が報告されています。
参考: Troubleshooting Tip: Default_Office_365 health check fails(Fortinet Community)
“Microsoft has made changes to www.office.com service causing SDWAN health check called Default_Office_365 to fail.”
(Microsoft が www.office.com サービスに変更を加えたため、SD-WAN ヘルスチェック Default_Office_365 が失敗するようになりました)
https://community.fortinet.com/t5/FortiGate/Troubleshoot-Tip-Microsoft-has-changed-www-office-com-service/ta-p/330672
対策として、ヘルスチェックの監視先サーバを outlook.office365.com など別の M365 エンドポイントに変更するか、DNS プロトコルでの監視に切り替える方法が挙げられます。
FortiGuard ライセンスの失効による ISDB 更新停止
ISDB のエントリ(Microsoft-Office365 など)は FortiGuard サービスから定期的に更新されます。FortiGuard ライセンスが失効すると ISDB の更新が止まり、新しい M365 / Teams のフロントドア IP に対して振り分けが効かなくなる可能性があります。ライセンス期限の管理を運用フローに組み込んでおくことを推奨します。
Manual モード単独では品質劣化を検知できない
本記事の実践例で使用した Manual モードは出口を WAN2 に固定するシンプルな構成ですが、WAN2 が物理 alive でも品質が劣化している場合(パケットロス増加、レイテンシ悪化)は検知されません。品質劣化時の自動切替が必要な要件では、前述の Performance SLA を併用することを推奨します。
まとめ
本記事では、FortiGate の SD-WAN ルールを活用して、M365 や Teams を別回線にローカルブレイクアウトする手順を解説しました。
- 現在は PBR ではなく SD-WAN ルールが主流のアプローチ
- ISDB を使えば M365 や Teams の宛先 IP 管理から解放される
- 出口戦略は Manual / Best Quality / Lowest Cost (SLA) / Maximize Bandwidth (SLA) の 4 種類(FortiOS 7.4.1 以降は Maximize Bandwidth が独立モードから変更)
- Manual モード単独では品質劣化を検知できないため、運用要件に応じて Performance SLA との併用を推奨
- 動作確認は GUI の SD-WAN モニターと
diagnose sys sdwan service/diagnose sys sdwan health-checkを組み合わせる - FortiOS 7.0 は 2025 年 9 月に EOL を迎えているため、7.4 / 7.6 / 8.0 への移行を推奨
以上、最後までお読みいただきありがとうございました。

