System Architecture
Cloudflare + Vercel + Supabase
👤
ユーザー
ブラウザからアクセス(HTTPS)
全リクエストがここを通る
☁️
Cloudflare
セキュリティ・ログ・配信
前段 ― 守りの壁
CDN
画像・CSS・JSを世界中のエッジから高速配信。ユーザーに最も近いサーバーから返す
WAF
不正アクセス・攻撃を自動ブロック。IPや国単位のアクセス制限ルールも設定可能
DDoS 防御
大量アクセス攻撃を自動で検知・遮断。設定不要で最初から有効
Analytics
アクセス数・国別・パス別・時間帯別のログを自動記録。ダッシュボードで確認
Security Events
ブロックされた攻撃の詳細ログ。攻撃元IP・国・手法をリアルタイムで確認
Workers(定期実行)
Cron Triggerで毎日バックアップを自動取得し、R2に保存する処理を実行
安全なリクエストだけ通す
▲
Vercel
アプリケーション
アプリ本体
Next.js
フロントエンド(React)とAPI Routesを動かすアプリケーション基盤
サーバーレス
サーバー管理不要。デプロイするだけで自動スケール
TLS 暗号化通信
⚡
Supabase
データベース
データ管理
PostgreSQL
メインのデータベース。ユーザー情報・コンテンツ等を保存
通信暗号化(自動)
アプリ↔DB間はTLS/SSLで暗号化。盗聴されても読めない
ディスク暗号化(自動)
保存データはAES-256で暗号化。物理ディスクを盗まれても安全
カラム暗号化(任意)
pgcryptoで機密データ(カード番号等)を個別に暗号化。DB管理者にも見えない
毎日自動バックアップ
🪣
Cloudflare R2
バックアップ保管庫
長期保存
日次バックアップ
Supabaseのデータを毎日自動で保存。90日分を保持し古いものは自動削除
エグレス無料
復元時のダウンロードが無料。AWS S3と違い取り出しにお金がかからない
低コスト
10GBの保存で月約$0.15。S3より安く、転送料も無料
データの流れ
🌐
アクセス
ユーザー → Cloudflare → Vercel → Supabase
📊
ログ記録
Cloudflare が全リクエストを自動記録(Analytics)
🛡️
防御
Cloudflare WAF が不正アクセスをVercelに届く前にブロック
🔒
暗号化
通信 = TLS / 保存 = AES-256 / 機密カラム = pgcrypto
💾
バックアップ
Workers Cron が毎日 Supabase → R2 に自動保存
対応する順番
1
Cloudflare にドメイン登録
ネームサーバーを変更するだけ。ログ・監視・DDoS防御が即有効に
かんたん
2
WAF ルール設定
アクセス制限ルールをダッシュボードから追加。コード変更不要
かんたん
3
R2 バケット作成 + バックアップ設定
R2バケットを作り、Workers Cron Triggerで毎日バックアップを自動化
ふつう
4
機密カラムの暗号化(必要に応じて)
カード番号等の高機密データがあればpgcryptoで個別に暗号化
ふつう
コスト目安(月額)
$0
Cloudflare Free
CDN・WAF・Analytics
$20
Vercel Pro
アプリホスティング
$25
Supabase Pro
DB + API バックアップ
~$1
R2 + Workers
バックアップ保管