Next.js アプリを作成してデプロイする方法

Next.js ウェブ アプリケーションの構築は、アイデアをオンラインで実現するための最初のステップにすぎません。アプリを高速で応答性に優れ、ユーザーが見つけやすいものにするには、適切なデプロイ設定を選択する必要があります。

自然言語プロンプトを使用して AI ウェブ プロトタイプを構築する場合でも、Claude Code や Replit などのツールからエクスポートしたフルスタック コードベースをデプロイする場合でも、最新のクラウド プラットフォームは、手間のかからないホスティング手段を提供しています。このガイドでは、Next.js の仕組みを説明するほか、レンダリング アーキテクチャに関する重要な考慮事項を取り上げ、無料のスターター ティア オプションを使用してマネージド インフラストラクチャにアプリをデプロイする手順を説明します。

Cloud Run で Next.js アプリを実行する

Next.js とは

Next.js は、デベロッパーがフルスタックのウェブ アプリケーションを構築できるように設計されたオープンソースの React フレームワークです。標準的な React アプリケーションは通常、ウェブブラウザのクライアントサイドで実行されますが、Next.js はクライアントサイドのインタラクティビティとサーバーサイドのレンダリングを組み合わせます。

Next.js は、ページ ルーティング、サーバー コンポーネント、アセットの最適化を自動的に処理することで、デベロッパーやバイブコーダーが最小限の構成でクリエイティブなコンセプトをプロダクション レディなウェブアプリに変換できるようにします。

従来の React と Next.js の比較

標準の React と Next.js のどちらを選択するかは、レンダリング要件、検索エンジンでの可視性、バックエンドのニーズによって異なります。

機能

React(デフォルト)

Next.js

レンダリング アーキテクチャ

クライアントサイド レンダリング(CSR)

サーバーサイド レンダリング(SSR)、静的サイト生成(SSG)、React Server Components

検索エンジン最適化(SEO)

追加の事前レンダリング構成が必要になる場合がある

サーバーでレンダリングされた HTML により、導入直後から検索エンジンに対応

最初のページ読み込み

クライアントの JavaScript バンドルが大きいため、低電力デバイスでは処理が遅くなる

軽量なサーバー レンダリング HTML を使用して初期表示を高速化

ルーティング メカニズム

サードパーティのルーティング ライブラリ(React Router など)が必要

App Router による組み込みのファイル システム ベースのルーティング

フルスタック機能

フロントエンドのみ、別途バックエンド サービスが必要

組み込みの API ルートハンドラとサーバー アクション

従来のアプリケーション ホスティングとサーバーレス コンテナ

Next.js アプリのリリース準備において、適切なコンピューティング環境を選択することは、メンテナンスのオーバーヘッド、スケーリングの速度、運用コストに直接影響します。

機能

仮想マシン(VPS / IaaS)


PaaS / Buildpack プラットフォーム


サーバーレス コンテナ(Cloud Run)


インフラストラクチャ管理

高い。オペレーティング システムの更新とサーバーのパッチ適用を手動で行う

ベンダー固有の規則を持つフルマネージド プラットフォーム レイヤ

オペレーティング システムのメンテナンスが不要なフルマネージド インフラストラクチャ

自動スケーリングの動作

新しい仮想マシンのプロビジョニングと起動には数分を要する

高速な自動スケーリング。多くの場合、段階的なワーカープランや同時実行数の上限に関連付けられている

リクエスト ドリブンの即時自動スケーリング、アイドル時にはゼロまでスケールダウン

パッケージ形式

未加工のビルドファイルまたは PM2 プロセス マネージャー

Git リポジトリと独自のビルドシステムを統合

標準の Open Container Initiative(OCI)と Docker コンテナ イメージ

アイドルコスト プロファイル

受信トラフィックに関係なく 24 時間 365 日課金

月額基本料金または無料枠での厳格な実行制限

