この記事は、Python Advent Calendar 2025 シリーズ2の24日目の記事です。
Django は、多くの企業システムを長年支えてきた実績ある Web フレームワークです。
その中でも Django 3.2 は LTS(長期サポート)として、金融・医療・公共系などのミッションクリティカルな領域で広く使われてきました(そして実は多くの企業が未だに利用しているケースもあります汗)。
しかし、この Django 3.2 はすでに EOL(End of Life)を迎え、公式サポートが終了 しています(参考)。
これは単なる「古いバージョン」という話ではなく、セキュリティとコンプライアンスの両面で、企業に現実的な判断を迫る状況を意味します。
本記事では、Django 3.2 を取り巻く現実と、企業が取り得る実践的な選択肢を整理します。
Django 3.2 を使い続けるリスクとは
セキュリティアップデートが提供されない
Django 3.2 の EOL 以降、新たに発見される脆弱性(CVE)に対する公式パッチは提供されません。
アプリケーション自体が正常に動作していても、
- 未修正の脆弱性が蓄積される
- 攻撃対象として狙われやすくなる
- インシデント発生時の説明責任が重くなる
といったリスクを抱え続けることになります。
「問題が起きていない」ことと「安全である」ことは別です。
コンプライアンス上の問題
EOL を迎えたソフトウェアの利用は、多くの規制・監査要件と相性が悪くなります。
例えば、
- PCI-DSS
- HIPAA
- SOC 2
- ISO 27001
- NIST / FedRAMP
これらの基準では、サポートされていないソフトウェアの利用自体が不適合と判断される可能性があります。
結果として、
- 監査指摘への対応コスト増大
- 是正計画の提出
- 場合によってはサービス継続への影響
といった、技術以外のリスクも顕在化します。
それでも「すぐに移行できない」理由
理屈では「最新版に上げるべき」だと分かっていても、現実はそう単純ではありません。
1.依存関係の複雑さ
Django はフレームワークの中核です。
多くのアプリケーションは、
- サードパーティ製ライブラリ
- 社内で長年育ててきた独自コード
に強く依存しています。
これらが新しい Django バージョンに対応していない場合、移行は想定以上に大きなプロジェクトになります。
2.ビジネス継続とのトレードオフ
金融・保険・公共系などでは、長時間の停止や大規模なリファクタリングが許容されないケースも少なくありません。
「安全だが止まるシステム」よりも、
「動き続けるが技術的負債を抱えたシステム」を選ばざるを得ない状況もあります。
3. 優先順位の問題
多くの組織では、
- 新機能開発
- 顧客要望対応
- 収益に直結する施策
が優先され、基盤のアップグレードは後回しになりがちです。
その結果、EOL を迎えたフレームワークが「気づけば使い続けられている」状態になります。
現実的な選択肢は2つある
1. 正攻法:公式サポートバージョンへ移行する
理想的なのは、Django 4.2 LTS や 5.x 系への移行です。
長期的な保守性・安全性の観点では、これは間違いのない選択です。
ただし、
- コード修正
- テストの再構築
- CI/CD や運用フローの見直し
など、相応の時間とリソースが必要になります。
2. 現実解:Extended Support を活用する
すぐに移行できない場合、Extended Support(延長サポート)を利用するという選択肢があります。
これにより、
- EOL 後もセキュリティパッチを適用できる
- 監査・コンプライアンス要件を満たした状態を維持できる
- 自社のペースで移行計画を進められる
という状態を作れます。
これは「移行を諦める」選択ではなく、
移行のための時間を戦略的に確保するアプローチです。
今、運用担当者がやるべきこと
まずは以下を整理することが重要です。
- 現在使用している Django のバージョン
- 適用が必要なコンプライアンス/監査要件
- 未対応の脆弱性とその影響範囲
- 移行に必要な工数と現実的なスケジュール
その上で、
- すぐに移行できるのか
- 一時的に Extended Support を使うべきか
を判断することで、セキュリティ・コンプライアンス・ビジネス継続のバランスを取ることができます。
まとめ
Django 3.2 の EOL は「技術の問題」ではなく、「経営と運用の問題」でもあります。
- 放置すれば、セキュリティと監査のリスクが高まる
- すぐに移行するには、現実的な制約がある
- Extended Support を使えば、時間と選択肢を確保できる
重要なのは、
何も決めずに使い続けることではなく、意図を持って選択することです。
Django 3.2 をどう扱うかは、
その組織の「技術とビジネスの向き合い方」を映し出す判断になるはずです。
おわりに
HeroDevsは、Django 3.2をセキュアに保つための、永久サポートサービスである、「Never-ending Support(NES)」を提供しています(参考)。もしも Django3.2についてご興味がございましたら、お気軽にお問い合わせください。
お問い合わせはこちら
HeroDevsについては以下のブログで概要をご紹介しておりますので合わせてご確認ください。
https://qiita.com/HeroDevs-Japan/items/b17b9f955b8b16d5d53a
参考資料: