Cloudflare Zero Trust TunnelとAccessによるローカル開発・ステージング環境の安全な自動化

ローカル開発環境やステージングサーバーで外部Webhook(Stripe、GitHub Actions)を受信する際、ngrokなどのツールが一般的ですが、ランダムURL変更やセキュリティリスクが問題となります。
Cloudflare Zero Trust Tunnel (cloudflared) と Cloudflare Access を組み合わせることで、インバウンドポート(Port 80/443)を一切開くことなく、カスタムドメイン(dev.company.com)で保護されたトンネルを無料で構築できます。
要約
- インバウンドポートゼロ:
cloudflaredはアウトバウンド接続のみを使用するため、ファイアウォールポートの開口不要。- 固定カスタムドメイン: 再起動してもURLが変わらず、管理型無料SSL/TLS証明書が自動適用。
- Cloudflare Access統合: Google WorkspaceやGitHub SSOでステージング環境へのアクセスを保護。
- Service TokenによるWebhookバイパス: CI/CDや決済Webhookを
CF-Access-Client-Idヘッダー認証で自動バイパス。
ngrok vs Cloudflare Zero Trust Tunnel
| 比較項目 | ngrok | Cloudflare Zero Trust Tunnel |
|---|---|---|
| ドメイン | ランダムなサブドメイン | 固定カスタムドメイン |
| ファイアウォール | インバウンド受信 | ポート開放不要 (Outbound Only) |
| SSO認証 | Proプランのみ | Google/GitHub SSOが無料 |
| 費用 | 月額 $8〜$20 | Freeプラン ($0 / 最大50名) |
cloudflared コマンド例
# インストールと認証
brew install cloudflared
cloudflared tunnel login
# トンネル作成とDNSバインド
cloudflared tunnel create dev-tunnel
cloudflared tunnel route dns dev-tunnel dev-api.company.com
結論
Cloudflare Zero Trust Tunnel & Access を導入することで、チーム全体に安全かつ快適な開発環境を無料で提供できます。