デプロイ前の確認事項
作ったアプリを公開する前に、セキュリティとインフラの2点を確認しましょう。
セキュリティチェック
アプリを外部に公開する場合、セキュリティの確認は必須です。Claude Code にセキュリティ監査を依頼しましょう。
Claude Code に伝えるプロンプト例:
このアプリケーション全体のセキュリティ監査を行ってください。
以下の観点でチェックし、見つかった問題を Critical / High / Medium / Low のランク別に一覧にしてください。
- 認証・認可の不備
- 入力値のバリデーション不足(XSS, SQLインジェクションなど)
- APIキーやシークレットのハードコード
- CORS設定の問題
- 依存パッケージの既知の脆弱性
- その他 OWASP Top 10 に該当する項目結果が出たら:
- Critical / High のものから優先的に対処する
- 「この問題を修正してください」と Claude Code に伝えれば、修正コードを提案してくれる
- 時間がなければ、Critical だけでも必ず対処する
- Medium / Low は公開後に改善しても問題ない場合が多い
よくある指摘と対処:
| 指摘例 | 対処 |
|---|---|
| APIキーがソースコードに直書き | 環境変数(.env)に移動し、.gitignore に追加 |
| ユーザー入力をそのまま表示 | サニタイズ処理を追加(XSS対策) |
| エラーメッセージにスタックトレース表示 | 本番環境ではユーザー向けのメッセージのみ表示 |
| 認証なしでAPIにアクセス可能 | 認証ミドルウェアを追加 |
リポジトリの整理
GitHub にコードを公開する前に、不要なファイルや機密情報が含まれていないか確認しましょう。
.gitignore の確認
以下のファイルが GitHub に上がっていないことを確認してください。
このプロジェクトの .gitignore を確認してください。
.env ファイル、APIキー、node_modules、ビルド成果物が
Git の追跡対象から除外されているかチェックしてください。
もし不足があれば修正してください。特に注意するファイル:
.env/.env.local— APIキーやシークレットが入っているnode_modules/— 依存パッケージ(サイズが巨大).next//dist//build/— ビルド成果物
既に Git にコミットしてしまった場合は、Claude Code に「.envファイルをGitの履歴から削除して」と伝えましょう。
README の作成
後から見返す自分のためにも、最低限の README を書いておきましょう。
このプロジェクトの README.md を作成してください。
以下を含めてください:
- プロジェクトの概要(何をするアプリか)
- セットアップ手順(npm install、環境変数の設定など)
- 起動方法公開前の品質チェック
エラーハンドリング
本番環境で真っ白な画面やスタックトレースが表示されないよう確認しましょう。
このアプリのエラーハンドリングを確認してください。
- APIエラー時にユーザーに分かりやすいメッセージを表示しているか
- 本番環境でスタックトレースが露出していないか
- 予期しないエラーが発生した場合のフォールバック画面があるかレスポンシブ対応
デモで見せる際にも重要です。スマホやタブレットで表示が崩れていないか確認しましょう。
このアプリのレスポンシブ対応を確認してください。
モバイル(375px)、タブレット(768px)、デスクトップ(1280px)の
各画面幅で表示に問題がないかチェックしてください。ライセンスの確認
使用しているライブラリのライセンスを確認しましょう。特に商用利用や社内利用の場合は重要です。
このプロジェクトで使用しているパッケージのライセンスを一覧にしてください。
商用利用に制限があるものがあれば教えてください。主なライセンスと意味:
| ライセンス | 商用利用 | 注意点 |
|---|---|---|
| MIT | OK | ほぼ制約なし。最も一般的 |
| Apache 2.0 | OK | 特許権の付与あり |
| GPL | 要注意 | 派生物も GPL で公開する必要がある |
| AGPL | 要注意 | サーバーサイドで使う場合もソース公開が必要 |
デプロイ先の選定
アプリの種類に応じて、適切なデプロイ先を選びましょう。
| アプリの種類 | おすすめのデプロイ先 | 備考 |
|---|---|---|
| 静的サイト / SPA | Vercel, Cloudflare Pages | 無料枠で十分。Vercel は private repo の場合 Pro プラン(有料)が必要 |
| フルスタック(Next.js等) | Vercel, Railway | Vercel は Next.js との相性が良い |
| バックエンドAPI | Railway, Render | 無料枠あり。本格運用なら GCP / AWS |
| データベースあり | Supabase, PlanetScale | BaaS を使えばサーバー管理不要 |
デプロイ時の注意点:
- 環境変数の設定: ローカルの
.envの値を、デプロイ先の環境変数設定画面で登録する - ビルドの確認:
npm run buildがローカルで成功することを確認してからデプロイする - ドメイン: 各サービスが自動的にURLを発行してくれる(独自ドメインは後から設定可能)
Claude Code にデプロイを手伝ってもらうプロンプト例:
このアプリを Vercel にデプロイしたいです。
必要な設定ファイルの確認と、デプロイ手順を教えてください。プラットフォーム別ガイド
Vercel
Next.js との相性が最も良く、ゼロコンフィグでデプロイできます。
向いているアプリ: Next.js / React のフロントエンド、フルスタックアプリ
データベースが必要な場合:
- Vercel Postgres (powered by Neon) — Vercel ダッシュボードから直接作成でき、環境変数も自動設定される。最も手軽
- Supabase — PostgreSQL + 認証 + リアルタイム機能がセット。無料枠が充実(500MB)
- PlanetScale — MySQL ベースのサーバーレスDB。ブランチ機能でスキーマ変更が安全
デプロイ手順:
- GitHub にリポジトリを push
- vercel.com でリポジトリを import
- 環境変数を設定
- Deploy をクリック
注意: Hobby プラン(無料)は public repo のみ。private repo の場合は Pro プラン(月$20)が必要。
Cloudflare Pages
静的サイトやエッジで動作する Web アプリに最適。無料枠が非常に充実しています。
向いているアプリ: 静的サイト、SPA、軽量な Web アプリ
データベースが必要な場合:
- Cloudflare D1 — Cloudflare のエッジで動作する SQLite ベースの DB。同じエコシステム内で完結するため設定が簡単。無料枠あり
- Turso — エッジ対応の SQLite(libSQL)。Cloudflare Workers との相性が良い
- Supabase — 外部サービスとして接続。REST API 経由でアクセス
デプロイ手順:
- GitHub にリポジトリを push
- Cloudflare ダッシュボード → Pages → 「Create a project」
- リポジトリを接続し、ビルド設定を入力
- Deploy をクリック
Railway
バックエンド API やデータベースを含むアプリに最適。Docker 対応で柔軟。
向いているアプリ: バックエンド API、フルスタックアプリ、DB が必要なアプリ
データベースが必要な場合:
- Railway 内蔵の PostgreSQL / MySQL / Redis — ワンクリックで追加可能。アプリと同じプロジェクト内で管理でき、接続情報も自動設定される
- 外部 DB を使う必要がほとんどない
デプロイ手順:
- railway.app で GitHub 連携
- リポジトリを選択
- 必要なら「+ New」からデータベースを追加
- 環境変数を設定して自動デプロイ
注意: 無料クレジット(月$5分)を超えると課金。Hobby プランは月$5。
Render
シンプルな構成で、Heroku からの移行先として人気。
向いているアプリ: バックエンド API、静的サイト、定期実行ジョブ
データベースが必要な場合:
- Render PostgreSQL — ダッシュボードから作成。無料枠あり(90日間、256MB)
- Supabase / Neon — 長期利用なら外部の無料 DB サービスを併用
デプロイ手順:
- render.com で GitHub 連携
- 「New +」→ Web Service(API)or Static Site
- ビルドコマンドと起動コマンドを設定
- 環境変数を設定してデプロイ
Google Cloud (GCP)
エンタープライズ向けの本格的なクラウド基盤。Always Free 枠もあり、小規模から大規模まで対応できます。
向いているアプリ: 本格的な業務システム、大規模アプリ、機械学習を含むアプリ
主なデプロイ先:
- Cloud Run — コンテナをサーバーレスで実行。Docker イメージを渡すだけで自動スケール。最もおすすめ
- App Engine — PaaS。コードを push するだけでデプロイ。Node.js / Python 等に対応
- Firebase Hosting — 静的サイト・SPA 向け。CDN 配信で高速
データベースが必要な場合:
- Cloud SQL (PostgreSQL / MySQL) — マネージド RDB。本格運用向け。Always Free 枠はないが信頼性が高い
- Firestore — NoSQL ドキュメントDB。無料枠が充実(1GB ストレージ、50,000 読み取り/日)。Firebase と統合しやすい
- AlloyDB — PostgreSQL 互換の高性能 DB。大規模データ向け
デプロイ手順(Cloud Run の場合):
- Google Cloud Console でプロジェクトを作成
gcloudCLI をインストール(Claude Code にgcloud CLIをインストールしてと伝えればOK)- Dockerfile を用意(Claude Code に作成を依頼できる)
gcloud run deployでデプロイ
注意: Always Free 枠(Cloud Run: 月200万リクエスト、Firestore: 1GB)があるが、設定によっては課金が発生する。必ず予算アラートを設定すること。