【第5回 | Cloudflare入門】Cloudflare Workersとは?何ができるのか解説

目次
これまでの記事では、CloudflareのDNSやCDN、セキュリティ機能について紹介してきました。
CloudflareにはWebサイトを高速化したり、安全にしたりする機能だけでなく、Cloudflare上でプログラムを実行できる「Cloudflare Workers」というサービスがあります。
今回は、Cloudflare Workersとは何なのか、どのような仕組みで、何ができるのかを初心者向けに解説します。
Cloudflare Workersとは?
Cloudflare Workersは、ひとことで言うと、Cloudflareのネットワーク上でプログラムを実行できるサービスです。
通常、Webアプリケーションでプログラムを動かす場合は、AWSなどのクラウドサービスやレンタルサーバーにWebサーバーを用意して、そこでプログラムを実行します。
一方、Cloudflare Workersでは、自分でWebサーバーを用意しなくてもCloudflare上でプログラムを実行できます。

このように、自分でサーバーを管理する必要がない仕組みは「サーバーレス」と呼ばれます。
Cloudflare Workersはどこで動く?
Cloudflare Workersの大きな特徴のひとつが、Cloudflareのグローバルネットワークを利用してプログラムを実行できることです。
Cloudflareは世界各地にネットワークを持っています。
そのため、ユーザーからリクエストが送られると、Cloudflareのネットワーク上で処理できます。

日本のユーザー
↓
近くのCloudflareネットワーク
↓
Workersで処理
↓
ユーザーへレスポンス
このような流れです。
従来のように、遠くにある特定のサーバーまですべてのリクエストを送るのではなく、Cloudflareのネットワークを活用して処理できるのが特徴です。
Cloudflare Workersで何ができる?
Cloudflare Workersを使うと、さまざまなWebアプリケーションやAPIを開発できます。
代表的な用途を見てみましょう。
① APIを作る
Workersを使って、Web APIを作ることができます。
例えば、/api/usersにアクセスすると、
{
"name": "Taro",
"age": 30
}のようなデータを返すAPIを作れます。
外部APIからデータを取得して加工して返す、といった処理も可能です。
② Webサイトへのアクセスを制御する
ユーザーからWebサイトへのリクエストをWorkersで処理して、アクセス方法を変更できます。

ユーザーが古いURLへアクセス
↓
Workersで判定
↓
新しいURLへリダイレクト
このような処理ができます。
URLの書き換えや、特定の条件に応じたレスポンスの変更などにも利用できます。
③ Webアプリケーションのバックエンドを作る
Workersは、単純な処理だけでなくWebアプリケーションのバックエンドとして利用することもできます。

フロントエンド
↓
Cloudflare Workers
↓
データベース
↓
結果を返す
このような構成です。
Cloudflareには「D1」というデータベースや、「R2」というオブジェクトストレージもあります。
これらをWorkersと組み合わせることで、Cloudflare上でWebアプリケーションを構築できます。
D1やR2については、次回の記事で詳しく紹介します。
Cloudflareのサービスと組み合わせやすい
Workersは、Cloudflareが提供する他のサービスと組み合わせて利用できます。
例えば、下記のようなサービスと組み合わせすることができます。
Workers + D1
→ データベースを使ったWebアプリ
Workers + R2
→ 画像やファイルを扱うサービス
Workers + Workers AI
→ AIを利用したWebアプリ
といった構成が可能です。
Workersを中心に、さまざまなCloudflareサービスを組み合わせられるのが特徴です。
CDNとWorkersは何が違う?
これまでの記事で紹介したCDNとWorkersの違いが分かりにくいかもしれません。
CDN
→ コンテンツを効率的に配信する仕組み
Workers
→ プログラムを実行する仕組み
例えば、画像やCSSなどをキャッシュしてユーザーへ高速に配信するのはCDNの役割です。
一方、「アクセスしてきたユーザーによって処理を変える」「APIからデータを取得する」「データベースから情報を取得する」といった動的な処理を実行するのがWorkersです。
両方を組み合わせることで、高速なコンテンツ配信と柔軟なアプリケーション処理を実現できます。
まとめ
Cloudflare Workersは、Cloudflareのネットワーク上でプログラムを実行できるサーバーレスサービスです。
Workersを使うことで、
APIを作る
↓
アクセスや認証を制御する
↓
データベースと連携する
↓
Webアプリケーションを作る
といったことができます。
さらに、CloudflareのD1やR2、Workers AIなどと組み合わせることで、Cloudflare上でさまざまなアプリケーションを開発できます。
Cloudflareは「Webサイトを高速化・保護するサービス」というイメージが強いですが、Workersを利用することで、アプリケーションを開発・実行するためのプラットフォームとしても活用できます。
次回は、CloudflareでWebサイトを公開できる「Pages」、データベースの「D1」、ストレージの「R2」について解説します。
※ 本記事の内容は、執筆時点での情報に基づいています。最新の情報と異なる場合がございますので、あらかじめご了承ください。 また、記載されている内容は一般的な情報提供を目的としており、特定の状況に対する専門的なアドバイスではありません。 ご利用にあたっては、必要に応じて専門家にご相談ください。