
Cloudflare Workersは、Cloudflareのエッジ上でJavaScriptやTypeScriptのコードを実行できるサーバーレス環境です。個人開発では、API、軽いCMS、フォーム送信、予約投稿、リダイレクト、RSS生成、sitemap生成など、小さなバックエンドを作る用途に向いています。
一般的なサーバーとの違い
VPSやレンタルサーバーでは、OS、ミドルウェア、プロセス管理、セキュリティアップデートを意識する場面があります。Workersでは、リクエストが来たときにコードが動く形に近く、インフラ管理の負担を減らせます。個人開発では、まず動くものを作る速度が上がるのが大きな魅力です。
何を作りやすいか
- 問い合わせフォームのPOSTを受けてD1へ保存する
- 公開記事をDBから取得してHTMLを返す
- RSSやsitemapを動的に生成する
- Cronで予約投稿を公開する
- 管理画面用のAPIを提供する
- 古いURLから新しいURLへリダイレクトする
静的サイトだけでは足りない少しの動きを追加できるのがWorkersの強みです。最初から大きなバックエンドを作らなくても、必要な機能だけを足していけます。
気をつけたい制約
Workersは便利ですが、Node.jsのすべての機能がそのまま使えるわけではありません。ファイルシステムへの永続書き込み、大きなバイナリ処理、長時間処理には向きません。また、環境変数、Secrets、D1などのバインディングを正しく設定する必要があります。
HTMLを返すだけならPagesでも十分です。フォーム、DB、予約投稿、認証、RSS生成のようにサーバー側の処理が必要になったらWorkersを使う、という分け方にすると構成を小さく保てます。
開発の流れ
まずローカルでWorkerを起動し、APIやHTMLのレスポンスを確認します。D1を使う場合はローカルマイグレーションを当て、テストデータで画面を確認します。本番デプロイ前には、環境変数とSecretsが入っているか、sitemapやrobotsが本番URLを返すかを見ます。
公開前チェックリスト
Workersで見る項目
- ローカルと本番で必要な環境変数がそろっている
- D1マイグレーションを本番へ適用した
- エラー時にJSONまたはHTMLで適切なレスポンスを返す
- 管理APIに認証がある
- 公開ページのcanonicalが本番URLになっている
- 不要なデバッグ情報を返していない
Workersは、無料枠を活かして小さく試しながら育てる個人開発と相性がよい道具です。何でもWorkersに載せるのではなく、静的サイト、D1、GAS、外部サービスと役割を分けると、無理のない構成になります。