Cloudflare Workers 実践ガイド
〜 エッジで実現するWebアプリケーションの設計・実装・運用 〜
- 上島愛史,田又利土 著
- 定価
- 3,300円(本体3,000円+税10%)
- 発売日
- 2026.5.26
- 判型
- B5変形
- 頁数
- 448ページ
- ISBN
- 978-4-297-15678-7 978-4-297-15679-4
サポート情報
概要
Webアプリケーションの高速化やスケーラビリティの向上が求められる中、エッジコンピューティングへの関心は高まっています。しかし、概念は理解しても「自分のプロジェクトでどう使えばいいのか」「本番運用に耐える設計はどう組めばいいのか」といった実践面で踏み出せないケースが少なくありません。本書は、Cloudflare Workersとそのエコシステムを軸に、エッジコンピューティングの基礎概念から設計・実装・本番運用までを一冊で体系的に解説した実践書です。本書の主な特徴は、以下の3点にあります。
特徴の1つ目が、「エッジコンピューティングの概念整理からCloudflare Workersの仕組み・制約までを丁寧に解説している」点です。クラウドやサーバーレスとの違い、V8 Isolateによるゼロコールドスタートの仕組み、CPU・メモリ・実行時間の制約といった、エッジで開発する上で押さえるべき前提知識を体系的に整理しています。「エッジで何ができて、何ができないのか」という判断軸を持つことで、技術選定の確度が高まります。
特徴の2つ目が、「バックエンドからフロントエンドまで、豊富なハンズオンで実装力が身につく」点です。REST API・GraphQL APIの構築、D1・KV・R2・Durable Objectsといったストレージの使い分け、認証・ロードバランシングの実装、画像最適化やキャッシュ戦略、Next.js(OpenNext)によるフルスタック開発、WebSocketを使ったリアルタイム通信まで、実際にコードを書きながら学べます。Workers AIを活用した画像生成やベクトル検索といった先端的なテーマも扱っています。
特徴の3つ目が、「本番運用で直面する課題への対処法を網羅している」点です。Logs・Logpush・Tracesによるオブザーバビリティの構築、Smart Placementによるレイテンシ最適化、ストレージごとの特性を踏まえたデータ配置戦略、段階的デプロイとロールバック、Cloudflare Accessによるゼロトラスト認証まで、プロダクション品質のサービスを支える運用ノウハウを解説しています。
これらを通じて、エッジコンピューティングを「知っている」状態から「設計・実装・運用できる」状態へと引き上げることを目指しています。Webアプリケーションのパフォーマンスとユーザー体験を次のレベルに進めたいエンジニアにとって、確かな指針となる一冊です。
こんな方にオススメ
- Webアプリケーションの表示速度やAPI応答時間に課題を抱えており、エッジコンピューティングによる改善を実現したいエンジニアの方々
- Cloudflare Workersとそのエコシステム(D1、KV、R2、Durable Objectsなど)を本番サービスに導入するにあたり、設計指針や運用ノウハウを体系的に押さえたい方々
- 既存のクラウド環境を活かしながら、エッジレイヤーを加えてパフォーマンス・コスト・セキュリティを改善したいと考える方々
目次
第1章 エッジコンピューティングの基本
1.1 エッジとはなにか
- エッジコンピューティングの重要性
- エッジコンピューティングの役割
1.2 エッジコンピューティングの歴史
- インターネットの発展と初期のWebサービス
- クラウドコンピューティングの普及と限界
- エッジコンピューティングの登場
1.3 Webアプリケーションの技術変遷
- インターネット初期
- 動的コンテンツの提供
- シングルページアプリケーションの普及
1.4 クラウド・サーバーレスとの違い
- クラウドコンピューティングとの比較
- サーバーレスコンピューティングとの比較
- クラウドコンピューティングとの関係
第2章 エッジコンピューティングの特徴と制約
2.1 Webアプリケーション構築要素
- ストレージ
- ネットワーク
- データベース
- ログとモニタリング
- 負荷分散
- スケーラビリティ
- キャッシュ
- セキュリティ
- バックアップとリカバリ
2.2 インフラ構築の簡素化
- サーバーの構築が不要
- ネットワークの設定が不要
- プログラムの実行環境の整備が不要
2.3 高速起動が可能なサーバーレス環境
- クラウドコンピューティングにおけるサーバーレス
- サーバーレスにおけるコールドスタートの課題
- コールドスタート問題の解決
2.4 多機能性と幅広い活用シーン
- オリジンサーバーから配信されるコンテンツのキャッシュ
- リクエストのルーティング
- コンテンツの動的書き換え
- セキュリティの強化
- 動的コンテンツの生成
2.5 性能とセキュリティ向上
- エッジコンピューティングとCDNの関係性
- クラウドとエッジコンピューティングのCDNの比較
- CDN機能を使用するメリット
- セキュリティ対策としてのWAF機能
2.6 WASMが広げる言語の選択肢
- WASM
- エッジコンピューティングにおけるWASMの活用
- WASMを使用する際の注意点
2.7 エッジコンピューティングの制限
- ハードウェアの制限
- ソフトウェアの制限
2.8 管理コストと複雑性
- 単一障害点のリスク
- 管理の複雑さの増加
- コストの増加
- アプリケーションの複雑性の増加
第3章 Cloudflare Workersの特徴と制約
3.1 Cloudflare Workers
- 基本概念
- 制限と制約
- Cloudflare Workersのセットアップ
- Cloudflare Workersのデプロイ
- Bindings
- オブザーバビリティ
- エッジロケーションに展開することのデメリットと対策
3.2 使用できるストレージサービス
- Cloudflare Workers KV
- Cloudflare Durable Objects
- Cloudflare D1
- Cloudflare R2
- 外部データベースの利用
3.3 その他の関連サービス
- Cloudflare Images
- Workers Assets
- Workers AI
- Cloudflare Zero Trust
第4章 Cloudflare Workersの活用例
4.1 オリジンの切り替え
- エッジコンピューティングでオリジンを切り替えるメリット
- パスベースでオリジンを切り替える実装例
4.2 ヘッダーの操作
- ヘッダーの操作で可能なこと
- エッジでヘッダーを操作するメリット
- 許可オリジンのリクエストをブロックしCORS対応を行う例
4.3 キャッシュの制御
- HTTPキャッシュの基礎
- エッジコンピューティングのキャッシュ制御と利点
- エッジでのキャッシュ制御の3つのアプローチ
- キャッシュアプローチの比較と選択指針
- キャッシュ制御の注意点
4.4 コンテンツの書き換え
- コンテンツ最適化の必要性
- エッジコンピューティングでコンテンツを書き換える利点
- HTMLを書き換えて画像の遅延読み込みを追加する実装例
- HTMLRewriterを使用したコンテンツの書き換え
4.5 画像の最適化
- fetchの拡張を利用する方法
- Images Bindingを利用する方法
- 画像最適化の注意点
4.6 Web標準のAPIでアプリケーションを構築
- WebSocket
- Streams APIとServer-Sent Events
- その他のWeb標準API
- ブラウザを補助するエッジコンピューティング
4.7 フレームワークの利用
- Hono
- React Router
- OpenNext
- フレームワークを利用する上での注意点
第5章 Cloudflare Workersとバックエンド実装
5.1 本章で扱うハンズオン
5.2 プロジェクトのセットアップとWorkersの基本環境の構築
- create cloudflareでのプロジェクト設定と各ファイルの説明
- 基本的なルーティングとレスポンス生成
5.3 オリジンサーバー連携と認証
- Google Cloud Runによるオリジンサーバー構築
- Cloudflare Workersからのオリジンサーバー連携
- 認証の実装とオリジンサーバーへの適用
- オリジンがCloudflare DNS管理下にある場合の連携例
5.4 ロードバランサーの構築
- ロードバランシングの基本概念
- パスベースのルーティング
- リージョンベースのルーティング
- セッションアフィニティ
- ヘルスチェックとフェイルオーバー
5.5 データベース連携とAPI構築
- Cloudflare D1のセットアップ
- REST APIの実装
- GraphQL APIの実装
- 外部データベースの選択
5.6 アプリの拡張と本番最適化
- Cloudflare R2を用いた画像公開設定
- Cloudflare AIを用いたアプリケーションの拡張
- 定期実行処理の実装
第6章 Cloudflare Workersとフロントエンド実装
6.1 本章で扱うハンズオン
6.2 事前準備
6.3 キャッシュ制御の実装
- キャッシュ戦略の基礎知識
- Cache APIによる手動キャッシュを実装
- Cloudflare Workers KVでSWRを実装
6.4 画像を最適化して配信
- Images Bindingの基礎知識
- 画像最適化システムを実装
- 画像変換ロジックを実装
- 動作確認と最適化の効果測定を実施
- 実運用での考慮事項
6.5 既存サイトをEarly Hintsで高速化
- リソースヒントの基礎
- Early Hints
- プロキシWorkersを実装する
- HTML解析とリソース抽出を実装
- Early Hintsを実装
6.6 OpenNextでアプリケーションを実装
- プロジェクトをセットアップ
- D1データベースを設定
- 記事管理機能の実装
- 本番環境へデプロイを実施
6.7 WebSocketサーバーを構築
- WebSocketとDurable Objectsの基礎知識
- セットアップとシンプルなエコーサーバーを実装
- チャットルームを実装
- メッセージ履歴を永続化
- Hibernationで効率的な接続管理
- 実運用での考慮事項
第7章 Cloudflare Workersの本番運用に向けて
7.1 ログとオブザーバビリティ
- Workers Logsの機能と活用
- Logpushによる長期保存とアラート
- Workers Tracesによるリクエストの可視化
7.2 ロケーションとレイテンシ最適化
- リージョンレス実行のメリットとレイテンシの課題
- Smart Placementによる最適化
- 適切な配置戦略の選択
7.3 データストレージ戦略
- ストレージオプション選択の基本的な考え方
- コストとストレージの組み合わせ戦略
- 本番運用での注意点
7.4 デプロイメント戦略
- デプロイメント方法の基本
- Wrangler Environmentsによる環境管理
- 段階的デプロイとロールバック
7.5 セキュリティとアクセス制御
- Cloudflare Accessの構成要素
- WorkersへのAccess適用方法
- Workersで認証ユーザー情報を取得・活用する方法
プロフィール
上島愛史
1990年生まれ。比較系Webサービスの開発を経て、現在はEC領域の事業会社にて需要予測・発注管理SaaSの開発に従事している。主な技術領域はTypeScript、React、Cloudflare Workers、Pythonなど。X:@aiji42_dev
田又利土
1981年生まれ。業務システム開発、事業会社でのプロダクト開発を通じて、フロントエンド・バックエンド・インフラ・ネイティブアプリまで幅広く経験。Cloudflareを早期からプロダクト運用に取り入れるなど、実運用を重視した技術選定を得意とする。 X:@chimame_rt