+ 作るログイン
図を読み込んでいます…
1 / 14
Cloudflare のすべて ― 1機能ずつ、仕組みと存在理由から / 全35本

Cloudflare 18:Workers ― 世界中の拠点で動く、あなたの関数

発行
アニメモ公式
版
第1版
改訂
コマ
全14

サーバーを持たずにコードを世界中で動かす Cloudflare Workers を、V8 isolate とコンテナの違い(なぜコールドスタートがほぼ無いのか)から説明します。fetch ハンドラ、バインディングと env・secret、wrangler dev / deploy、workers.dev・ルート・カスタムドメイン、静的アセット、Node.js 互換、料金と CPU 時間の上限、落とし穴まで。

サーバーを借りずに、コードを世界中で動かしたい

小さな API を1つ作りたいとします。「フォームの内容を受け取って保存する」「画像の URL を受け取って、サイズを変えて返す」くらいのものです。

昔ながらのやり方では、まずサーバーを用意します。クラウドで仮想マシンを借り、OS を入れ、Node.js を入れ、コードを置き、プロセスが落ちたら再起動する仕組みを作ります。アクセスが増えたら台数を増やし、減ったら減らします。OS のセキュリティ更新も自分の仕事です。

さらに、サーバーは1か所にあります。東京に置けば、ロンドンやサンパウロの利用者は、毎回地球の反対側まで往復することになります。世界中に置こうとすると、台数も手間も何倍にもなります。

しかも、アクセスが1件も無い夜中でも、サーバーは動き続け、料金も発生し続けます。

でも、本当にやりたいことは「リクエストが来たら、答えを返すコードを書く」ことだけのはずです。サーバーの世話は、やりたいことではありません。

この号で扱う Cloudflare Workers は、この「サーバーの世話」をまるごと消すための仕組みです。

※この号の内容は 2026年9月時点の情報をもとにしています。料金や上限、機能の名前は変わることがあるので、使うときは必ず公式のドキュメントで確かめてください。

  • Cloudflare のすべて 18 ― Workers
  • 1 / 14
  • サーバーを借りずに、コードを世界中で動かしたい
  • 東京の利用者
  • ロンドンの利用者
  • サーバー(1か所)
  • サンパウロの利用者
  • OS の更新・台数の見積もり・落ちたときの対応。遠い国の利用者はいつも遅い
  • アクセスが無い夜中も、サーバー代は払い続ける
  • やりたいのは「リクエストに答えるコード」を書くこと。サーバーの世話ではない。

一言でいうと:エッジの拠点で動く、あなたの関数

Workers を一言でいうと、「Cloudflare の世界中の拠点(エッジ)で動く、あなたの関数」です。

00号で見たとおり、Cloudflare は世界の300を超える都市に拠点を持ち、利用者のリクエストはいちばん近い拠点に届きます。Workers を使うと、その拠点であなたの書いたコードがそのまま動きます。

あなたがコードを1回デプロイすると、Cloudflare はそれを世界中の拠点に配ります。東京の利用者のリクエストは東京の拠点で、ロンドンの利用者のリクエストはロンドンの拠点で処理されます。どこで動かすかを選ぶ必要はありません。

昔のサーバーWorkers
場所を選んで借りる世界中の拠点で勝手に動く
台数を見積もるアクセスに合わせて自動で増減
OS・ランタイムを更新するCloudflare が面倒を見る
動いている間ずっと払う使った分だけ払う(無料枠あり)

このような「サーバーを意識しない」形をサーバーレスと呼びます。図の右の「オリジン」は、あっても無くても構いません。既存のサーバーの前に挟んで使うこともできるし、Worker だけでアプリ全体を作ることもできます。

  • Cloudflare のすべて 18 ― Workers
  • 2 / 14
  • 一言でいうと:エッジの拠点で動く、あなたの関数
  • Cloudflare のエッジ(世界中の拠点)
  • あなたのコード(Worker)
  • 利用者
  • オリジン
  • ブラウザ・アプリ
  • 無くてもよい
  • リクエスト
  • 同じコードが世界中の拠点に配られ、利用者にいちばん近い拠点で動く
  • サーバーの場所・台数・OS を考えない。使った分だけ払う(サーバーレス)
  • リクエストが届いた拠点で、そのままあなたのコードが動く。

