DocChain LP — Next.js Static × API Gateway / Lambda / DynamoDB 統合
getdocchain.com は、Next.js (Static Export) の静的 LP を S3 + CloudFront で配信し、
CloudFront の Origin Behavior で /api/* を API Gateway → Lambda → DynamoDB → SES へ振り分ける構成です。
同一ドメイン内で静的配信と動的 API を共存させ、CORS や別ドメイン管理の手間を回避しています。
コンテンツとしては SaaS の事前登録 LP(本体は SI 業界向け設計書連鎖生成 AI、ベータ提供 2026/9 予定)ですが、
本ページは構成(LP 配信 + 事前登録 API + 本体側のホスティング想定)に絞って解説します。
サマリ
| プロジェクト | DocChain (SI 業界向け 設計書連鎖生成 AI / SaaS) |
|---|---|
| 公開 URL (LP) | https://getdocchain.com/ |
| ステータス | LP 稼働中(事前登録受付中)/ 本体は Phase 0(競合検証 + プロトタイプ) |
| 第 1 ターゲット | フリーランス SE / PM、中小 SIer 所属 PM |
| 第 1 機能 | 詳細設計書 → テスト仕様書 自動生成 |
| 価格モデル | 個人 ¥4,980/月 〜 法人 Business ¥80,000/月(ベータ期間は無料) |
| LP 構成 | Next.js (Static Export) + Lambda + API GW + DynamoDB + SES + CloudFront + Route 53 |
全体アーキテクチャ
構成図は drawio (AWS 公式アイコン v2026 系) で作成しています。下のビューアは .drawio ファイルを
直接レンダリングしています。zoom / pan / 編集ボタンが使えます。
A. LP の配信フロー
- DNS ― Route 53 hosted zone (ZXXXXXXXXXX) で
getdocchain.com+www.getdocchain.comを管理。 - ACM ― us-east-1 で証明書発行(
getdocchain.com+www.getdocchain.com)、自動更新。 - CloudFront ― 静的 LP を TLS 終端 + キャッシュ配信。Distribution ID は伏字(
EXXXXXXXXXX)。 - S3 (private) ― Next.js (Static Export) のビルド成果物を配置。Public Access Block + OAC で CloudFront 経由のみアクセス可。
B. 事前登録 API のサーバレス構成
LP のフォームから事前登録メアドを保存する API は、CloudFront の同一ドメインで /api/* を
API Gateway へ Origin behavior で振り分ける構成です。
- POST /api/subscribe ― API Gateway HTTP API → Lambda (Node.js)
- Lambda がメアドを正規化 + バリデーション → DynamoDB (
subscribersテーブル) にput_item(emailを PK に重複防止) - SES で「ご登録ありがとうございます」自動返信 + 管理者通知
- レスポンスは
{"ok": true}/ バリデーションエラーは 400 を返す
https://getdocchain.com/api/subscribe から動作確認済み。テスト登録 → DynamoDB 保存 →
SES 自動返信 → DDB 削除のサイクルを実機検証しています。
C. 本体側(β提供時)のコスト戦略
SaaS 本体は LP とは別構成(app.getdocchain.com)で、Vercel 上の Next.js 15 + Supabase + Stripe で
構築予定。LLM API 周りは下記 4 戦略を組み合わせて API 原価 89% 削減を狙います。
- モデルカスケード: GPT-4o-mini で草案 → 必要時のみ GPT-4o で仕上げ。設計書のような構造化データは mini で 80% 通る想定。
- Anthropic Prompt Caching: 「設計書の章立てテンプレート」など固定プロンプトをキャッシュ。 入力コストを 90% 削減(Anthropic の SDK 標準機能)。
- BYOK プラン併設: 法人 Business で「自社の API キーを持ち込む」プランを用意し、原価ゼロ運用も可能に。
- OpenRouter 経由: ルーティングコスト 5〜15% 削減 + フェイルオーバー対応(OpenAI 障害時に Anthropic へ自動切替)。
app.getdocchain.com を立てる予定です。
D. データモデル(LP)
LP の DynamoDB テーブルは事前登録メアドのみを保存するシンプルな設計。本体提供時の認証・課金とは テーブルを分離する方針です。
| テーブル | PK | SK | 用途 |
|---|---|---|---|
subscribers | email (S) | ― | 事前登録メアド + 登録日時 + UTM 元 |
On-Demand 課金 + PITR 有効化。アクセス数が安定したらプロビジョン課金への切替を検討。
採用判断のポイント
| 項目 | 採用 | 理由 |
|---|---|---|
| LP フロント | Next.js (Static Export) | SEO + OGP 動的生成、ビルド成果物は S3 で十分 |
| LP API | API GW + Lambda + DynamoDB | 事前登録の頻度では Lambda 1 関数で十分、運用コスト最小 |
| メール | SES(sandbox 解除予定) | 送信単価が安く、独自ドメインで送信可能 |
| 本体(予定) | Vercel + Supabase | Next.js 15 App Router + Postgres + 認証統合、MVP 規模で無料枠十分 |
| LLM API | OpenAI + Anthropic 両対応 | カスケード + キャッシング + 障害時フェイルオーバー |
| 決済 | Stripe Checkout | 日本円対応、サブスク、最小実装で導入可能 |
運用上の工夫
- NS 切替時のダウンタイム回避: 旧 zone と新 zone の両方に同じ A/CNAME/MX/TXT を持たせ、ドメインの NS を切替えてから DNS 伝播完了を待ち、旧 zone を破棄。
- SES 送信元の verify:
contact@getdocchain.comを Email Identity 登録 + DKIM 設定。送信失敗時は CloudWatch アラームで即通知。 - DynamoDB の重複防止:
emailを PK にすることで複数回登録を構造的に弾く。 - LP の OGP 画像:
/og.pngを事前生成して CloudFront でキャッシュ、SNS シェア時の画像取得を高速化。
これからやる予定
- 本体 Phase 0 完了 → Phase 1(MVP 開発、2〜3 ヶ月)に着手
app.getdocchain.comを Vercel に向け、ベータ提供(5 名)開始(2026/9 予定)- SI 業界向け Qiita / Zenn 連載記事 (15〜20 本) で集客導線を作る
- X(旧 Twitter)でフリーランス SE 界隈に告知強化