Supabase Edge Functions は『Supabase エコシステム内のサーバーレス』
Supabase Edge Functions は Deno ベースのサーバーレス実行環境で、Supabase 全体と統合された API を提供します。本記事では編集部の視点で、本番運用を公開情報をもとに整理します。Supabase 実践 もご参考に。
主な特徴
(1) Deno ランタイム:TypeScript ネイティブ。(2) Edge 展開:世界中のリージョン。(3) Supabase Auth 統合:JWT 自動検証。(4) DB アクセス簡単:service role key。(5) npm/Deno 両方使える。
典型的なユースケース
(1) Webhook 受信:Stripe 等。(2) 定期ジョブ:pg_cron 連携。(3) API 集約:複数 SaaS。(4) カスタム認証。(5) OpenAI/Anthropic 呼出のプロキシ。Webhook 設計 もご参考に。
開発フロー
(1) supabase functions new。(2) ローカルテスト:supabase functions serve。(3) 環境変数:secrets。(4) deploy:supabase functions deploy。(5) logs:リアルタイム監視。
パフォーマンス特性
(1) Cold start:100〜300ms(公開情報をもとに)。(2) Warm 実行:1〜10ms。(3) CPU 上限:プラン別。(4) 実行時間上限:60秒〜。(5) 同時実行制限。CDN/Edge 実践 も合わせて。
セキュリティ
(1) JWT 検証:自動。(2) service_role_key の取扱:絶対公開しない。(3) RLS 連動:DB アクセスで自動適用。(4) CORS 設定:必要に応じて。(5) レート制限:必要なら手動実装。OAuth/OIDC もご参考に。
運用Tips
(1) 環境変数の階層管理。(2) エラーモニタリング:Sentry 連携。(3) 共通ライブラリ:_shared/ で。(4) テスト:Deno test。(5) バージョン管理:tag 付与。Sentry 深掘り もご参考に。
失敗しがちなパターン
(1) service_role_key のクライアント側流出。(2) 長時間処理:60秒超でタイムアウト。(3) Webhook の重複実行。(4) Node 固有API使用:Deno で動かない。(5) npm パッケージの大規模 import:cold start 増。対策は、(1)サーバー側のみ、(2)分割実行、(3)冪等性、(4)Deno API、(5)動的 import、です。