なぜ速いのか:コンテナではなく V8 isolate

サーバーレス自体は、他のクラウドにもあります。Workers が違うのは、コードを動かす入れ物です。

多くのサーバーレスは、コードごとにコンテナや小さな仮想マシン(VM) を用意します。その中に OS の一部と、Node.js などのランタイムを入れ、その上であなたのコードを動かします。1つのコードにつき、OS とランタイムが1セットずつ要ります。

Workers は、V8 isolate という入れ物を使います。V8 は Google Chrome の JavaScript エンジンで、Chrome はタブごとに isolate を作って、あるタブのコードが別のタブのメモリを覗けないように分けています。Workers も同じ技術で、1つのプロセスとランタイムを、たくさんの利用者のコードで共有し、コードごとにはメモリの区画だけを分けます。

コンテナ・VMV8 isolate
1つのコードに付くものOS・ランタイム・コードメモリの区画とコード
大きさ数十〜数百 MBずっと小さい
1台に同居できる数少ない非常に多い

1つあたりが小さいので、Cloudflare はすべての拠点に、すべての利用者のコードを置いておけるのです。コンテナの方式で同じことをしようとすると、拠点の機械がいくらあっても足りません。

  • Cloudflare のすべて 18 ― Workers
  • 3 / 14
  • なぜ速いのか:コンテナではなく V8 isolate
  • VM・コンテナ
  • V8 isolate(Workers)
  • コード A
  • コード B
  • コード A
  • コード B
  • コード C
  • ランタイム
  • ランタイム
  • ランタイム
  • コード C
  • コード D
  • OS
  • OS
  • OS
  • 1つのプロセスとランタイムを共有
  • 1つずつ OS とランタイムを抱える
  • 分かれているのはメモリの区画だけ
  • コンテナは、コードごとに OS とランタイムを1セット用意する(重い)
  • Workers は Chrome と同じ V8 の中で、コードごとにメモリだけを分ける(軽い)
  • isolate はブラウザのタブと同じ技術。1つの箱に大勢が同居できる。

だから「コールドスタート」がほとんど無い

サーバーレスでよく問題になるのがコールドスタートです。しばらく呼ばれていなかった関数を呼ぶと、入れ物を起動するところから始まるので、最初の1回だけ極端に遅くなる現象です。

コンテナの方式では、OS とランタイムの起動を待つ必要があり、数百ミリ秒から、重い場合は数秒かかります。これを避けるために、わざと定期的に呼んで「温めておく」工夫をしている人もいます。

isolate の方式では、OS もランタイムも最初から動いています。新しく作るのはメモリの区画だけなので、起動は数ミリ秒で済みます。図で、左の赤い部分(毎回起動が要るもの)と、右の緑の部分(最初から温まっているもの)を比べてください。

Cloudflare は、利用者が接続を始めた段階(TLS のあいさつの途中)で、どの Worker が呼ばれそうかを見て準備を始める工夫もしています。そのため、多くの場合、利用者から見た待ち時間はほぼゼロになります。

その代わり、isolate には制約もあります。

制約理由
1回あたりの CPU 時間に上限がある同居している他の人のコードを邪魔しないため
メモリにも上限がある同じ理由
OS の機能(ファイル・子プロセス)は使えないOS を共有しているので、触らせない

