Skip to content

インフラ概要

LiGA を本番運用するためのクラウド構成と、staging 環境の現状。

全体像

レイヤサービスプラン
Web (Next.js)Netlify Pro$20/月 / 1 site (branch deploy で staging + prod)
API (Hono)Cloud Run v2従量課金 (min=0 staging / min=1 prod)
DBCloud SQL (PostgreSQL 17)staging: db-f1-micro / prod: db-custom-1-3840
画像Cloudflare R2Free (10GB)
決済Stripetest mode (staging) / live mode (prod)
メールSendGridFree (100/日)
監視SentryFree (5,000 エラー/月)
SourceGitHub (astyleinc/liga-mono)後日 顧客 Org へ Transfer

詳細は サーバー構成リソース図 を参照。

IaC 方針

  • Terraform で GCP のリソースを全て管理 (infra/terraform/)
  • 同 GCP project に staging + prod を同居、リソース名 / Secret / SA は _${env} で suffix 付与
  • State は GCS バケット (<project-id>-tf-state)、prefix で env 別管理
  • 機密値は Secret Manager の slot だけ TF が作り、値は外部投入 (state に乗らない)
  • IAM は per-resource に scope して、staging SA が prod の secret を読めない設計

詳細は IaC 設計と運用

staging 環境の現状

進捗内容
GCP プロジェクト作成 & 招待受領 (project-0fccf552-fc68-4756-9c1)
Netlify Site 作成 (liga-staging) + GitHub 連携
Terraform で Cloud SQL / Cloud Run / IAM / WIF / Secret slot 作成
Secret 値 12 個投入 (BETTER_AUTH / Stripe test / その他 TODO)
DB マイグレ + seed 完了 (大会 9 件)
GitHub Secrets / Variables 投入 (staging Environment)
Netlify env vars 投入 (production context、DATABASE_URL は public IP + sslmode=no-verify)
Cloud SQL に authorized_networks 0.0.0.0/0 追加 (staging のみ)
Cloud Run 初回 deploy (Dockerfile 修正 × 2 後に成功)
Netlify 再 deploy で env 反映
動作確認 — https://liga-staging.netlify.app/ で HTTP 200 🎉
Stripe webhook URL 登録 (we_xxx + whsec_... 投入、stripe trigger で署名検証通過確認)
管理者アカウント作成 (j.myoga.work@gmail.com → role=admin)
(リリース直前) Cloud SQL を Private IP に切替
(ドメイン取得後) 独自ドメイン + SendGrid + OAuth リダイレクト URI 更新

詳細手順は staging 立ち上げログ。 開発中の反映 / マイグレ / 巻き戻しは 開発フロー

料金目安

  • staging のみ: 約 ¥4,800〜5,600 / 月
  • staging + prod (本番化後): 約 ¥9,200〜11,000 / 月
  • 初回 90 日は GCP $300 Free Trial で実質 ¥3,000 / 月

詳細は 料金見積もり

関連ドキュメント