Workersの基本紹介
560字程度約2分
2026-01-08
簡単に言うと、Cloudflare Workers はサーバーレス(Serverless)実行環境です。Cloudflare のグローバルなエッジネットワーク(世界 300 以上の都市にあるデータセンター)上で、JavaScript、Rust、C、C++ のコードを実行できます。
従来のサーバーを「遠い大都市にある中央倉庫」に例えるなら、Workers は「家の近所のコンビニ」のような存在で、ユーザーに最も近い場所で直接リクエストを処理できます。
Workers の中核的な役割
1. エッジコンピューティング(ユーザーに最も近い場所でロジックを処理)
従来のサーバーが北米にある場合、中国のユーザーがアクセスすると海を越える必要があり、遅延が大きくなります。Workers のコードは、ユーザーから数ミリ秒の距離にあるエッジノードで動作します。
- 用途: ユーザーの地理的位置に応じて言語を切り替える、トラフィックをリダイレクトする、またはデバイス種別に応じて画像を最適化する。
2. HTTP リクエストの強化と変更
Workers は、ユーザーのブラウザとオリジンサーバーの間に置かれる「スマートフィルター」のようなものです。
- 用途: セキュリティ:悪意あるリクエストをフィルタリングし、カスタムのファイアウォールルールを追加する。
- ヘッダー変更: Web ページにセキュリティヘッダー(例:HSTS、CSP)を自動追加したり、機密情報を削除したりする。
- 認証: リクエストがメインサーバーに到達する前に、ユーザーのトークンが有効かどうかを確認する。
3. 完全な API とマイクロサービスの構築
Workers は D1(データベース)、KV(キーバリューストア)、Durable Objects(ステート保存)と組み合わせられるため、従来のサーバーを必要としないアプリを開発できます。
- 用途: シンプルな短縮 URL 生成器、コメントシステム、またはリアルタイムチャットのバックエンドを作る。
4. Web サイトの性能最適化
- 用途: ソースコードを変更せずに、ページへ動的にスクリプトやコンテンツを注入する。
- カスタムキャッシュ戦略: 標準的な CDN キャッシュより柔軟で、複雑なロジックに基づいて何をキャッシュし、何をキャッシュしないかを決定できる。
主にどんなことに使えるか
- 低遅延のリクエスト処理:エッジノードで HTTP リクエストを受けてレスポンスを返し、地域をまたぐ往復遅延を減らす。
- リバースプロキシとゲートウェイ:ルールに従ってリクエスト/レスポンス(URL、Header、Cookie、Body)を転送・書き換え、カナリア、A/B、動的ルーティングを行う。
- セキュリティとリスク管理:オリジン到達前に認可、署名検証、レート制限、ブロック、Bot 判定連携などを行う。
- キャッシュと高速化:エッジキャッシュ戦略(Cache API)を精密に制御し、カスタムキャッシュキー、キャッシュ貫通対策、条件付きキャッシュを行う。
- 認証とセッション:JWT/OAuth のコールバック処理、SSO の入口、セッション検証を実装し、認証をエッジへ移してオリジン負荷を下げる。
- 軽量バックエンド API:簡単な API サービスを提供する、または複数バックエンドを 1 つのインターフェース(BFF)に集約する。
- 静的サイト強化:Cloudflare Pages/静的リソースと組み合わせ、エッジで動的レンダリング片、リライト、国際化、パーソナライズを行う。
- Cloudflare のストレージ/キュー連携:KV(キー値)、D1(データベース)、R2(オブジェクトストレージ)、Durable Objects(ステートフルオブジェクト)、Queues などを用い、永続化と非同期タスクを行う。
料金プラン
| サービス項目 | 無料プラン (Free) | 有料プラン (Paid - 月 $5〜) | 追加従量課金 (上限超過後) |
|---|---|---|---|
| 基本リクエスト数 | 10 万回 / 日 | 1,000 万回 / 月 | $0.30 / 100 万回のリクエスト |
| CPU 時間 | 10 ms / リクエスト | 3,000 万ミリ秒 / 月 | $0.02 / 100 万ミリ秒 |
| Workers ログ | 利用不可 / 非常に制限あり | 2,000 万イベント(7 日保持) | プランに含まれる |
| D1 データベース | 5GB 保存 / 500万読 / 10万書 | 5GB 保存 / 250億読 / 5000万書 | 読み: $0.001/100万回;書き: $1.00/100万回 |
| KV ストレージ | 1GB 保存 / 10万読 / 1000回書 | 1GB 保存 / 1000万読 / 10万回書 | 読み: $0.50/100万回;書き: $5.00/100万回 |
| Durable Objects | 利用不可 | 100万リクエスト / 40GB-s 実行時間 | リクエスト: $0.15/100万回;保存: $0.20/GB |
| Queues(キュー) | 利用不可 | 標準操作 100 万回 | $0.40 / 100 万回の操作 |
| AI Gateway ログ | 制限あり | 200,000 件のログ保存 | - |
| Logpush | 利用不可 | 1,000 万 Trace Events | $0.05 / 100 万件のログ |
変更履歴
2026/01/09 12:40
全ての変更履歴を表示
f8f53-add database section日
