Node.js 20(LTS、コードネーム: Iron)は2023年4月にリリースされたLTSバージョンです。Active LTSフェーズは2024年10月に終了し、Maintenance LTS(セキュリティ修正のみ)も2026年4月30日にサポートが終了しました。Node.js 20を引き続き使用している場合、セキュリティパッチが提供されない状態になっており、早急にNode.js 22(現行LTS)または2026年10月にLTS入りするNode.js 24への移行が必要です。
Node.js 20 のサポート期限一覧
| フェーズ | 開始日 | 終了日 | 現在のステータス |
|---|---|---|---|
| Current(リリース直後) | 2023-04-18 | 2023-10-24 | 終了済み |
| Active LTS(新機能追加あり) | 2023-10-24 | 2024-10-22 | 終了済み |
| Maintenance LTS(セキュリティ修正のみ) | 2024-10-22 | 2026-04-30 | 終了済み |
Node.js のLTSライフサイクル
Node.jsは偶数バージョンがLTSとなり、Active LTS(約1年)とMaintenance LTS(約1.5年)の計約2.5年がサポートされます。奇数バージョン(19、21等)はLTSにならず、約8ヶ月でEOLとなります。LTS版を使用することが本番環境では推奨されます。
基本情報・技術仕様
- リリース日: 2023年4月18日
- コードネーム: Iron
- V8エンジン: 11.3(ECMAScript 2023対応)
- npm: 10.x系
- 主要新機能: 安定化したPermission Model・テストランナー(Node.js本体)・V8 Maglev JITコンパイラ
- AWS Lambda: Node.js 20ランタイム提供(2026年以降に非推奨化予定)
- 対応OS: Windows, Linux (RHEL/Ubuntu/Debian/Amazon Linux), macOS
Node.js 18 からの主な変更点
セキュリティ・安定性の強化
- Permission Model(安定版): ファイルシステム・プロセス生成・ワーカースレッドへのアクセス制限が可能に
- Web Cryptography API: ブラウザ互換の暗号APIが標準搭載
- Ada(URL Parser): URLパースのセキュリティと性能が改善
開発者体験の向上
- 組み込みテストランナー安定化: 外部テストフレームワーク不要でユニットテストが可能に
- ESM(ECMAScript Modules)改善: CommonJS(require)とESMの相互運用性向上
- fetch API安定化: ブラウザ互換のfetch()がNode.js本体で安定版に
2026年4月以降のリスク
Node.js 20のサポートは2026年4月30日に終了しました。現在すでにセキュリティパッチが提供されない状態であり、以下のリスクが生じています。
1. セキュリティパッチの提供停止
Node.jsチームによるセキュリティアップデートが提供されなくなります。V8エンジン(JavaScriptランタイム)・OpenSSL・npm等に新たな脆弱性が発見されても修正が行われません。Webサーバー・APIサーバーとして外部に公開しているサービスでは特に深刻です。
2. クラウドホスティング環境での非推奨化
AWS Lambda・Vercel・Netlify・Render等のホスティング環境はEOLを迎えたNode.jsバージョンのランタイムを順次非推奨化・削除します。AWS LambdaではNode.js 20ランタイムがEOL後に非推奨(deprecated)となり、最終的にはデプロイ不可となります。CI/CDパイプラインやコンテナ環境でも同様の影響が生じます。
3. npmパッケージの非対応化
主要npmパッケージの新バージョンがNode.js 22以上を最低要件とするケースが増加しています。EOL後のNode.js 20では、セキュリティ修正が含まれた新バージョンのパッケージへのアップデートができなくなる可能性があります。
推奨される移行先
Node.js 20からの移行先はNode.js 22(現行Active LTS)が推奨されます。
Node.js 22(推奨・現行LTS)
- EOL: 2027年4月30日
- 現フェーズ: Maintenance LTS(Active LTSは2024年10月〜2025年10月で終了済み)
- メリット: require()によるESMモジュール読み込みの安定化・V8 12.4(より高速なJavaScript実行)・WebSocket APIの組み込み。2027年4月までセキュリティパッチを受領可能
- 注意点: Node.js 20との互換性は高いが、使用しているnpmパッケージのv22対応確認が必要
- AWS Lambda: Node.js 22ランタイム対応済み
- 適したケース: 既存アプリの即時移行先として現時点での最推奨バージョン
Node.js 24(2026年4月リリース済み・2026年10月にLTS化予定)
- EOL予定: 2028年4月ごろ
- 現フェーズ: Current(2026年10月にActive LTS入り予定)
- メリット: LTS化後は最長のサポート期間。V8 13.x・最新のECMAScript機能を搭載
- 注意点: 2026年10月のLTS化まではCurrentフェーズのため、本番環境での採用は2026年10月以降が推奨。互換性テストを十分に実施すること
- 適したケース: LTS化後に採用し、次の移行サイクルまで長期安定稼働させたい場合
移行時の注意点
nvmによるバージョン切り替え
nvm(Node Version Manager)またはvoltaを使用してバージョンを管理している場合、nvm install 22 && nvm use 22で移行できます。package.jsonのenginesフィールドも"node": ">=22"に更新してください。
AWS LambdaのNode.jsバージョン更新
AWS Lambdaのランタイムを変更するにはLambda関数の設定を更新します。SAM/CloudFormationを使用している場合はRuntime設定をnodejs22.xに変更してデプロイしてください。Lambda関数のコードにrequire('aws-sdk')を使用している場合、v3 SDKへの移行も推奨されます。
Dockerイメージの更新
DockerfileでFROM node:20を使用している場合はFROM node:22に変更し、ビルドと動作確認を実施してください。Node.jsの公式Dockerイメージはalpine/slim/debian各バリアントが提供されています。
Node.jsサーバーのクラウド移行を検討するなら
Node.js 20のEOLはサーバー環境の見直し時期でもあります。オンプレミスやVMで運用しているNode.jsアプリをVPSに移行することで、OS・ランタイムの更新作業を効率化できます。
VPS環境ではNode.js 22のセットアップが容易で、nvm等によるバージョン管理も柔軟に対応できます。初期費用なしで最新のNode.js実行環境を構築でき、スケールアップも柔軟に対応可能です。
比較候補サービス
エックスサーバーのVPSサーバー

圧倒的なコスパと処理性能。サーバー管理費用を大幅に削減したい場合の第一候補です。
さくらのVPS
創業1996年の老舗ホスティング事業者。豊富なプラン構成と、ドキュメントが充実しています。
KAGOYAのVPS

老舗ならではの安定したインフラと法人サポートが強み。長期運用を前提とした法人利用に適しています。
公式情報
- Node.js リリーススケジュール – nodejs.org
- Node.js 20 EOLアナウンス – nodejs.org
- AWS Lambda ランタイムサポートポリシー – AWS Docs