コンテンツにスキップ

Cloudflareプラットフォーム制限 & コスト

AuthrimはCloudflare Workers上で完全に動作します。このページでは、Authrimの運用に影響するプラットフォーム制限と、各種利用規模でのコスト試算を文書化しています。

主要な制限の概要

50 / 1,000

外部fetchサブリクエスト上限

Freeプラン: 50回/呼出。Paidプラン: 1,000回/呼出。

1,000

内部サービス呼出上限

KV、DO、D1の呼出回数 — 全プラン共通。

10–30

典型的な内部呼出数

Authrimの1リクエストあたりの典型的な内部サブリクエスト数。

$5/月

Workers Paid Plan基本料金

Workers Paid Planの最低月額費用。

サブリクエスト制限

Cloudflare Workersには2種類のサブリクエスト制限があります:

カテゴリFreeプランPaidプラン対象オペレーション
外部fetch50回/呼出1,000回/呼出外部オリジンへのfetch()
内部サービス1,000回/呼出1,000回/呼出KV、DO、D1、R2、Queues等

重要な区別: 外部fetch制限は外部オリジンへのHTTPリクエストにのみ適用されます。内部サービスバインディング(KV読み書き、DOリクエスト、D1クエリ)には、全プランで同一の1,000回制限が別途適用されます。

flowchart LR
    W["Worker 呼出"]
    subgraph external["外部Fetch (50/1,000)"]
        EF1["IdP トークンエンドポイント"]
        EF2["IdP UserInfo"]
        EF3["JWKS 取得"]
    end
    subgraph internal["内部サービス (1,000)"]
        KV["KV Storage"]
        DO["Durable Objects"]
        D1["D1 Database"]
    end
    W -->|"fetch()"| external
    W -->|"binding"| internal

Authrimは通常1リクエストあたり10〜30回の内部サービス呼出を行い、1,000回制限の範囲内に十分収まります。外部fetchはIdPフェデレーションフロー(コールバック、外部プロバイダとのトークン交換)でのみ必要です。

フロー別サブリクエスト分析

認可エンドポイント — OAuthフローを開始します。

リソース回数説明
外部HTTP0–2JWKS取得(キャッシュミス時)、IdPリダイレクト
KV3–5セッション検索、クライアント設定、OIDCメタデータ
DO1–2セッション検証、認可コード作成
D12–4ユーザー検索、同意確認
合計6–13

リスクエリア

料金リファレンス

Cloudflare Workers Paid Plan($5/月 基本料金)の料金:

サービス無料枠超過料金
Workers リクエスト10M/月$0.30/百万
KV reads10M/月$0.50/百万
KV writes1M/月$5.00/百万
D1 rows read25B/月$0.001/百万
D1 rows written50M/月$1.00/百万
DO リクエスト1M/月$0.15/百万
DO duration400K GB-s/月$12.50/百万GB-s

コストモデル

利用パターン

指標Light(社内ツール等)Standard(一般的なWebアプリ)Heavy(SPA/モバイル)
ログイン/MAU/月4815
サイレント認証/ログイン51020
リフレッシュ/ログイン236
API呼出/ログイン2510
リクエスト/MAU/月36152555

コスト試算

LightStandardHeavy
総リクエスト360K1.52M5.55M
Workers$5.00$5.00$5.00
KV$0.00$0.00$0.00
DO$0.00$0.08$0.68
D1$0.00$0.00$0.00
月額~$5~$5~$6

このスケールでは全利用が無料枠内に収まります。Workers基本料金のみが適用されます。

インタラクティブ試算ツール

10,000
$5.00 /月
ユーザーあたり $0.0005
総リクエスト数/月 1.5M

Workers $5.00
KV 合計 $0.00
KV Reads $0.00
KV Writes $0.00
Durable Objects $0.00
D1 Database $0.00

最適化のヒント

  1. Paid Plan推奨 — Freeプランの外部fetch 50制限はOAuthコールバックフローで不足するリスクがあります。Paid Plan($5/月)で1,000に引き上げられます。
  2. KV writeの最小化 — KV writeコスト($5/百万)はread($0.50/百万)の10倍です。積極的にキャッシュし、可能な場合はバッチ更新してください。
  3. IATトークン数の管理 — ユーザーあたりのアクティブトークン数を制限し、無制限の KV.list() + KV.get() チェーンを防止してください。
  4. JWKSキャッシュの活用 — AuthrimはDurable ObjectsにJWKSキーをキャッシュし、繰り返しの外部fetchを回避しています。キャッシュTTLが適切に設定されていることを確認してください。
  5. DOリクエスト量の監視 — Durable Objectリクエストは認証トラフィックに比例してスケールします。シャーディングで負荷を分散し、シャード利用率を監視してください。