無料のスターター ティアの割り当て、またはアクティブなリクエスト中は 1 秒単位で厳密に課金

ベンダーのポータビリティ

高いが、設定の再現が難しい場合がある

低い。構成はベンダー固有のホスティング ルールに依存

高い。標準のコンテナ イメージは、あらゆるクラウド環境やローカル環境で実行可能

Next.js アプリケーションを作成する際の主な考慮事項

プロダクション レディな Next.js アプリケーションを構築するには、高速なパフォーマンスと安定した稼働時間を確保する、コア アーキテクチャ パターンに対処する必要があります。

クライアントとサーバーの境界

Next.js はデフォルトで React Server Components を使用します [推論]。サーバー コンポーネントは、重い JavaScript をブラウザに送信することなく、データを直接取得します。一方、インタラクティブな UI 要素は 'use client' ディレクティブを使用します [推論]。クライアント コンポーネントはインタラクティブな UI タスクに集中させ、クライアント バンドルを小さく高速に保ちます [推論]。

クライアント環境変数

非公開の API キーやデータベース認証情報が公開ブラウザに漏洩するのを防ぐため、Next.js では、NEXT_PUBLIC_ という接頭辞が付いた変数へのブラウザ アクセスを制限しています。非公開サーバーのシークレットには常に接頭辞を付けず、環境構成で安全に管理してください。

ステートレスなサーバーレス実行

最新のサーバーレス プラットフォームは、受信トラフィックに応じてコンテナ インスタンスをスピンアップおよびスピンダウンします。ローカル コンテナ ディスクに直接保存されたファイルは、インスタンスがスケールダウンや再デプロイされると消滅します。永続的なアプリケーション データは、 Cloud Firestore や Cloud SQL for PostgreSQL などのマネージド クラウド データベースに保存し、ユーザーがアップロードしたデータは Cloud Storage に保存します。

スタンドアロン出力トレース

カスタム コンテナのデプロイでは、Next.js 構成で output: 'standalone' を有効にします [推論]。これにより、依存関係が自動的にトレースされ、必要なファイルのみがコンパクトなビルドフォルダにバンドルされるため、コンテナ イメージのサイズが縮小され、コンテナの起動が高速化されます [推論]。

Next.js アプリを作成してデプロイする方法

Next.js アプリケーションを作成および起動するワークフローとしては、主に、迅速な AI プロトタイピング(ローカル CLI の設定は不要)または標準的なコンテナ デプロイ(カスタム コードベース用)を使用します。

手段 A: AI Studio のビルドモードとスターター ティアを使用した迅速なプロトタイピング

迅速なプロトタイピングやバイブ コーディングのワークフローにおいて、デベロッパーは Google AI Studio のビルドモードで、フルスタックの Next.js アプリケーションを自然言語で記述できるほか、コマンドライン ツールを管理したり請求先アカウントを構成したりすることなく、Cloud Run に直接公開できます。

ステップ 1: ビルドモードでアプリを初期化する

  1. Google AI Studio にアクセスし、ビルドモードに切り替えます。
  2. ユーザー インターフェース、スタイル、ビジネス ロジックを説明するアプリケーション プロンプトを入力します(例: 「インタラクティブなタスクボードとユーザー ログインを備えた、共同プロジェクト トラッカーを Next.js で構築して」)。
  3. 統合された AI エージェントが Next.js コンポーネント ファイルを生成し、App Router のレイアウトを構成して、npm 依存関係をインストールし、ブラウザに直接インタラクティブなライブ プレビューを表示します。

ステップ 2: 統合データベース ストレージとユーザー ログインを追加する

  • 永続データ: プロンプトでデータ ストレージが必要な場合は、Cloud Firestore または Cloud SQL for PostgreSQL(デベロッパー エディション)を有効にします。エージェントがデータモデル、クライアント接続ファイル、セキュリティ ルールのドラフトを自動的に作成します。
  • ユーザー認証: Firebase Authentication を切り替えて、カスタム OAuth リダイレクト ハンドラを記述せずに Google ログインフローを有効にします。