これらは「なぜ Workers でできないことがあるのか」の答えでもあります。

  • Cloudflare のすべて 18 ― Workers
  • 4 / 14
  • だから「コールドスタート」がほとんど無い
  • VM・コンテナ
  • V8 isolate(Workers)
  • コード A
  • コード B
  • コード A
  • コード B
  • コード C
  • ランタイム
  • ランタイム
  • ランタイム
  • コード C
  • コード D
  • OS
  • OS
  • OS
  • 1つのプロセスとランタイムを共有
  • 1つずつ OS とランタイムを抱える
  • 分かれているのはメモリの区画だけ
  • コンテナ
  • OS とランタイムの起動を待つ(数百ミリ秒〜数秒)
  • isolate
  • 区画を作るだけ(数ミリ秒)
  • 重い部分は最初から温まっている。起動するのは小さな区画だけ。

書くのは fetch という関数1つ

Worker のコードは驚くほど小さく始められます。書くのは fetch という関数1つです。

ts
export default {
  async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
    const url = new URL(request.url);
    if (url.pathname === "/hello") {
      return new Response("こんにちは");
    }
    return Response.json({ path: url.pathname }, { status: 404 });
  },
};

引数は3つです。

引数中身
request届いたリクエスト。URL・メソッド・ヘッダー・本文
env設定でつないだもの(KV や R2、秘密の値など)。次のページで説明
ctx返事を返した後も処理を続けたいときに使う(ctx.waitUntil())

返すのは Response です。Request と Response は、ブラウザの fetch API と同じものです。Workers は Node.js 独自の書き方ではなく、Web 標準の API を中心に作られているので、ブラウザの JavaScript を書いたことがあれば、多くがそのまま使えます。

TypeScript もそのまま書けます。雛形を作るとき TypeScript を選べば、Env の型は npx wrangler types で設定ファイルから自動生成できます。JavaScript のほか、Python や、WebAssembly に変換した Rust なども動かせます。

  • Cloudflare のすべて 18 ― Workers
  • 5 / 14
  • 書くのは fetch という関数1つ
  • Request
  • fetch(request, env, ctx)
  • Response
  • export default {
  • async fetch(request, env, ctx) {
  • const url = new URL(request.url);
  • return new Response(`こんにちは ${url.pathname}`);
  • },
  • };
  • リクエストを受け取り、Response を返す。これが Worker の全部。

バインディング:env から他の機能を呼ぶ

Worker 単体では、状態を覚えておくことができません(isolate は毎回まっさらだと思ってください)。データを保存したり、AI を呼んだりするには、Cloudflare の他の機能とつなぎます。このつなぎ方をバインディングと呼びます。

バインディングは、設定ファイルに「この名前で、この KV(や R2 や D1)を使う」と書くだけです。するとコードの env に、その名前でつながった道具が入ってきます。

ts
export default {
  async fetch(request, env) {
    const hit = await env.KV.get("greeting");        // KV(20号)
    const file = await env.BUCKET.get("logo.png");   // R2(22号)
    const { results } = await env.DB.prepare("SELECT * FROM posts").all(); // D1(23号)
    return Response.json({ hit, results, hasLogo: file !== null });
  },
};

普通のサーバーなら、データベースの接続文字列やパスワード、アクセスキーをどこかに置いて、コードから読み込みます。バインディングではそれが要りません。Cloudflare が「この Worker はこの KV を使ってよい」と知っているので、鍵を持ち回る必要がないのです。鍵が漏れる心配も、鍵を定期的に取り替える手間も減ります。

図の上の段が、データを置く・処理を任せる機能です。下の段の右2つ、環境変数(vars) と秘密の値(secret) も、同じ env から読みます。

  • Cloudflare のすべて 18 ― Workers
  • 6 / 14
  • バインディング:env から他の機能を呼ぶ
  • KV
  • R2
  • D1
  • Durable Objects
  • Worker(env)
  • Queues
  • Workers AI
  • 秘密の値
  • 環境変数
  • env.KV.get("key") のように「名前」で呼ぶ。接続文字列やパスワードは要らない
  • KV 20号・DO 21号・R2 22号・D1 23号・Queues 24号・Workers AI 28号
  • つなぐ先は設定に書き、コードは env.名前 で使う。鍵をコードに書かない。

