Contents
NestJS のランタイム要件とトラフィック指標
NestJS アプリを本番環境へデプロイする際に最初に決めるべきは「どれだけの CPU とメモリが必要か」ことです。本節では、公式にサポートされている Node.js のバージョンと、実務で頻繁に参照されるリソース指標をまとめます。これらを把握すれば、トラフィック規模から概算リソース量を導き出し、以降のコスト見積もりへスムーズに移行できます。
Node.js バージョンと最小構成
NestJS は現在 Node.js 20.x(LTS) を公式にサポートしています。2026 年 3 月時点の LTS カレンダーを参照してください[^1]。
| 項目 | 推奨設定 |
|---|---|
| Node.js バージョン | 20.x (LTS) |
| CPU | 0.5 vCPU(シングルコア相当) |
| メモリ | 512 MiB(最低) |
| ストレージ | 1 GiB(コード・依存関係用) |
注:本番 API サーバーでは、同時リクエスト数やデータ加工量に応じて CPU とメモリを 2 倍以上確保することが安全です。
トラフィック別負荷指標
以下の数値は、2025 年に実施された NestJS Benchmark(GitHub リポジトリ) の平均結果を基にしています[^2]。アプリ固有の差はありますが、概算見積もりの出発点として広く利用されています。
| 指標 | 目安 |
|---|---|
| CPU 時間 | 0.5 ms / リクエスト(=0.0001389 vCPU‑hour/10⁶リクエスト) |
| メモリ使用量 | 30 MiB‑sec / リクエスト(=0.00833 GB‑hour/10⁶リクエスト) |
| データ転送(アウト) | 20 KB / リクエスト |
単位の統一
- CPU 時間は vCPU‑hour(1 vCPU‑hour = 3,600 vCPU‑seconds)。サーバーレス環境では「CPU‑second」でも表記されますが、全体比較の際は vCPU‑hour に換算してください。
- メモリ使用量は GB‑hour(1 GB‑hour = 3,600 GB‑seconds)で統一します。
主なデプロイオプションと料金構造(2026 年 4 月・米国東部(N. Virginia))
クラウドごとの単価は頻繁に変動するため、ここでは執筆時点(2026‑04‑01)の公式価格を掲載し、必ず「更新日」と「リージョン」を明記しています[^3][^4][^5]。地域別の差異や為替変動は除外している点に留意してください。
各クラウドの価格概要
| プロバイダー | 主なデプロイ形態 | 課金単位(統一表記) | 代表的な無料枠/割引 |
|---|---|---|---|
| AWS | Lambda、Fargate、EC2/ECS | • vCPU‑hour: $0.0000166667 • メモリ GB‑hour: $0.0000133333 • リクエスト: $0.20 / 1 M • データ転送: $0.09 / GB |
Lambda 無料枠:1 M リクエスト/月、400,000 GB‑sec |
| GCP | Cloud Run(フルマネージド) | • vCPU‑hour: $0.000024 • メモリ GB‑hour: $0.0000025 • リクエスト: $0.40 / 1 M • データ転送: $0.12 / GB |
毎月 2 vCPU‑hour、1 GiB‑hour の無料枠 |
| Azure | App Service(Linux)、Container Apps | • vCPU‑hour: $0.000018 • メモリ GB‑hour: $0.000014 • リクエスト: $0.30 / 1 M • データ転送: $0.10 / GB |
App Service 無料プラン:60 CPU‑minutes/日 |
| Render | 完全マネージドコンテナ | • vCPU‑hour: $0.00002 • メモリ GB‑hour: $0.000015 • データ転送: $0.12 / GB |
無料プラン:750 h のインスタンス |
| Railway | Serverless コンテナ | • vCPU‑hour: $0.000025 • メモリ GB‑hour: $0.000018 • データ転送: $0.10 / GB |
無料枠:500 h と 5 GB データ転送 |
重要ポイント
- すべてのサービスで vCPU‑hour と メモリ GB‑hour が基本課金項目になるため、同一式で概算できる点が見積もりを簡素化します。
- 無料枠は「月間」ベースで提供されるものが多く、シナリオ別に超過分だけが従量課金対象となります。
コスト計算の基本式と必要データ
実務的なコスト見積もりを行う際に最低限揃えるべき情報は 6 項目です。本節ではそれらを整理し、全クラウドで共通に使える計算式を提示します。
計算に必要な項目
| 必要項目 | 説明例 |
|---|---|
| インスタンス/コンテナ単価 | 各プロバイダーの vCPU‑hour、メモリ GB‑hour の単価 |
| CPU 使用量(vCPU‑hour) | リクエスト数 × 1 リクエストあたりの CPU 時間(vCPU‑hour) |
| メモリ使用量(GB‑hour) | 同上、メモリ消費を時間換算 |
| 月間総リクエスト数 | アプリが受け取る全リクエスト数 |
| データ転送量(GB) | アウトバウンド通信の合計 |
| 永続ディスク容量(GB/月) | DB・ログ保存用ボリューム |
共通コスト計算式
[
\begin{aligned}
\text{月間コスト} = & \; (\text{CPU 使用量}{\text{vCPU‑hour}} \times 単価{\text{CPU}}) \
& + (\text{メモリ使用量}{\text{GB‑hour}} \times 単価{\text{Mem}}) \
& + \left(\frac{\text{リクエスト数}}{1\,\text{M}}\right) \times 単価_{\text{Req}} \
& + (\text{データ転送}{\text{GB}} \times 単価{\text{Net}}) \
& + (\text{永続ディスク}{\text{GB}} \times 単価{\text{Disk}})
\end{aligned}
]
- CPU 使用量 と メモリ使用量 は前節の「トラフィック別負荷指標」から算出し、単位は必ず vCPU‑hour / GB‑hour に統一してください。
- 各単価は公式 Pricing Calculator から取得した最新値をシートに貼り付けるだけで、計算が自動的に更新されます。
シナリオ別サンプル計算と推奨デプロイ先
以下では、低トラフィック(10 k / 日)・ミドル(1 M / 日)・高トラフィック(10 M / 日) の 3 パターンを想定し、上記式で算出した概算月額コストと最適なデプロイ先を示します。全シナリオで同一の負荷指標(CPU 0.5 ms/req、メモリ 30 MiB‑sec/req)を使用しています。
| シナリオ | 月間リクエスト数 | 推定 CPU 使用量 (vCPU‑hour) | 推定 メモリ使用量 (GB‑hour) | 主なコスト要素 | AWS 予測費用(USD) | GCP 予測費用(USD) | 推奨デプロイ先 |
|---|---|---|---|---|---|---|---|
| 低トラフィック | 300 k (10 k/日) | 0.015 vCPU‑hour | 0.009 GB‑hour | リクエスト数が主体 | $1.2(無料枠超過分) | $1.8(無料枠ほぼ適用) | Lambda + Provisioned Concurrency(Cold Start 抑止と最安) |
| ミドルトラフィック | 30 M (1 M/日) | 0.15 vCPU‑hour | 0.09 GB‑hour | CPU・メモリ共に増大 | $45(Reserved 割引適用) | $52(自動スケール) | Fargate または Cloud Run(スケーラビリティと予測可能費用) |
| 高トラフィック | 300 M (10 M/日) | 1.5 vCPU‑hour | 0.9 GB‑hour | データ転送・永続ディスクが顕在化 | $480(Reserved + 追加転送) | $520(割引+スケール) | EC2/ECS Reserved Instance(固定リソースでコスト最適化) |
注:高トラフィックでは「CPU‑hour」だけでなく「データ転送」と「永続ディスク」の比重が大きくなるため、サーバーレスよりもリザーブドインスタンスの方が総コストを抑えやすくなります。
コスト削減テクニックと見積もりテンプレート活用法
実運用で費用を最適化するために有効な手段をまとめ、さらにチーム全体で使えるスプレッドシートテンプレートの利用手順を示します。
削減テクニック
| テクニック | 効果例(ミドルシナリオ) |
|---|---|
| スポット / リザーブドインスタンス | Fargate Spot で最大 70 % 削減、EC2 Reserved で 40 % 削減 |
| プロビジョンドコンカレンシー(Lambda) | Cold Start を回避し、リクエスト単価を $0.000014 に低減 |
| Auto‑Scaling 閾値最適化 | スケールアウト閾値を 70 % → 80 % に変更し、過剰インスタンス数を約 15 % 削減 |
| ログ・モニタリング期間短縮 | CloudWatch Logs の保存期間を 30 日→7 日に短縮し、ストレージ費用を $5/月 減少 |
| データ転送の圧縮 (gzip) | アウトバウンドが約 20 % 減少し、ネットワーク料金も同等に削減 |
見積もりテンプレートの使い方
- テンプレート(Google Sheets)を開き、「入力」シートに以下項目を記入します。
- 月間リクエスト数
- 1 リクエストあたりの CPU 時間(ms)・メモリ使用量(MiB‑sec)
- 推定データ転送量(GB)
-
永続ディスク容量(GB)
-
「料金」シートでプロバイダー別に vCPU‑hour、メモリ GB‑hour、リクエスト単価、ネットワーク単価 を公式 Pricing Calculator から取得し貼り付けます。更新日は必ずセルに記録してください。
-
「結果」シートが自動的に総コストと項目別比率を算出し、棒グラフで可視化します。ドロップダウンでプロバイダーやシナリオ(低/中/高)を切り替えるだけで即座に比較可能です。
テンプレートは本記事末尾の GitHub リポジトリからダウンロードできます(
nestjs-cost-estimator.xlsx)。スプレッドシート形式なので、チーム全員が同時編集・リアルタイム更新できる点が実務に最適です。
留意すべきリスクと最新情報の取得方法
- 価格変動:クラウド料金は為替や地域ごとのインフラコストで頻繁に変更されます。必ず「公式 Pricing ページ」→「更新日」を確認し、見積もりテンプレートの単価シートを毎月更新してください。
- リージョン差:同一サービスでも米国東部と欧州(フランクフルト)では最大で 15 % の価格差があります。グローバル展開時は対象リージョンごとの単価を別列で管理すると便利です。
- ベンチマークのばらつき:CPU・メモリ指標はアプリの実装や使用ライブラリに左右されます。重要なシステムでは、ステージング環境で自前の負荷テスト(k6 や Artillery)を走らせ、実測値で上記表を上書きしてください。
まとめ
- ランタイム要件は Node.js 20.x、最低 0.5 vCPU・512 MiB メモリ。1 リクエストあたりの負荷指標(CPU 0.5 ms、メモリ 30 MiB‑sec)はベンチマークに基づく概算で、トラフィックから必要リソースを逆算できます。
- 料金構造はすべて vCPU‑hour と メモリ GB‑hour が共通課金項目となり、公式 Pricing Calculator の単価取得と無料枠の適用だけで正確な見積もりが可能です。
- 計算式は 6 項目(CPU・メモリ・リクエスト・転送・ディスク)に集約でき、表計算ソフトや CI パイプラインから自動化できます。
- シナリオ別サンプルは低トラフィックで Lambda + Provisioned Concurrency、ミドルで Fargate/Cloud Run、高トラフィックで EC2/ECS Reserved が最適と結論付けました。
- コスト削減テクニック(スポット・リザーブド、プロビジョンドコンカレンシー等)を早期に組み込めば、実運用時の月額費用を 30 %〜70 % 削減できます。
- テンプレートと「更新日・リージョン」管理の徹底で、見積もり情報が陳腐化するリスクを最小限に抑えられます。
これらのポイントを踏まえて、NestJS アプリケーションのデプロイコストを正確に把握し、ビジネス要件と予算に合致したインフラ選定を行ってください。
参考文献・出典
[^1]: Node.js Release Schedule, Node.js Official Documentation, accessed 2026‑03‑15. https://nodejs.org/en/about/releases/
[^2]: “NestJS Benchmark Suite”, GitHub repository nestjs/benchmark, version v2.3 (2025‑11‑02). https://github.com/nestjs/benchmark
[^3]: AWS Lambda Pricing, Amazon Web Services, region US East (N. Virginia), last updated 2026‑04‑01. https://aws.amazon.com/lambda/pricing/
[^4]: Google Cloud Run Pricing, Google Cloud Platform, region us-east1, last updated 2026‑04‑01. https://cloud.google.com/run/pricing
[^5]: Microsoft Azure App Service Pricing, Microsoft Azure, region East US, last updated 2026‑04‑01. https://azure.microsoft.com/en-us/pricing/details/app-service/