Cloudflare Workersで作る「AI時代API」完全ガイド

生成AI技術の普及に伴い、バックエンド開発におけるAI機能の組み込みが急務となっています。
しかし、外部AI APIの呼び出しに伴うレイテンシの増大、従量課金コストの肥大化、インフラの運用負荷などが大きな課題として立ちはだかります。

これらの課題を解決するのが、Cloudflareのエッジコンピューティング基盤「Cloudflare Workers」と、その上でGPU推論を実行する「Workers AI」の組み合わせです。
本記事では、Cloudflare環境を活用して低遅延かつ高効率な「AI時代API」を構築・運用するアプローチと、具体的な配置手順・費用設計について徹底解説します。

目次

1. なぜ Cloudflare Workers × AI なのか?

従来のクラウドサーバー(AWS EC2やGCP等)でAI APIを構築する場合、リクエストを中央のデータセンターへ転送する必要があり、ネットワークレイテンシが不可避でした。

Cloudflare WorkersでAI APIを構築することで、以下の優位性を得られます。

  • 超低遅延(Ultra Low Latency): 世界300都市以上のエッジ拠点でリクエストを処理し、最寄りのGPU環境で推論を実行。
  • ゼロ・サーバー管理: インフラのスケール設定やOSの更新が不要なサーバーレスアーキテクチャ。
  • コストパフォーマンス: 外部の大規模AIサービス依存を減らし、オープンソースモデル(Llama, DeepSeek, Gemma等)をエッジ側で高速かつ安価に実行。
  • 統合された開発者プラットフォーム: ベクトルDB(Vectorize)やオブジェクトストレージ(R2)とシームレスに連携。

2. アーキテクチャ構成要素

AI時代のAPI開発には、モデルの実行環境だけでなく、検索拡張生成(RAG)やセキュリティ担保を含めた統合基盤が必要です。

サービス名役割・機能
Cloudflare WorkersAPIリクエストの受け付け、認証、ロジック制御を行うエッジコード
Workers AIサーバーレスGPU上でオープンソースLLMや画像生成モデルを動かす推論エンジン
Vectorize類似度検索(RAG)を実現するための完全マネージド型ベクターデータベース
AI Gatewayレート制限、キャッシュ、トークン使用量のモニタリングとコスト最適化
Cloudflare D1 / R2構造化データ(SQLite)および非構造化データ(画像・ログ)の保持

3. 利用可能な主要LLMモデル一覧

Workers AIでは、用途や要求スペック(速度・精度)に応じて様々なオープンソースモデルを第一引数の文字列指定のみで切り替えて利用できます。

モデル指定子(Model ID)種別・特徴推奨ユースケース
@cf/meta/llama-3.1-8b-instruct-fastMeta Llama(高速版)標準的なチャット応答、要約、汎用タスク(推奨)
@cf/meta/llama-3.2-3b-instructMeta Llama(超軽量)低レイテンシ重視の処理、テキスト分類・抽出
@cf/meta/llama-3.3-70b-instruct-fp8-fastMeta Llama(大規模)複雑な命令追従、高度な推論・思考タスク
@cf/deepseek-ai/deepseek-r1-distill-qwen-32bDeepSeek論理推論、段階的な思考プロセスが必要な処理
@cf/deepseek-ai/deepseek-coder-6.7b-instruct-awqDeepSeek Coderコード生成、リファクタリング、技術ドキュメント記述
@cf/google/gemma-7b-itGoogle Gemma高精度なテキスト生成、マルチリンガル処理
@cf/qwen/qwen1.5-7b-chat-awqQwen日本語をはじめとするアジア圏言語の会話処理

4. 料金プランとコスト構造

Cloudflare WorkersおよびWorkers AIは、無料枠が非常に手厚く、スケールに応じた柔軟な課金体系が用意されています。

Cloudflare Workers プラットフォーム料金

プラン月額基本料金リクエスト無料枠超過リクエスト料金CPU時間制限
Free$0100,000 リクエスト/日なし(上限停止)10ms / リクエスト
Pro$5〜10,000,000 リクエスト/月$0.30 / 1,000,000 リクエスト30,000ms (30秒) / リクエスト
Enterprise要問い合わせカスタムカスタムカスタム SFAあり

Workers AI(GPU推論)料金