導入:雛形を作り、手元で試し、配る

Workers を始めるのに必要なのは、Cloudflare のアカウントと Node.js だけです。ドメインは要りません。

順番やることコマンド
1雛形を作る。質問に答えると、TypeScript の雛形や設定ファイルができるnpm create cloudflare@latest
2手元で動かす。ファイルを保存するたびに再読み込みされるnpx wrangler dev
3Cloudflare のアカウントにつなぐ(初回だけ)npx wrangler login
4世界中の拠点へ配るnpx wrangler deploy

wrangler は、Workers を作る・試す・配るための公式のコマンドラインの道具です(34号で詳しく扱います)。

wrangler dev は、手元のパソコンで、本番とほぼ同じ実行環境(workerd という、Workers の実行部分をオープンソースにしたもの)を立ち上げます。KV や D1 なども手元の模擬版につながるので、本番のデータを汚さずに試せます。

wrangler deploy を実行すると、数秒で世界中の拠点に行き渡ります。デプロイのたびに版(バージョン) が記録されるので、問題があれば管理画面やコマンドで前の版に戻せます。

コマンドを使わず、管理画面の「Workers & Pages」から雛形を選んで作り、ブラウザの中でコードを書き換えることもできます。また、GitHub などのリポジトリをつなぐと、push のたびに自動でビルドとデプロイが走り、ブランチごとに試し用の URL も作られます(Workers Builds)。

  • Cloudflare のすべて 18 ― Workers
  • 7 / 14
  • 導入:雛形を作り、手元で試し、配る
  • 雛形を作る
  • 手元で試す
  • 配る
  • workers.dev で公開
  • $ npm create cloudflare@latest my-worker
  • $ cd my-worker
  • $ npx wrangler dev # http://localhost:8787 で試す
  • $ npx wrangler login # 初回だけ。ブラウザでアカウントにつなぐ
  • $ npx wrangler deploy # 世界中の拠点へ配る
  • wrangler dev で手元、wrangler deploy で世界中。この2つを覚えれば始められる。

設定は wrangler.jsonc に、秘密は secret に

Worker の設定は、プロジェクトの一番上にある wrangler.jsonc(または wrangler.toml)に書きます。

jsonc
{
  "name": "my-worker",
  "main": "src/index.ts",
  "compatibility_date": "2026-09-01",
  "vars": { "GREETING": "こんにちは" },
  "kv_namespaces": [{ "binding": "KV", "id": "<KV の ID>" }],
  "r2_buckets": [{ "binding": "BUCKET", "bucket_name": "my-bucket" }]
}
項目意味
nameWorker の名前。workers.dev の住所にも使われる
main入口のファイル
compatibility_date実行環境の挙動をどの日付の版に合わせるか
vars公開してよい設定値
kv_namespaces などバインディング

compatibility_date(互換日) は Workers らしい仕組みです。Cloudflare は実行環境を毎週のように更新しますが、挙動が変わる修正は「この日付以降を指定した Worker にだけ」効くようにしています。日付を固定しておけば、ある日突然あなたの Worker の動きが変わることはありません。

パスワードや API キーは、vars に書いてはいけません。設定ファイルは git に入るからです。代わりに次のコマンドで登録します。

$ npx wrangler secret put API_KEY

値は暗号化して保存され、管理画面でも中身は見えません。コードからは env.API_KEY で読めます。手元で試すときは、.dev.vars というファイル(git には入れない)に書いておきます。

  • Cloudflare のすべて 18 ― Workers
  • 8 / 14
  • 設定は wrangler.jsonc に、秘密は secret に
  • // wrangler.jsonc
  • $ npx wrangler secret put API_KEY
  • {
  • 値を入力する(画面に出ない)
  • "name": "my-worker",
  • コードでは env.API_KEY
  • "main": "src/index.ts",
  • "compatibility_date": "2026-09-01",
  • vars は設定に残る=公開してよい値だけ
  • "vars": { "GREETING": "こんにちは" },
  • "kv_namespaces": [{ "binding": "KV", "id": "…" }]
  • secret は暗号化して保存。git に入らない
  • }
  • 互換日で、実行環境の挙動の版を固定する
  • 名前・入口・互換日・つなぐ先を設定に書く。パスワードは設定にも書かない。

