・約2分で読めます

Cloudflare Workers 入門2026 — 無料でサーバーレスAPIを作る方法


PRXサーバー国内シェアNo.1のレンタルサーバー。高速・安定・サポート充実で初心者にもおすすめ。
Xサーバー 公式サイト →

Cloudflare Workersは、世界中のCloudflareのエッジサーバーでJavaScript/TypeScriptを実行できるサーバーレスプラットフォームです。無料枠が充実しており、個人開発やサイドプロジェクトでの利用に最適です。

Cloudflare Workersの特徴

項目 内容
実行環境 V8 Isolates(Node.jsではない)
無料枠 1日10万リクエスト、CPU時間10ms/リクエスト
レイテンシ 世界中のエッジで実行(低遅延)
対応言語 JavaScript/TypeScript(Rust/Python等も一部対応)
料金 無料〜$5/月(Paid plan: 1000万リクエスト/月)

Cloudflare Pages vs Cloudflare Workers

混同されやすい2つのサービスの違い:

項目 Cloudflare Pages Cloudflare Workers
用途 静的サイトのホスティング サーバーレスAPI・ミドルウェア
実行 ビルド済みHTMLをCDN配信 リクエストごとにコード実行
主な利用 Astro/Next.js等の静的サイト API・Webhook・Bot

Pages Functionsを使うと、PagesプロジェクトにWorkersの機能を組み込むことも可能です。

セットアップ

前提

  • Node.js v18以上
  • Cloudflareアカウント(無料)
  • wrangler CLIのインストール
npm install -g wrangler
wrangler login

プロジェクト作成

npm create cloudflare@latest my-worker
cd my-worker

テンプレートから「Hello World Worker」を選択するとすぐに動かせる状態になります。

最初のWorkerを書く

src/index.ts:

export default {
  async fetch(request: Request): Promise<Response> {
    const url = new URL(request.url);

    if (url.pathname === '/api/hello') {
      return Response.json({ message: 'Hello from Cloudflare Workers!' });
    }

    return new Response('Not Found', { status: 404 });
  },
};

ローカル開発

npm run dev
# → http://localhost:8787 でアクセス可能

デプロイ

npm run deploy
# → https://my-worker.your-subdomain.workers.dev に公開

Hono.jsとの組み合わせ(推奨)

Cloudflare Workers向けのWebフレームワーク「Hono」を使うと、ルーティングやミドルウェアが簡単に書けます。

npm create hono@latest my-hono-app
# → Cloudflare Workers を選択
import { Hono } from 'hono';

const app = new Hono();

app.get('/', (c) => c.text('Hello Hono!'));

app.get('/api/user/:id', (c) => {
  const id = c.req.param('id');
  return c.json({ userId: id });
});

app.post('/api/data', async (c) => {
  const body = await c.req.json();
  return c.json({ received: body });
});

export default app;

HonoはWorkers以外にNode.js・Deno・Bunでも動作するため、コードの再利用性が高いです。

KV(Key-Value ストレージ)の利用

WorkersにはCloudflare KVというKey-Valueストレージが使えます。

// wrangler.toml
[[kv_namespaces]];
binding = 'MY_KV';
id = 'xxxxxx';
export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    // 保存
    await env.MY_KV.put('key', 'value');

    // 取得
    const value = await env.MY_KV.get('key');
    return new Response(value ?? 'not found');
  },
};

KVの無料枠:読み取り10万回/日、書き込み1,000回/日。

D1(SQLiteデータベース)

WorkersからSQLiteベースのD1データベースも利用可能(2024年以降GAに移行)。

wrangler d1 create my-database
const result = await env.DB.prepare('SELECT * FROM users WHERE id = ?').bind(userId).first();

無料枠:5GBストレージ、500万行読み取り/月。

ユースケース例

用途 実装方法
APIプロキシ Workers でバックエンドAPIを中継
Webhookハンドラ LINEBot・SlackBot・GitHubWebhook
認証ミドルウェア JWT検証・IP制限
URLリダイレクト パスに応じてリダイレクト
エッジキャッシュ 高負荷APIのレスポンスをキャッシュ

まとめ

  • 無料枠で1日10万リクエストまで対応
  • TypeScriptで書いて wrangler deploy だけで世界中にデプロイ
  • Hono.jsとの組み合わせでExpressライクなAPI開発が可能
  • KV・D1でデータ永続化も無料枠内で実現できる

個人開発やBot・Webhookハンドラの用途なら、Cloudflare Workersは無料で始められる最良の選択肢のひとつです。

関連記事