Workers Buildsの代替・CircleCI・GitHub Actions・Oracle Cloudを、無料の範囲で使い分ける
無料でサイトを動かしていたら、月が始まって10日ほどで表示された。「今月の利用上限に達しました」。
いや、まだ月の3分の1なんだが? 残り20日間、パソコンの前で冬眠しろって? 無料枠の門番、仕事が早すぎる。
ただし、ここで重要な事実がある。ビルド(サイトやプログラムを準備する作業)が止まることと、すでに公開したサイトが止まることは別。さらに、同じ仕事を別会社の無料実行環境へ移す道もある。「今月終了のお知らせ」は、必ずしも「事業終了のお知らせ」ではない。
この記事では「本当に何が止まったか」の切り分けから、無料の代わり、計算、切り替え時の事故防止まで順番に整理する。数字は2026年10月10日に公式情報で確認したもの。仕様は変わるので、導入時にも公式ページを確認してほしい。
1. まず「何の無料枠」が死んだのか
Cloudflareの画面で「上限」と出ても、全部同じ財布から払っているわけではない。似た名前のサービスが集まりすぎて、親戚の葬式で誰が誰だか分からない状態になっている。
- Workers Builds:ソースコードを取得して準備・検査・ビルドする時間。Freeは月3,000分、同時1件、1回20分まで。[1]
- Cloudflare Pagesのビルド:サイトを公開用に組み立てる回数。Freeは月500回、同時1件。[2]
- Workers / Pages Functionsの実行:訪問者がAPIなどを呼ぶ回数。FreeのFunctionsはWorkersと合計で1日10万リクエストの枠を使う。[3]
- 静的ファイル配信:すでに作ったHTML、画像、CSSなどをそのまま返す処理。Functionsを呼ばなければ、Cloudflare Pagesの静的リクエストは無料・無制限。[3]
月3,000分を使い切っても、すでに配信中のページまで自動的に消えるわけではない。ただし、別の実行枠も尽きていたり、更新が必要な処理を止めたりすれば機能への影響はあり得る。「ビルド上限=サイト全面停止」と短絡しない。[1][3]
2. 10日で3,000分なら、残り20日はどうなる?
仮に月初から10日でWorkers Buildsの3,000分を全部使ったなら、平均は1日300分=5時間。同じ勢いで30日間走ると9,000分。月3,000分の枠に対して6,000分不足する計算だ。
計算は単純だが、対策は「あと6,000分をどこかから拾えば終了」ではない。実行環境はそれぞれ速さ、使えるメモリ、1回の制限、得意な作業が違う。同じ仕事でも所要時間が変わる。
そして、そもそも消費の内訳を調べたい。記事の中身だけ更新したのに、毎回サイト全体を作り直していないか。失敗したビルドを自動で何度も再実行していないか。待つだけの処理に高性能な環境を借りていないか。無料枠を増やす前に、無料枠を食べている犯人を探す。たまに犯人は「念のためもう一回」ボタンである。
3. 代役には3種類ある。「目覚まし時計」を雇っても料理は作らない
無料サービスを並べる前に、仕事内容を3つに分けよう。
実行する場所:GitHub ActionsやCircleCIのように、コードを動かしてテストや記事処理を行う。Workers Buildsを置き換える本命。
時刻を知らせる場所:cron-job.orgのように決まった時刻にURLを呼ぶ。これは目覚まし時計であって、重いプログラムを自分の代わりに処理する巨大コンピューターではない。[4]
読者のアクセスを処理する場所:Deno DeployやCloudflare Workersなど、APIを動かすサービス。記事生成の長い仕事と、ページを開いた瞬間に返す短い仕事では必要な設計が違う。
時計を5個買っても、料理人は5人増えない。無料で「起動する回数」を増やすことと、無料で「計算する時間」を増やすことを混同しない。
4. GitHub Actions:すでにGitHubを使うなら近道
GitHub Actionsは、コードを保存しているGitHub上で検査や定期処理を走らせる機能。標準のGitHubホスト型ランナーの場合、GitHub Freeの非公開リポジトリは月2,000分が含まれる。公開リポジトリでは標準ランナーが無料で使えるが、秘密のコードを無料分数目当てに公開するのは悪手だ。[5]
得意なのは記事ファイルの確認、画像の整理、翻訳済みファイルの結合、短いビルド。既存のGitHubとつなげやすい。
ただし「毎時0分に必ず起動」は保証されない。GitHub公式も、混雑時には予定実行が遅れたり落ちたりすることがあると説明している。[6] 「10時00分に起こして」の返事が「10時48分ですが何か?」になる可能性がある。公開を止めないためには、遅れた仕事を後から回収できる設計が必要だ。
また、PR検査、監視、公開、記事生成など、すべての処理が同じ月間枠を消費する。記事工場だけに2,000分を丸ごと使えるとは限らない。
5. CircleCI:無料枠を別会社から追加する本命
CircleCIのFreeには月30,000 creditsがあり、無料プランではクレジットカード登録が不要。実行環境の大きさで「1分の値段」が違う。[7][8]
| 実行環境の例 | 消費 | 30,000 creditsの理論上限 |
|---|---|---|
| x86 Docker Small・2GB | 5 credits/分 | 6,000分 |
| x86 Docker Medium・4GB | 10 credits/分 | 3,000分 |
| x86 Docker Large・8GB | 20 credits/分 | 1,500分 |
| Arm Docker Gen 2・8GB(ベータ) | 6 credits/分 | 5,000分 |
「無料6,000分! 勝った!」と叫ぶ前に注意。6,000分は2GBの小型環境での理論値。8GBが必要な仕事をそのまま押し込めない。
一方、Arm Gen 2ベータは公式料金表上、2 CPU・8GBで6 credits/分。うまく使えれば有力だが、Arm対応の画像や部品が動くか、実際に無料プランで選べるかを検証する必要がある。[8] データ保存・転送なども無料クレジットに影響するため、実行時間だけで残量を判断しない。[9]
要するにCircleCIは魔法の無限無料サーバーではない。でも、Cloudflareとは別の会社の無料残量を使える。ここが大きい。
6. Oracle Cloud:毎月の実行分数から距離を取る案
もう一つはクラウド上に小さな仮想パソコンを借り、自分で処理を動かす方法。Oracle CloudのAlways Freeなら、条件を満たす範囲で継続利用できる。
重要:2026年6月の改定後、Always FreeのArm計算機の目安は合計2 OCPU・12GB。 古い記事にある「4 OCPU・24GB」をそのまま信じてはいけない。公式には月1,500 OCPU時間・9,000GB時間と記載されている。[10][11]
ここで好きな時間に処理を走らせられれば、CIサービスの「月何分」という上限への依存を減らせる。ただし、空きがなく作れない地域がある、長く使われない機械は回収され得る、OS更新・アクセス制限・秘密鍵の管理が必要という弱点もある。[10]
「無料の家をもらった!」と思ったら、電気設備と鍵の修理は自分の担当だった、という感じ。機械の世話をしたくない人にはCircleCIの方が軽い。
7. Cloudflareは捨てなくていい。仕事の配置を変える
構成を全部引っ越すのは大工事だ。すでに配信されているHTMLや画像、簡単なAPI、データベースまでまとめて移すと、動いていたものまで壊しかねない。
おすすめの分担は次のとおり。
- GitHub:記事やプログラムの正本を保管する。
- CircleCI / GitHub Actions:時間のかかる記事整理・検査・変換を行う。
- Cloudflare Pages:完成した静的ページを届ける。
- Workers / Functions:短いAPI、認証、必要な動的処理だけを担当する。
- 必要になったらOracle:長時間の仕事を別の機械に逃がす。
Pagesは、Functionsを追加すると設定によって静的ルートもFunctionsを呼ぶ。公式は、静的ルートを除外するための_routes.jsonを案内している。ただし、実際にどの経路を除外してよいかは、認証・転送・アクセス制御の要件次第。適当に外すと無料化ではなく防犯装置の撤去になる。[12]
加えてPages Freeには月500ビルド、1サイト最大20,000ファイルという別の制限がある。ビルド時間が余ってもファイル数で止まる可能性はある。[2]
8. 無料の落とし穴:Deno、Vercel、外部時計
Deno Deployのようなサービスは短いWeb処理の候補になるが、Cloudflare向けのコードをそのまま貼れば全部動くわけではない。とくに専用データベース、状態を持つ部屋、リアルタイム通信などは置き換えの設計が必要だ。[13]
VercelのHobby無料プランは非商用の個人利用向け。広告収入や有料機能を目指すサイトでは、無料だからと飛びつくのは危ない。[14]
cron-job.orgは最短1分間隔でURLを呼び出せる便利な無料サービス。でも、呼ばれる側がすでに上限で止まっていれば、時計だけ元気に鳴っても仕事は進まない。[4]
GitHub ActionsやCircleCIも、別アカウントを大量作成して規約の制限をすり抜けるための仕組みではない。利用規約を守ったうえで、仕事の種類に合わせて適切なサービスを選ぶ。
9. 切り替え時に一番怖いのは「同じ記事を2回公開すること」
複数サービスをつなぐと処理能力は増える。しかし、失敗すると「両方が同じ仕事を引き受けた」という事故が起こる。たとえば記事AをCloudflareとCircleCIが同時に処理し、片方が古い内容で上書き。無料になった代償として記事が分裂する。新種の恐竜か。
安全な設計は、入口と正本を1つにすること。
- 記事ごとに固有IDと内容の版を持たせる。
- 実行前に「この仕事は誰の担当か」を記録する。
- 作業中の期限付きの権利を一つの実行先だけが持つ。
- 終わった結果を記録し、同じ版の再実行や二重公開を防ぐ。
- 失敗した仕事は期限切れを確認してから別の実行先に渡す。
- 本番に出たURLと実際の内容を最後に確認する。
難しい言葉を覚える必要はない。料理の注文票を1枚にして、同じハンバーグを三つの厨房が作らないようにする、それだけだ。
また、秘密の認証キーや公開前の記事を、実行ログや公開リポジトリへ流さない。移行先の権限は最小限にする。「無料にするために秘密を全世界へ無料配布」は笑えない。
10. 残り20日の動き方:冬眠より、仕事の引っ越し
まずCloudflareの画面で、尽きたのがWorkers Buildsの月間分数なのか、Pagesのビルド回数なのか、Workersの日次リクエストなのかを特定する。別々の制限なので、薬も別々だ。
次に、重い仕事を「公開に必須」「記事の準備」「なくても困らない検査・飾り」に分ける。既存サイトの表示を維持し、公開と品質を守る仕事を優先する。
そのうえで、GitHub Actionsの残量を確認し、CircleCI Freeで一つの軽い作業を試す。時間、メモリ、成功率を測ってから段階的に移す。長い仕事が多ければOracleの実現性も見る。同じ仕事を二度走らせない仕組みが完成するまで、二重起動しない。
よくある質問への答えはこうだ。
Q. Workers Buildsが上限なら、サイトも見られなくなる? A. 直結しない。すでに公開された静的ページと、新しいビルドの可否は別。ただし別のサービス制限には注意。[1][3]
Q. CircleCIの6,000分で不足6,000分が埋まる? A. 2GB環境での計算上は一致するが、同じ作業が同じ時間で走るとは限らない。8GBの環境なら無料分数は変わる。[7][8]
Q. 無料のサービスを増やせば永久に無敵? A. いいえ。制限は変わるし、メンテナンスも必要。節約・優先順位・復旧手順もセットで作る。
結論:上限に達したのは一つの実行場所であって、アイデアの寿命ではない。
Cloudflare「今月はもう働けません」
GitHub「軽い仕事なら」
CircleCI「こっちで走らせよう」
Oracle「機械の面倒を見るなら部屋はある」
運営者「無料枠、まさかのシフト制だったのか」。
「詰み」だと思ったら、盤面に別のマスがあった。しかも複数。無料枠という名のラスボス、意外と分身に弱い。
参考資料(14件)
- Cloudflare Workers Builds — limits and pricing developers.cloudflare.com
- Cloudflare Pages — platform limits developers.cloudflare.com
- Cloudflare Pages Functions — pricing and static requests developers.cloudflare.com
- cron-job.org — free URL scheduling, up to once per minute cron-job.org
- GitHub — Actions billing and included minutes docs.github.com
- GitHub — scheduled workflow delays and dropped runs docs.github.com
- CircleCI — official Free plan and 30,000-credit allowance circleci.com
- CircleCI — resource class price list, including Arm Gen 2 beta circleci.com
- CircleCI — credits, exhaustion, storage/network implications circleci.com
- Oracle — Always Free resources, revised 2026 Arm allowances and idle reclamation docs.oracle.com
- Oracle — Free Tier and current eligibility conditions docs.oracle.com
- Cloudflare Pages Functions — invocation routing and _routes.json developers.cloudflare.com
- Deno Deploy — runtime and pricing limitations, migration suitability docs.deno.com
- Vercel — Hobby plan, non-commercial restrictions vercel.com

