開発日誌

AWSからCloudflare Workersへ移すと何が変わる?|サーバを所有しない設計とコストの考え方

常時稼働の箱を手放すと、料金だけでなく、コードレビューの観点まで変わります。

「AWSからCloudflareへ移したら安くなった」という話は、料金比較だけで終わらせると少しもったいないです。今回共有いただいたスライドでは、Elastic Beanstalkで動いていたアプリケーション実行基盤をCloudflare Workersへ移し、RDSはAWSに残す構成が紹介されていました。

スライド上の平常月実績では、API基盤の月額は180.10ドルから82.30ドルへ、約54%下がったとされています。ただし、重要なのは「Cloudflareなら必ず半額」という話ではありません。常時稼働する計算資源を持つ前提から、必要なときだけ使う前提へ移ると、キャッシュ、DBアクセス、メモリ、日時処理まで見直し対象になる点です。

この記事では、スライドの論点に加え、Cloudflareの海外公式ドキュメントと技術ブログを確認しながら、中小企業が「サーバを所有しない設計」をどう捉えればよいかを整理します。

check_circle

この記事を読むとわかること

  • check_circleAWSからCloudflare Workersへ移す時、何を移して何を残すと考えやすいか
  • check_circle「安くなる」より大事な、所有しない設計の意味
  • check_circleKV、Cache API、Hyperdrive、Placementをどう見分けるか
  • check_circleAIの提案やクラウド機能を、仮説として計測する考え方

向き:小さなWebサービス、API基盤、管理画面、SaaS初期構成を見直したい方
向かない:AWSを全廃する手順や、Cloudflareだけで全要件を満たす保証を知りたい方

移したのは「AWS全部」ではなく、常時稼働の実行基盤

まず分けたいのは、クラウドの会社を変える話と、実行モデルを変える話です。スライドでは、AWSをすべて捨てたのではなく、RDSをAWSに残したまま、Elastic Beanstalkで動いていたアプリケーション実行基盤だけをWorkersへ移しています。

これは中小企業にも参考になります。データベース、ファイル、認証、バッチ、監視まで一気に移す必要はありません。まず「ユーザーからのリクエストを処理するために、常時確保していた計算資源」を切り離せるかを見る方が現実的です。

見る場所移行前の前提Workers移行後の前提
実行基盤サーバ、環境、常時稼働を持つリクエストごとに実行される
DB近い場所にある前提で書きがちRDSを残すなら距離とクエリ数を見る
費用使われなくても箱の固定費があるリクエスト、CPU、保存、読み書きへ分解される

CloudflareのWorkers料金ページでも、Paid planは最低月5ドルで、リクエストやCPU時間などの利用量を見ます。固定費が消える一方で、見るべきメーターが変わると捉えるのが安全です。

「安くなった」の裏側では、キャッシュの要件が変わっている

スライドで印象的だったのは、移行後すぐにWorkers KVの請求通知が来たという話です。「キャッシュだから念のためKVに置く」という判断が、数日で31.64ドルの請求として見える化され、保存先の棚卸しにつながっています。

CloudflareのDocsでは、Cache APIはデータセンター単位の一時的な保存として説明されています。一方、KVはグローバルな低遅延Key-Value Storeですが、データは中央ストアへ書かれ、アクセスされた場所でキャッシュされる仕組みです。つまり、同じ「キャッシュ」という言葉でも、範囲、寿命、整合性、課金の意味が違います。

保存先向くもの避けたい使い方
Cache API消えたら再生成できる、近い場所だけでよいレスポンスグローバルで共有したい正しい状態
Workers KV読み取り中心、結果整合でよい共有データ厳密なロック、頻繁な書き込み、何でも保存
DB制約重複禁止、正しさ、最終的な整合性キャッシュ任せの正しさ保証
lightbulb

設計メモ:「キャッシュするか」ではなく、「どこまで共有するか」「消えた時に再生成できるか」「古くても許されるか」で保存先を決めると、Cloudflare移行後のコスト事故を減らしやすくなります。

Workersは、サーバの暗黙の前提をコードからあぶり出す

サーバ上で動いていたコードには、見えにくい前提が残ります。メモリは十分ある、DBは近い、タイムゾーンはサーバ設定で保証される。こうした前提は、Workersへ移すと制約として表に出ます。

Cloudflare Docsでは、Workersのメモリは128MBと明示されています。これを単なる厳しい制限と見るより、「全部取ってからメモリで加工する」コードを見直すきっかけと考えた方が実務に効きます。

移行前: SELECT * FROM large_table → アプリで絞る
移行後: WHERE / LIMIT / 必要な列 → 必要量だけ取る

移行前: サーバ設定で timezone = Asia/Tokyo
移行後: appDate() のような共通処理で意味を保証
  • check_circleDBで行と列を絞り、paginationを前提にする
  • check_circleN+1や直列I/Oを、JOIN・一括取得・並列化で減らす
  • check_circleタイムゾーンや日付の意味を、ホスト環境ではなくコードで保証する

HyperdriveとPlacementは、距離を消す魔法ではなく計測対象

RDSをAWSに残したままWorkersへ移す場合、DBとの距離が問題になります。Cloudflare Hyperdriveは、既存のPostgresやMySQLをWorkersから使うための仕組みで、AWS、Google Cloud、Azure、Neon、PlanetScaleなどのDBをサポートすると説明されています。