公開の住所は3通り:workers.dev・ルート・カスタムドメイン

デプロイした Worker には、どの住所でアクセスできるのでしょうか。3つの方法があります。

方法住所の例向いている場面
workers.devmy-worker.<あなたの名前>.workers.dev試す・社内で使う。設定なしですぐ付く
ルートexample.com/api/*既存のサイトの一部の道だけを Worker に任せる
カスタムドメインapi.example.comWorker をそのサイト(サブドメイン)の主役にする

workers.dev は、アカウントごとに付くサブドメインです。ドメインを持っていなくても、デプロイした瞬間に世界中から使えます。本番では使わないなら、設定で無効にできます。

ルートは、Cloudflare で管理しているドメイン(01号)の「ある道」にだけ Worker を挟む方法です。たとえば example.com/api/* をルートにすると、/api/ で始まるリクエストだけが Worker に届き、それ以外は今までどおりオリジンへ行きます。既存のサイトを少しずつ Workers に移すときに便利です。Worker の中から fetch(request) を呼べば、オリジンへの取り次ぎもできます。

カスタムドメインは、api.example.com のようなホスト名を丸ごと Worker に割り当てる方法です。オリジンが無いことが前提で、DNS の行と SSL 証明書(03号)を Cloudflare が自動で用意してくれます。Worker だけでアプリを作るなら、ふつうはこちらを使います。

  • Cloudflare のすべて 18 ― Workers
  • 9 / 14
  • 公開の住所は3通り:workers.dev・ルート・カスタムドメイン
  • workers.dev
  • ルート
  • カスタムドメイン
  • すぐ使える試し用の住所
  • 既存サイトの一部の道に挟む
  • api.example.com を丸ごと
  • my-worker.xxx.workers.dev
  • 設定なしで付く。ドメインが無くても公開できる
  • example.com/api/*
  • その道だけ Worker、残りは今までのオリジン
  • api.example.com
  • DNS と証明書を Cloudflare が自動で用意する
  • 試すなら workers.dev、本番は自分のドメインにつなぐ。

静的ファイルも Node.js の部品も、同じ Worker で

Web アプリには、コードで作る応答(API)のほかに、HTML・CSS・画像などの静的ファイルがあります。以前は、静的ファイルは Pages(19号)に、API は Workers に、と分けるのが普通でした。今は Workers だけで両方を配れます。これが静的アセットです。

jsonc
{
  "assets": {
    "directory": "./dist",
    "not_found_handling": "single-page-application"
  }
}

directory に置いたファイルは、Worker のコードを通らずにそのまま返されます。ファイルが無い道だけが Worker の fetch に届くので、「画面は静的ファイル、/api/ はコード」という構成が1つの Worker でできます。not_found_handling を single-page-application にすると、React などで作った SPA の画面遷移にも対応できます。

もう1つ、よく必要になるのが Node.js 互換です。Workers は Web 標準の API が基本ですが、npm のパッケージには Node.js の機能(Buffer・crypto・process.env など)を前提にしたものがたくさんあります。設定に次の1行を足すと、それらの多くが使えるようになります。

jsonc
{ "compatibility_flags": ["nodejs_compat"] }

ただし、すべてではありません。前のページで見たとおり、isolate は OS を共有しているので、ローカルのファイルを読み書きする処理や、子プロセスを起動する処理は動きません。使いたいパッケージがあるときは、まず手元の wrangler dev で動くか確かめましょう。

  • Cloudflare のすべて 18 ― Workers
  • 10 / 14
  • 静的ファイルも Node.js の部品も、同じ Worker で
  • 静的アセット(HTML・CSS・画像)
  • Node.js 互換
  • "assets": {
  • "compatibility_flags": ["nodejs_compat"]
  • "directory": "./dist",
  • "not_found_handling":
  • Buffer・crypto・process.env などが使える
  • "single-page-application"
  • ただし全部ではない
  • }
  • fs や子プロセスを前提にした
  • ファイルはコードを通らずに返る
  • npm パッケージは動かないことがある
  • 画面も API も1つの Worker で配れる
  • 静的アセットで画面ごと配れる。nodejs_compat で Node の API も使える。

料金と制限:数えるのは「回数」と「CPU 時間」

Workers の料金は、リクエストの回数と CPU 時間で決まります。2026年9月時点の主な数字は次のとおりです。料金・上限は変わるので、必ず公式の Pricing と Limits のページで確かめてください。

項目FreePaid(Workers Paid)
月額無料月5ドルから
リクエスト1日10万回まで月1,000万回込み、超えた分は従量
1回あたりの CPU 時間10ミリ秒既定30秒、設定で最大5分まで
静的アセットへのリクエスト無料・回数の制限なし無料・回数の制限なし

大事なのは、CPU 時間は「実際に計算していた時間」だけを数えることです。外部の API やデータベースの返事を待っている時間は含まれません。1回の処理に3秒かかっても、そのほとんどが待ち時間なら、CPU 時間は数ミリ秒で済みます。一般的なサーバーレスの「動いていた時間」で課金する方式とは、ここが違います。

Free の10ミリ秒は短く見えますが、JSON を組み立てて返す、KV から値を読んで返す、といった普通の API なら十分に収まることが多いです。画像の変換や大きなデータの圧縮のような重い計算は、上限にぶつかりやすいので注意します。

ほかにも、メモリの上限、1回のリクエストから外へ出せるリクエストの数(サブリクエスト)、Worker のコードの大きさなどに上限があります。無料枠を超えたとき、Free では超えた分のリクエストがエラーになり、Paid では従量で課金されます。

  • Cloudflare のすべて 18 ― Workers
  • 11 / 14
  • 料金と制限:数えるのは「回数」と「CPU 時間」
  • 項目
  • Free
  • Paid(Workers Paid)
  • リクエスト
  • 1日 10万回まで
  • 月1,000万回込み、超過は従量
  • CPU 時間(1回)
  • 10ミリ秒
  • 既定30秒、最大5分まで延ばせる
  • 静的アセット
  • 無料・回数の制限なし
  • 無料・回数の制限なし
  • 料金の形
  • 無料
  • 月5ドルから(使った分を足す)
  • 2026年9月時点。上限・料金は変わるので、公式の Pricing と Limits のページで確かめること
  • 待ち時間は数えない。外部 API の返事を待つ間はお金がかからない。

よくある落とし穴

Workers を使い始めた人がよくつまずく点をまとめます。

落とし穴なぜ起きるかどうするか
グローバル変数に状態を溜める次のリクエストを同じ isolate が受けるとは限らない。拠点も毎回違う保存は KV(20号)・Durable Objects(21号)・D1(23号)へ
重い処理で打ち切られる1回あたりの CPU 時間に上限がある重い処理は Queues(24号)や Workflows(25号)に分ける
npm パッケージが動かないfs や子プロセスなど、OS の機能は使えないnodejs_compat を付け、wrangler dev で確かめる
秘密を vars に書く設定ファイルごと git に残るwrangler secret put を使う
返事の後の処理が消える返事を返すと isolate は止まってよい扱いになるログ送信などは ctx.waitUntil() に渡す

特に1つ目は、普通のサーバーの感覚で書くと必ずはまります。「カウンターをグローバル変数で数える」コードは、手元の wrangler dev では動いているように見えても、本番では世界中の別々の isolate がそれぞれ数えるので、でたらめな値になります。

Worker は「毎回まっさらで、どこで動くか分からない」と思って書くのが安全です。状態を1か所で正しく数えたいときの答えが、21号の Durable Objects です。

  • Cloudflare のすべて 18 ― Workers
  • 12 / 14
  • よくある落とし穴
  • グローバル変数に状態を溜める:どの isolate が答えるかは毎回違う
  • CPU を使い切る重い処理:無料は1回10ミリ秒で打ち切られる
  • Node 前提の npm パッケージ:fs や子プロセスは使えない
  • 秘密を vars に書く:設定ファイルごと git に残る
  • 状態は KV・DO・D1 へ、重い処理は Queues や Workflows へ
  • Worker は「毎回まっさら」で「どこで動くか選べない」と思って書く。

他の号とのつながり:Workers は開発者向け機能の中心

このマガジンの18号から31号までは、ほとんどが「Worker から使うもの」です。Workers は、Cloudflare の開発者向け機能の中心にあります。

号機能Workers との関係
19Pages静的サイトの置き場。新しく作るなら Workers の静的アセットがすすめられている
20KV読み込みの多い設定やキャッシュを世界中に置く
21Durable Objects状態を1か所で正しく持つ。チャットやカウンター
22R2画像や動画などのファイルを置く
23D1SQL のデータベース
24Queues重い処理を後回しにする
25Workflows と Cron Triggers長い手順・定期実行
26Hyperdrive既存のデータベースに速くつなぐ
27Containersisolate では動かないものをコンテナで動かす
28Workers AIAI のモデルを呼ぶ

どれも、前に見たバインディングでつながり、env.名前 で呼び出します。つまり、この号の fetch 関数とバインディングの考え方が分かれば、残りの号は「新しい道具が1つ増える」だけです。

設定ファイルやデプロイをチームで管理する方法は、34号(Wrangler と Terraform)で扱います。

  • Cloudflare のすべて 18 ― Workers
  • 13 / 14
  • 他の号とのつながり:Workers は開発者向け機能の中心
  • 19 Pages
  • 20 KV
  • 21 Durable Objects
  • 22 R2
  • Workers(18)
  • 23 D1
  • 24 Queues
  • 27 Containers
  • 28 Workers AI
  • 定期実行と長い処理は 25号、設定の管理は 34号(Wrangler と Terraform)
  • データも AI もキューも、すべて Worker から env で呼ぶ。

まとめ:Workers は「世界中で動く fetch 関数」

この号で見たことをまとめます。

項目内容
なぜあるかサーバーの世話をせず、利用者の近くでコードを動かすため
仕組みV8 isolate。1つのランタイムを共有し、コードごとにメモリだけを分ける
速さ入れ物が軽いのでコールドスタートがほぼ無い
書くものfetch(request, env, ctx) から Response を返す
つなぐバインディング(env.名前)。秘密は wrangler secret put
配るwrangler dev で試し、wrangler deploy で世界中へ
公開先workers.dev・ルート・カスタムドメイン
静的ファイル静的アセットで同じ Worker から配れる
料金回数と CPU 時間で数える。無料枠あり
注意状態を持たない、CPU 時間に上限、OS の機能は使えない

Workers の制約のほとんどは、「軽い isolate で、世界中どこでも動く」という長所の裏返しです。次の19号では、静的サイトを置くための Pages と、Workers との今の関係を見ていきます。

  • Cloudflare のすべて 18 ― Workers
  • 14 / 14
  • まとめ:Workers は「世界中で動く fetch 関数」
  • 仕組み
  • V8 isolate。コールドスタートがほぼ無い
  • Workers
  • 書くもの
  • fetch(request, env, ctx) → Response
  • つなぐ
  • バインディング(env.名前)と secret
  • 配る
  • wrangler dev → wrangler deploy
  • 公開先
  • workers.dev・ルート・カスタムドメイン
  • 注意
  • 状態を持たない・CPU 時間に上限
  • isolate だから速く、エッジだから近く、env で何にでもつながる。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]