FortiGateのFortiOSをアップグレードするとき、
「現在のバージョンから最新版へ直接アップグレードしていいの?」
「なぜ途中のFortiOSを何回もインストールする必要があるの?」
と思ったことはないでしょうか。
FortiGateには**Upgrade Path(アップグレードパス)**という考え方があります。
例えば、単純に、
現在:FortiOS 7.x.x
↓
目的:FortiOS 7.y.y
と直接アップグレードできるとは限りません。
場合によっては、
現在のFortiOS
↓
中間バージョン①
↓
中間バージョン②
↓
目的のFortiOS
というように、複数回のアップグレードが必要になります。
「面倒だから途中を飛ばして最新版にしてしまおう」
と考えたくなりますが、これはおすすめできません。
今回は、FortiGateのUpgrade Pathとは何なのか、なぜ途中のFortiOSを飛ばしてはいけないのかを解説します。
FortiGateのUpgrade Pathとは?
Upgrade Pathとは、
現在使用しているFortiOSから目的のFortiOSまでアップグレードするための、Fortinetがサポートするファームウェアの経路
です。
重要なのは、FortiOSのバージョンだけで決まるわけではないことです。
Upgrade PathはFortiGateのプラットフォーム(モデル)にも依存します。
そのため、
「別のFortiGateでは直接アップグレードできた」
という情報だけを見て、自分のFortiGateでも同じように作業するのは危険です。
なぜ途中のFortiOSを経由する必要があるのか?
FortiOSをアップグレードすると、単純にOSのプログラムだけが置き換わるわけではありません。
設定情報なども新しいFortiOSに合わせて移行されます。
例えば、
FortiOS A
↓
FortiOS B
へのアップグレードで設定形式が変わり、さらに、
FortiOS B
↓
FortiOS C
で別の変更が行われることがあります。
このような場合に、
FortiOS A
↓
FortiOS C
と途中を飛ばすと、本来FortiOS Bへのアップグレード時に実行されるはずだった設定移行などが正常に行われない可能性があります。
そのためFortinetでは、サポートされているUpgrade Pathに沿ってアップグレードすることを案内しています。
Upgrade Pathを飛ばすとどうなる?
Fortinetは、サポートされているUpgrade Pathを使用せずにアップグレードした場合、さまざまな問題が発生する可能性があるとしています。
代表的なのが、
- 設定の消失
- 設定の破損
- ネットワーク通信断
- リモート管理不能
- HA同期の問題
- HAのsplit-brain
- FortiGateが正常に起動しない
といった問題です。
特に怖いのが、
FortiGateそのものは起動しているのに、一部の設定だけ正常に移行されていない
というケースです。
ファイアウォールポリシー、インターフェース、VPN、ルーティングなどの重要な設定に問題が発生すれば、大規模な通信障害につながる可能性があります。
初期状態のFortiGateでもUpgrade Pathは必要
「設定がほとんど入っていないFortiGateなら、途中を飛ばしても大丈夫では?」
と思うかもしれません。
しかしFortinetは、工場出荷状態のFortiGateであっても、サポートされているUpgrade Pathをたどる必要があると説明しています。
つまり、
設定が多い → Upgrade Pathが必要
設定がない → 直接アップグレード可能
という考え方ではありません。
基本的にはFortinetが示しているUpgrade Pathに従うと考えておいた方がよいでしょう。
Upgrade Pathの調べ方
Upgrade Pathを調べるには、主に次の情報が必要です。
FortiGateのモデル
現在のFortiOS
目的のFortiOS
現在のFortiOSはCLIなら、
get system status
で確認できます。
モデル名と現在のFortiOSを確認したうえで、FortinetのUpgrade Path Toolなどを利用して目的のバージョンまでの経路を確認します。
Fortinet Support Portalから確認する方法もあります。
またFortiOSのバージョンによっては、FortiGateのGUIからUpgrade Pathを確認することもできます。
Upgrade Path Toolの結果を見る
例えばUpgrade Path Toolで、
Current
FortiOS A
↓
Hop 1
FortiOS B
↓
Hop 2
FortiOS C
↓
Target
FortiOS D
と表示されたとします。
この場合、
A → D
と直接アップグレードするのではなく、
A
↓
B
↓
C
↓
D
という順番でアップグレードします。
「Hop」と表示されるのが途中で経由するFortiOSです。
1回の作業で何度も再起動することがある
Upgrade Pathに複数のHopがある場合、それぞれが独立したFortiOSアップグレードです。
つまり、
FortiOS A
↓
アップグレード
↓
再起動
FortiOS B
↓
アップグレード
↓
再起動
FortiOS C
↓
アップグレード
↓
再起動
FortiOS D
となります。
そのためUpgrade Pathが長い場合、
FortiGateが何度も再起動する
ことになります。
メンテナンス時間を決めるときには注意が必要です。
「FortiOSアップグレードだから再起動は1回」
とは限りません。
中間バージョンのRelease Notesも確認する
最終的に導入するFortiOSだけでなく、途中で経由するFortiOSについてもRelease Notesを確認しておくことをおすすめします。
例えば、
7.x.x
↓
7.x.x
↓
7.y.x
↓
7.y.y
というUpgrade Pathだった場合、最終バージョンだけを見るのではなく、中間バージョンについても、
- Upgrade Information
- Special Notices
- Known Issues
などを確認します。
途中のバージョンは短時間しか使用しないから関係ない、とは限りません。
そのバージョンへのアップグレード処理自体に重要な注意事項が設定されている可能性があります。
「目的のFortiOSが表示されない」場合もある
Upgrade Path Toolで目的のFortiOSを選択できない場合があります。
これは単純なツールの故障とは限りません。
例えば、
そのFortiGateモデルでは目的のFortiOS自体が提供されていない
場合があります。
また、
現在のFortiOSから、その目的のFortiOSへのサポートされたUpgrade Pathが存在しない
場合もあります。
FortiOSは必ずしも、
古いバージョン
↓
新しいバージョン
なら自由に移動できるわけではありません。
リリースされた時期の関係などから、特定の組み合わせではUpgrade Pathが存在しない場合があります。
「No valid upgrade path」と表示されたら?
FortiGateで、
No valid upgrade path
と表示されることがあります。
まず、
- FortiGateモデル
- 現在のFortiOS
- アップグレード先
- Upgrade Path Tool
- 対象FortiOSのRelease Notes
を確認します。
ただし注意したいのが、GUIに「No valid upgrade path」と表示されたからといって、本当にUpgrade Pathが存在しないとは限らないケースもあることです。
過去にはFortiOS側の既知の問題によって、サポートされているアップグレードにもかかわらず「No valid upgrade path」と表示される事例もFortinetから案内されています。
そのため、GUI表示だけで判断せず、公式のUpgrade Path情報も確認した方がよいでしょう。
GUIの「Follow Upgrade Path」なら絶対安心?
FortiGateのGUIには、Upgrade Pathに沿ってアップグレードする機能があります。
非常に便利ですが、
GUIに任せればどのFortiOSでも絶対安全
とは考えない方がよいでしょう。
実際、過去のFortiOSにはGUIのFirmware Upgrade機能が本来必要な中間バージョンを飛ばしてしまう既知の問題がありました。
この問題は修正済みのFortiOSがありますが、古いFortiOSからアップグレードする場合には該当する可能性があります。
そのため私は、本番環境で作業する場合、
GUIに表示された経路だけを見るのではなく、事前に公式Upgrade PathとRelease Notesを確認する
ことをおすすめします。
FortiManagerやFortiAnalyzerを使っている場合も注意
FortiGate単体だけを考えればよいとは限りません。
FortiManagerやFortiAnalyzerなどと連携している場合は、それぞれのFortiOSとの互換性も確認する必要があります。
Fortinetでは、関連製品を使用している場合、
FortiManager
↓
FortiAnalyzer
↓
FortiGate
というアップグレード順序を案内しているケースがあります。
FortiAPやFortiSwitchなどを管理している場合についても、互換性を確認しておいた方がよいでしょう。
アップグレード前には必ず設定バックアップ
Upgrade Pathが正しくても、設定バックアップは取得しておきます。
GUIから設定ファイルをバックアップして、FortiGateとは別の場所へ保存します。
例えば、
fortigate_before_upgrade_20260919.conf
のように日付を付けておくと分かりやすくなります。
さらに、
get system status
の結果も保存しておけば、
- モデル
- FortiOS
- Build
などを後から確認できます。
HA構成なら、
get system ha status
などでアップグレード前の状態も記録しておくと安心です。
ダウングレードすれば簡単に元に戻せる?
ここも注意が必要です。
Fortinetは、Upgrade Pathとは違ってサポートされた「Downgrade Path」は存在しないと説明しています。
つまり、
アップグレードした
↓
問題発生
↓
前のFortiOSへ戻せば元通り
と単純には考えられません。
以前のFortiOSへ戻すことで設定に影響が出る可能性があります。
だからこそ、
アップグレード前の設定バックアップ
が非常に重要になります。
「戻せばいいから、とりあえずアップグレードしてみる」という作業は、本番環境では避けた方がよいでしょう。
私ならアップグレード前にここまで確認する
実際に作業するのであれば、最低限次を確認します。
□ FortiGateモデル
□ 現在のFortiOS
□ Build番号
□ アップグレード先FortiOS
□ Upgrade Path
□ 中間FortiOS
□ 各Release Notes
□ Known Issues
□ 設定バックアップ
□ HA同期状態
□ FortiManager/FortiAnalyzer等との互換性
□ 作業時間
□ コンソール接続など障害時の復旧手段
Upgrade Pathを確認する作業自体は数分で済みます。
しかし、この数分を省略してアップグレード障害が発生すると、復旧にはそれ以上の時間がかかります。
まとめ
FortiGateのFortiOSをアップグレードするときは、
現在のFortiOSから目的のFortiOSへ直接アップグレードできるとは限りません。
FortinetがサポートするUpgrade Pathを確認し、
現在
↓
Hop 1
↓
Hop 2
↓
Target
という経路が表示されたのであれば、その順番にアップグレードします。
途中のFortiOSを飛ばすことで、
- 設定消失
- 通信障害
- リモート管理不能
- HA問題
- 起動障害
などが発生する可能性があります。
FortiOSアップグレードで大切なのは、
「目的のバージョンにできるか」だけではなく、「どの経路で目的のバージョンまで上げるか」
です。
FortiGateをアップグレードする前には、モデル、現在のFortiOS、目的のFortiOSを確認し、必ずUpgrade Pathを調べてから作業することをおすすめします。
実際にFortiOSをアップグレードするときの事前確認、設定バックアップ、HA確認、アップグレード後の確認項目については、
「FortiGateのFortiOSを安全にアップグレードする方法|事前確認とチェックリスト」
で詳しくまとめています。


コメント