ただし、HyperdriveはN+1クエリを自動で直してくれるものではありません。Placementも同じです。Cloudflare Docsでは、Workerをバックエンドに近い場所で実行することでレイテンシを減らせる場合があると説明されていますが、採用するかどうかは計測で決める必要があります。

機能できること人が確認すること
Hyperdrive外部DBへの接続をWorkersから使いやすくするクエリ数、JOIN、DB側の絞り込み
PlacementWorkerをバックエンドに近づける選択肢を持つ実測で速くなったか、ユーザー体験は悪化しないか
AIの提案候補を出す本番に近い条件で測って採用・不採用を決める

ここは、AI活用にもつながる話です。生成AIが「Smart Placementを使えばよい」と提案したとしても、それは答えではなく仮説です。任せることと、確認しないことは違います。

海外記事の流れは「アプリ全体を軽く持つ」方向へ進んでいる

Cloudflare Blogの「Your frontend, backend, and database — now in one Cloudflare Worker」では、フロントエンド、バックエンド、DBをWorkers上でまとめて扱う方向が紹介されています。Payload CMSの記事でも、従来型CMSは24時間動くサーバ、依存関係、ポート、ファイアウォール、保守、スケール調整が必要になりがちだと説明されています。

また、Matrix homeserverの実験記事では、VPS、PostgreSQL、Redis、リバースプロキシ、TLS証明書などの運用負担を「tax」と表現しています。もちろん、これらはすべての業務システムをWorkersへ移せるという意味ではありません。読み取るべきなのは、運用の重さをアプリケーション設計の段階から減らす流れです。

海外記事で見える流れ中小企業への翻訳
Workersでフロント、API、DBに近い部品をまとめる小さな管理画面や会員機能を、最初から大げさにしない
Node.js HTTP server API対応で移行しやすくする既存コードを全部捨てず、移しやすい部分から試す
運用のtaxを減らす実験が増えているサーバ保守に時間を使う前に、業務価値を検証する

中小企業が最初に見るべきチェックリスト

AWSからCloudflareへ移すかどうかは、流行で決めるものではありません。今のサービスで、常時稼働の固定費、DBへの近さ、サーバ設定、キャッシュ保存、バッチ実行のどれに依存しているかを棚卸しするところから始めます。

i-Styleでは、クラウド移行は「サービス名を変える作業」ではなく、プロダクトの前提を見直す作業だと捉えています。持たない。必要なときだけ使う。使った結果を測る。この順番をチームの標準にできると、次の新規事業や小さな業務アプリも出しやすくなります。

  1. 月額の中で「ユーザーが少なくても発生する固定費」を分ける
  2. DBを残すか、D1などへ寄せるかを最初に決める
  3. KV、Cache API、R2、DBの保存先を、寿命と整合性で分ける
  4. メモリ前提、N+1、日時処理など、サーバ依存のコードを洗い出す
  5. AIやクラウド機能の提案は、本番に近い条件で計測してから採用する

よくある質問

Cloudflare Workersへ移すと、必ずAWSより安くなりますか?

必ず安くなるとは限りません。常時稼働していた実行基盤を利用量中心に変えられる場合は下がりやすい一方、KV、Durable Objects、外部DB通信、CPU時間など別の課金ポイントも見ます。

RDSをAWSに残したままWorkersを使えますか?

使えます。Cloudflare HyperdriveはPostgresやMySQLなど既存データベースへの接続をWorkersから使いやすくする仕組みです。ただし、N+1クエリや直列I/Oを自動で直すものではありません。

KVとCache APIはどう使い分ければよいですか?

消えても再生成でき、データセンター単位でよいものはCache API、グローバルに共有したい読み取り中心の値はKVが候補です。整合性や寿命を決めずに、すべてをKVへ置くのは避けた方が安全です。

まとめ

  • check_circleAWSからCloudflareへの移行は、AWSを全部捨てる話ではなく、常時稼働の実行基盤を利用量中心へ変える話として考えると整理しやすいです。
  • check_circleCache APIとKVは、共有範囲、寿命、整合性で使い分けます。何でもKVへ置くと、別の形でコストや設計負債が出ます。
  • check_circleWorkersはメモリ、DB距離、ホスト環境依存をあぶり出すため、インフラ移行がコードレビューにもなります。
  • check_circleHyperdrive、Placement、AIの提案は便利ですが、最後は計測で採用・不採用を決める必要があります。

「サーバを所有しない」は、責任を手放すことではありません。どこまで持たず、どこを測り、どこをコードで保証するかを決めることです。小さなチームほど、この設計判断が次の挑戦の速さにつながります。

参考リンク

サーバ費用と業務アプリ基盤を一緒に見直しませんか

i-Styleでは、Cloudflare Workers、AI活用、業務アプリ、既存クラウドの整理を、実際の運用に合わせて設計します。サーバを減らすだけでなく、どこを人が確認し、どこを自動化するかまで一緒に整理できます。

お問い合わせページへarrow_forward

問い合わせ前に、i-Styleサポートデスクbotでも相談できます

「今のAWS構成をどこから軽くすればよいか」「Cloudflareに移せる部分があるか」など、軽い確認はサポートデスクbotでも相談できます。

i-Styleサポートデスクbotで聞くarrow_forward

関連記事