ステップ 3: Cloud Run に公開する

  1. 上部にあるインターフェースで [公開] > [使ってみる] > [アプリを公開] をクリックします。
  2. カスタム URL <my-nextjs-app>.ai.studio を指定し、デプロイ リージョンを確認します。
  3. このプラットフォームは、コンテナをパッケージ化し、基盤となるコンピューティングをプロビジョニングして、数秒以内に本番環境用のライブ *.run.app HTTPS URL を提供します。

手段 B: カスタム Next.js コードベースを Cloud Run にデプロイする

既存のコードベースや、Claude Code、Replit、ローカル開発環境などのツールからエクスポートされたプロジェクトの場合は、アプリケーションをコンテナ化し、Google Cloud CLI を使用してデプロイします。

ステップ 1: スタンドアロン出力を構成する

next.config.js(または next.config.mjs)ファイルを更新して、スタンドアロン ビルドを生成します [推論]:

  • JavaScript
読み込んでいます...

ステップ 2: マルチステージ Dockerfile を作成する

node_modules と .env を含むルートフォルダに .dockerignore ファイルを作成し、ローカル開発ファイルがコンテナにバンドルされないようにします。

プロジェクトのルートに Dockerfile を作成します。

  • Dockerfile
読み込んでいます...

ステップ 3: Cloud Run にデプロイする

Google Cloud CLI を使用してプロジェクト フォルダから直接デプロイし、覚えやすく共有しやすいカスタム URL(<my-cool-app>.cloud.run 形式)を割り当てます。

  • Bash
読み込んでいます...

無料枠とスターター ティアの料金メカニズム

無料枠の仕組みを理解することで、Next.js アプリケーションのプロトタイピングとスケーリングを予測どおりに行うことができます。

オプション

コンピューティングとリソースの許容量

要件と制限

• Cloud Run: 最大 2 つのアクティブなウェブ アプリケーション

• Cloud Firestore: 1 GiB のストレージ、50,000 回の読み取り/日、40,000 回の書き込み/日

• Cloud SQL: PostgreSQL デベロッパー エディション(ゼロへのスケーリング)

• Firebase Authentication: Google ログインを含む

• 有効な Google アカウント

• クレジット カードや請求先アカウントは不要

• 単一リージョンに固定されたリソース

• Cloud Run: 200 万リクエスト/月、180,000 vCPU 秒/月、360,000 GiB 秒/月、1 GB の北米からの下り(外向き)ネットワーク/月

• 最初の 90 日間は $300 分のウェルカム クレジットを利用可能

• リンクされた Cloud 請求先アカウント

• すべてのリージョンでプラットフォーム API への完全アクセス

サーバーレス環境で Next.js を実行するためのベスト プラクティス

  • スタンドアロン出力を使用する: Next.js スタンドアロン モードを常に有効にして、未使用の開発依存関係が本番環境コンテナにパッケージ化されないようにします [推論]。
  • 有料プロジェクトにインスタンス数の上限を設定する: プロトタイピング用のサンドボックスから本番環境に移行する際は、予期しないトラフィックの急増によって予算を超えないよう、--max-instances(例: --max-instances 5)を設定します。
  • React Server Components を活用する: 負荷の高いデータ取得をサーバー コンポーネントに移行することで、ブラウザ バンドルを軽量に保ち、Core Web Vitals を向上させます [推論]。
  • クライアント環境変数が組み込まれていることを確認する: NEXT_PUBLIC_ 環境変数は、ビルド時にクライアント バンドルに組み込まれます。ビルドステージを実行する前に、これらの環境変数が定義されていることを確認してください。

Google Cloud でビジネスの課題を解決する

新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。

次のステップ

$300 分の無料クレジットと 20 以上の Always Free プロダクトを活用して、Google Cloud で構築を開始しましょう。

  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud