Cloudflare Workersは、エッジコンピューティングを最も手軽に試せるサーバーレスプラットフォームです。世界300以上のロケーションでJavaScript/TypeScriptを実行でき、コールドスタートがほぼゼロという特徴があります。本記事では、Cloudflare Workersの始め方を解説します。
Cloudflare Workersとは
CloudflareのCDNネットワーク上で動作するサーバーレスランタイムです。V8 Isolateベースで動くため、Lambda等の従来サーバーレスより起動時間が桁違いに短く、低レイテンシなAPI・SSR・エッジ処理に最適です。
主な特徴
- 世界中のエッジで実行(低レイテンシ)
- コールドスタート実質ゼロ
- 無料枠が10万リクエスト/日
- HTTP・KV・R2・D1・Queues等とシームレスに統合
- JS/TS/Rust/WASM対応
始め方
# プロジェクト作成
npm create cloudflare@latest my-worker
# 開発
cd my-worker
npx wrangler dev
# デプロイ
npx wrangler deploy
シンプルなWorker
export default {
async fetch(request, env, ctx) {
const url = new URL(request.url);
if (url.pathname === '/hello') {
return new Response('Hello from the edge!');
}
return new Response('Not Found', { status: 404 });
},
};
主要なバインディング
- KV:エッジで読みが速いKVストア
- R2:S3互換のオブジェクトストレージ(egress無料)
- D1:SQLiteベースのサーバーレスDB
- Durable Objects:強整合性が必要なステートフル処理
- Queues:非同期メッセージ処理
KVを使う例
export default {
async fetch(req, env) {
await env.MY_KV.put('count', '1');
const v = await env.MY_KV.get('count');
return new Response(v);
},
};
# wrangler.toml
[[kv_namespaces]]
binding = "MY_KV"
id = "xxxxxxxx"
フレームワーク連携
- Hono:軽量で型安全。Workersとの相性最高
- Next.js / Astro / Remix:Cloudflare Pages経由でSSR/エッジ実行
- itty-router:超軽量ルータ
制限と注意点
- CPU時間制限(無料10ms / 有料30s)
- Node.js APIは一部互換(fs等はR2/KV経由に置き換え)
- 大きなパッケージは依存数に注意
まとめ
Cloudflare Workersは、低コスト・低レイテンシで世界配信できるエッジコンピューティングの代表格です。Hono等のフレームワークと組み合わせれば、わずか数十行で本番運用可能なAPI/SSRが作れます。新規プロジェクトの第一候補に十分なり得る存在です。