マルチクラウドデプロイ基盤(Cloudflare Workers × Hono × Nitro × 法人Webプレゼンス)
✅ 検証済み | 技術 | 優先度:🟠 高
シリーズ: ゴールファースト・テック
目的(ゴール)
Cloudflare Pages 非推奨化(2025年4月発表)を契機に、SOL サイト・コーポレートサイト・アンケート Worker のデプロイ基盤を Cloudflare Workers + Static Assets に移行し、Hono + Nitro による WinterCG 準拠のプラットフォーム非依存な構成を確立する。加えて Google Workspace(GWS)・GA4・M365 メール転送を整備し、法人としての Webプレゼンス全体を安定稼働させる。
アクター
- 著者(Manabazu)
- Cloudflare Workers / Wrangler 4.x
- Hono 4.x(アンケート Worker API)
- Quartz(静的サイトジェネレーター)
- WSL2 Ubuntu-24.04(Windows ARM64 対応のため必須)
- Google Workspace / GA4 / M365 / Cloudflare DNS
開始条件
- Cloudflare アカウントが有効かつ DNS が管理下にある
- WSL2 Ubuntu-24.04 が Node1 に導入済み(wrangler は win32 arm64 非対応のため)
- 既存 Quartz-SOL / Quartz-Corporate リポジトリが存在する
事後条件
- SOL・Corporate 両サイトが Workers + Static Assets でカスタムドメイン運用
- アンケート Worker(Hono)が staging / production の 2 環境で稼働
- GWS 両ドメイン(
usecase-lab.com/singularity-oriented.life)でメール受信可能 - GA4 ストリームがタグ埋め込みされ計測開始
シナリオリスト
| シナリオ | 内容 | 実証状況 |
|---|---|---|
| W1 | Quartz-SOL を Workers Staging に移行 | ✅ 完了(sol-site-staging.mnbz.workers.dev) |
| W2 | アンケート Worker(Hono)を Staging デプロイ | ✅ 完了(sol-survey-worker-staging.mnbz.workers.dev) |
| W3 | Corporate サイトを Workers Staging に移行 | ✅ 完了(Bitdefender 誤検知も対処済み) |
| W4 | SOL・Corporate を Production + カスタムドメインに移行 | ✅ 完了(Pages → Workers ドメイン移管含む) |
| W5 | GWS 両ドメイン設定・M365 メール転送設定 | ✅ 完了(TIE forwarding・Defender 許可リスト) |
| W6 | GA4 ストリーム作成・タグ埋め込み | ✅ 完了(SOL / Corporate 両サイト) |
シナリオ記述
W1〜W4: Workers 移行(wrangler.toml 設計)
name = "sol-site"
compatibility_date = "2025-01-01"
compatibility_flags = ["nodejs_compat"]
[assets]
directory = "./public"
html_handling = "auto-trailing-slash"
not_found_handling = "404-page"
[env.staging]
name = "sol-site-staging"deploy:staging:npm run build && wrangler deploy --env stagingdeploy:prod:npm run build && wrangler deploy
Windows ARM64 制約: workerd バイナリが win32 arm64 非対応。WSL2 経由でデプロイ必須。
/mnt/c/ 上の node_modules は Windows バイナリが混入するため、Linux ネイティブパス(~/)に rsync してから npm install すること。
W2: アンケート Worker(Hono + Zod)
| エンドポイント | 機能 |
|---|---|
GET /api/health | ヘルスチェック(env 確認) |
POST /api/survey | アンケート受信 → MailerLite 転送(staging: ドライラン) |
W5: M365 → GWS メール転送(TIE forwarding)
M365 の Exchange コネクタ(Outbound to GWS)を設定し、Defender の送信許可リストに GWS の MX を追加することで、think-it-earth ドメインのメールを GWS へルーティング。
判明した制約・注意点
| 項目 | 内容 |
|---|---|
| Windows ARM64 | wrangler 4.x の workerd が未対応。WSL2 必須 |
| Pages との並存期間 | 移行中は Pages と Workers が同時に存在。DNS 切り替えで完全移行 |
| Bitdefender 誤検知 | wrangler のプロセスが誤検知される場合あり。除外設定で対応 |
| GWS トライアル終了 | 2026/05/19 までに支払い設定が必要 |
| MailerLite Secret | wrangler secret put MAILERLITE_API_KEY で本番登録が必要 |
対応リスク
- R260413-027 — Vault → Quartz 同期失敗によりHPが停止する
- R260413-002 — プロプライエタリAI(クラウドAPI)への過度な依存