Workers AIの推論処理は、リクエスト数ではなく「Neuronal Units(ニューロン単位)」または使用するGPU演算リソース時間・トークン数に基づいて計算されます。

  • Free枠: 1日あたり 10,000 Neurons まで無料(小規模なPoCや検証には十分な枠)。
  • 有料枠(Workers Paid契約時): 無料枠を超過した分は $0.011 / 1,000 Neurons での従量課金。
  • 主なモデルの利用コスト目安:
    • llama-3.1-8b: 1,000トークン処理あたり約 15〜30 Neurons ($0.00016〜$0.00033 程度)
    • 商用外部LLM API(OpenAI等)と比較して、概ね 50%〜70% 程度のコスト削減 を見込むことが可能です。

5. 実装例:Workers AIを活用したテキスト生成API

JavaScript / TypeScript を用いて、Workers内で直接AI推論を実行する最小構成例です。

wrangler.toml(設定ファイル)

Ini, TOML

name = “ai-api-service”
main = “src/index.ts”
compatibility_date = “2026-01-01”

[ai]
binding = “AI”
remote = true

src/index.ts(処理コード)

TypeScript

export interface Env {
  AI: Ai;
}

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    if (request.method !== “POST”) {
      return new Response(“Method Not Allowed”, { status: 405 });
    }

    try {
      const { prompt } = await request.json() as { prompt: string };

      // モデルの指定(用途に応じてモデルIDを変更可能)
      const response = await env.AI.run(“@cf/meta/llama-3.1-8b-instruct-fast“, {
        messages: [
          { role: “system”, content: “あなたは優秀なアシスタントです。” },
          { role: “user”, content: prompt }
        ]
      });

      return new Response(JSON.stringify(response), {
        headers: { “Content-Type”: “application/json” }
      });
    } catch (error) {
      return new Response(JSON.stringify({ error: “Internal Server Error” }), { status: 500 });
    }
  }
};

6. 配置・デプロイ手順

前提条件

CLIツール(Wrangler)を使用してコードをデプロイするには、作業端末に Node.js(LTS版推奨) がインストールされている必要があります。

  • 確認方法: ターミナルで node -v および npm -v を実行し、バージョン番号が表示されるか確認してください。
  • 未インストールの場合: Node.js 公式サイト よりインストーラー(.msi / .pkg)をダウンロードして導入してください。

ステップ1:ローカル開発環境の準備とログイン

コマンドプロンプト(またはターミナル)を開き、Cloudflare公式CLI「Wrangler」で認証を行います。

Bash
npx wrangler login

ブラウザが自動起動するので、Cloudflareアカウントへのアクセス権限を許可します。現在のログインアカウント情報は npx wrangler whoami コマンドで確認可能です。

ステップ2:プロジェクトフォルダの作成と初期化

作業用ディレクトリを作成し、必要なパッケージをインストールします。

Bash
mkdir ai-api-service
cd ai-api-service
npm init -y
npm install –save-dev wrangler @cloudflare/workers-types

ステップ3:プロジェクトの正しいディレクトリ・ファイル構造

wrangler.toml はプロジェクトのルートディレクトリ(ai-api-service/)の直下に配置します。

ai-api-service/                ← プロジェクトのルートフォルダ(ここで npx wrangler を実行)
├── wrangler.toml              # 設定ファイル(直下に配置)
├── package.json               # プロジェクト管理ファイル
├── package-lock.json          # パッケージバージョン固定ファイル
├── node_modules/              # 依存ライブラリ群
└── src/
    └── index.ts               # 処理コード(APIロジック)

ステップ4:設定ファイル(wrangler.toml)およびスクリプトコード(src/index.ts)の配置

プロジェクト直下に wrangler.toml を作成し、src ディレクトリ内に src/index.ts を作成して上記の処理コードを記述します。

ステップ5:ローカル環境でのテスト実行と検証

本番環境へ配置する前に、PC上で開発サーバーを立ち上げてテストします。

Bash
npx wrangler dev

起動後、別ウィンドウから curl コマンドで POST リクエストを送信し、JSONレスポンスが返ってくることを確認します。

DOS
curl -X POST http://127.0.0.1:8787 -H “Content-Type: application/json” -d “{\”prompt\”:\”Cloudflare Workersのメリットを教えて\”}”

【動作に関する注意点】

ブラウザのアドレスバーに直接 [http://127.0.0.1:8787](http://127.0.0.1:8787) を入力してアクセスした場合、画面には Method Not Allowed(405エラー)と表示されます。

これはコード内で if (request.method !== “POST”) の制限を設けているためであり、ブラウザによる通常のアクセス(GETリクエスト)を正しく拒否している正常な挙動です。テストを行う際は、必ず上記のように curl や Postman 等を用いて POST リクエストを送信してください。

ステップ6:Cloudflareエッジへのデプロイ(公開)

必ずプロジェクトディレクトリ(ai-api-service)内で以下のコマンドを実行し、グローバルネットワークへ配置します。

Bash
npx wrangler deploy

実行完了後、ターミナル上に本番URL(例: https://ai-api-service.<サブドメイン>.workers.dev)が出力されれば配置完了です。

【補足】開発・運用で役立つ Wrangler コマンド集

Wranglerは、Cloudflare Workersの開発・運用を一元管理できる公式CLIツールです。主要コマンドを把握しておくことで、トラブルシューティングや運用がスムーズになります。

  • npx wrangler dev
    • 役割: ローカル開発サーバーを起動します。
    • ポイント: Workers AIのようにリモートのGPUリソースを呼び出す機能を利用する場合、wrangler.toml 内に remote = true を設定しておくか、npx wrangler dev –remote オプションを付けて起動します。
  • npx wrangler deploy
    • 役割: コードと設定をCloudflareのグローバルネットワークへ配置(本番公開)します。
    • 注意点: 必ず wrangler.toml が存在するプロジェクトのルートフォルダ内で実行する必要があります。実行場所が異なると [ERROR] Missing entry-point エラーが発生するため、cd コマンドで移動してから実行してください。
  • npx wrangler whoami
    • 役割: 現在ログインしているCloudflareアカウントのアカウント名とアカウントIDを表示します。複数アカウントを所有している場合の接続先確認に便利です。
  • npx wrangler logout / npx wrangler login
    • 役割: 認証セッションのログアウトおよび再ログインを行います。認証エラーが発生した場合や、接続アカウントを切り替えたい時に使用します。
  • npx wrangler tail
    • 役割: 本番環境(エッジ)で実行されているWorkerのアクセスログや console.log をターミナル上にリアルタイム出力(ストリーミング)します。障害調査や動作確認に有効です。
  • npx wrangler deployments list
    • 役割: 過去にデプロイされたバージョンの一覧とアクティブなバージョンIDを確認します。
  • npx wrangler secret put <KEY_NAME>
    • 役割: APIキーやトークンなどの環境変数を安全に暗号化してCloudflare上へ保存します(wrangler.toml に平文で書きたくない秘密情報の管理に使用)。

ダッシュボード(ブラウザGUI)から配置する場合

CLIコマンドを使わず、Webブラウザ上の管理画面から直接配置することも可能です。

  1. Cloudflareダッシュボードへログインし、左メニューから Workers & Pages を選択。
  2. 「作成」 > 「Workerの作成」 をクリックし、任意の名前をつけて 「デプロイ」 を選択。
  3. 「コードを編集」 をクリックし、エディタ画面に src/index.ts のコードを貼り付け。
  4. 設定(Settings) タブ > バインディング(Bindings) > 「追加」 から Workers AI を選択し、変数名を AI に設定して保存。
  5. 「保存してデプロイ」 をクリックして完了。

7. 運用・セキュリティのベストプラクティス

AI APIをエンタープライズ領域で安定運用するためには、保護対策が欠かせません。

  • AI Gatewayによる監視とキャッシュ

同じプロンプトに対する応答をキャッシュすることで、応答速度を向上させつつAPI呼び出しコストを大幅に削減できます。

  • Cloudflare Turnstile / Rate Limiting

Botによる自動リクエストや悪質なDDoS攻撃を防ぎ、推論GPUリソースの無駄遣いを遮断します。

  • データプライバシーの確保

Workers AIではデータがモデルの再学習に使用されないため、企業データの保護(データガバナンス)に適合します。

まとめ

Cloudflare Workersを活用した「AI時代API」の構築は、単に速度を向上させるだけでなく、運用コストの削減と高いセキュリティを両立する強力なアーキテクチャです。無料枠を活用したSmall Startから、大規模トラフィックにも耐えうるエンタープライズ運用まで柔軟に対応できます。

株式会社ドーモでは、Cloudflareの認定パートナーとして、AI活用に向けたインフラ設計・導入支援から既存システムのWorkers移行・コスト最適化までトータルでご支援しています。自社APIのAI化やコスト改善をご検討の際は、ぜひご相談ください。

Web表示スピード改善・セキュリティ対策のCloudflare

導入のご相談だけでなく、運用フェーズでのサポートも承ります。
DDoS攻撃や悪質なBot(ボット)からのアクセスを防ぎたい方、WAF機能やプランの詳細を知りたい方、
国内エンジニアによる安心の運用サポートをご希望の方も、ぜひお気軽にお問い合わせください。

目次