Google Cloudで個人開発する場合の料金を計算してみた
個人開発で使える安い環境がないかなと思い、最初はHerokuを検討していたんですがサーバーやDBを含めると今はもう10ドル以上かかりそうというのが分かって、個人開発で使うにはあまりメリットがないなと感じていました。
かといってAWSを使うのもあまり面白くないなと思いGoogle Cloudを調べたところ、無料枠が結構充実しており個人開発によいのではないかなと思って調査してみました
前提
- 東京リージョン
- 最安かつ最低限の動作を考慮してApp EngineのF1(CPU 0.6GHz、メモリ 384MB)を最低スペックの基準とする
- 常時起動する場合は730hで計算(365日×1日24時間÷12ヶ月)
- データ転送量や、インスタンス実行時間の計算は基本1リクエスト500ミリ秒、50KBで計算
以上の前提を元にまずは最低スペックで運用した場合の金額を調べていきます
App Engine
App Engine の料金体系について
- 主にインスタンス使用料+ネットワーク転送料(送信)の合算
- スタンダード環境とフレキシブル環境があり
- フレキシブル環境ではメモリやCPUを自由に選べるが、無料枠が存在しない
- スタンダード環境は無料枠が存在するが、CPUやメモリは用意されたインスタンスを使う必要がある
今回は無料枠が必要なのでスタンダード環境を使用して、下記を基準に計算していきます
- インスタンスはF1 CPU 0.6GHz、メモリ 384MB
- リクエスト時のみ起動(最小インスタンス0)
- 1日1,000リクエスト
インスタンス使用料(スタンダード環境)
- 東京リージョン、F1(CPU 0.6GHz、メモリ 384MB)$0.065で計算
計算式:
実行時間 = リクエスト数 * リクエスト時間 / 60秒 / 60分
インスタンス使用料 = (実行時間 - 無料時間) * インスタンス料金
(1000req/day * 30day) * 0.5s / 60m / 60s = 4.17h
(730h - 840h) * 0.065ドル = -7.15
(1000 * 30) * 0.5 / 60 / 60 = 4.167
(4.17 - 840) * 0.065 = -54.32895
4.17h(実行時間)< 840h(無料枠)内で十分に収まるので問題なし
インターネット データ転送量(送信)
- 東京リージョンの$0.156/GiBで計算
- データ転送量の「受信」は無料なので計算から除外
- データ転送の無料枠について1日1GBと記載されているが、計算ツールで確認したところ1GiBで計算されていたのでGiBで算出(月30GiBの無料枠)
計算式:
1ヶ月のデータ転送量(GiB) = 一日あたりのリクエスト数 * 30日 * 1リクエストの転送量(KB) / 1024 / 1024
データ転送料 = (1ヶ月のデータ転送量(GiB) - データ転送量無料枠(GiB)) * データ転送料金
(1000req/day * 30day * 約50KB / 1024 / 1024 ) = 1.43GiB
(1.43GiB - 30GiB) * 0.156 = -4.45ドル
1000 * 30 * 50 / 1024 /1024 = 1.43
(1.43 - 30) * 0.156 = -4.45
結論としては1.43GiB(データ転送量)< 30GiB(無料枠)内で十分に収まるので問題なし
最安で運用した場合の料金
F1インスタンス、リクエスト時のみ起動(最小インスタンス0)、月3万リクエスト程度であれば十分無料枠に収まる
App Engine料金表まとめ
下記観点で表にまとめてみました
- インスタンスクラス(F1 or F2 or F4)
- F1 CPU 0.6GHz、メモリ 384MB
- F2 CPU 1.2GHz、メモリ 768MB
- F4 CPU 2.4GHz、メモリ 1,536MB
- 常時起動かリクエスト時のみか
- 常時起動(最小インスタンス1)
- リクエスト時のみ(最小インスタンス0)
- リクエスト数
- 1,000req
- 10,000req
- 100,000req
最低スペック
前提 | 実行 時間 |
インスタンス料金 (1hあたり) |
インスタンス 無料枠 |
データ 転送量 |
データ転送 無料枠 |
合計金額 (無料枠なし) |
合計金額 (無料枠あり) |
---|---|---|---|---|---|---|---|
・CPU 0.6GHz、メモリ 384MB(F1) ・1日1,000req ・常時起動(最小インスタンス1) |
730h | $0.065 | 840h | 1.43GiB | 30GiB | $47.67 | $0.00 |
・CPU 0.6GHz、メモリ 384MB(F1) ・1日10,000req ・常時起動(最小インスタンス1) |
730h | $0.065 | 840h | 14.31GiB | 30GiB | $49.68 | $0.00 |
・CPU 0.6GHz、メモリ 384MB(F1) ・1日1,000req ・リクエスト時のみ(最小インスタンス0) |
4.17h | $0.065 | 840h | 1.43GiB | 30GiB | $0.49 | $0.00 |
・CPU 0.6GHz、メモリ 384MB(F1) ・1日10,000req ・リクエスト時のみ(最小インスタンス0) |
41.67h | $0.065 | 840h | 14.31GiB | 30GiB | $4.94 | $0.00 |
続きを見る
F2インスタンス(CPU 1.2GHz、メモリ 768MB)
前提 | 実行 時間 |
インスタンス料金 (1hあたり) |
インスタンス 無料枠 |
データ 転送量 |
データ転送 無料枠 |
合計金額 (無料枠なし) |
合計金額 (無料枠あり) |
---|---|---|---|---|---|---|---|
・CPU 1.2GHz、メモリ 768MB(F2) ・1日1,000req ・常時起動(最小インスタンス1) |
730h | $0.13 | 420h | 1.43GiB | 30GiB | $95.12 | $40.30 |
・CPU 1.2GHz、メモリ 768MB(F2) ・1日10,000req ・常時起動(最小インスタンス1) |
730h | $0.13 | 420h | 14.31GiB | 30GiB | $97.13 | $40.30 |
・CPU 1.2GHz、メモリ 768MB(F2) ・1日1,000req ・リクエスト時のみ(最小インスタンス0) |
4.17h | $0.13 | 420h | 1.43GiB | 30GiB | $0.77 | $0.00 |
・CPU 1.2GHz、メモリ 768MB(F2) ・1日10,000req ・リクエスト時のみ(最小インスタンス0) |
41.67h | $0.13 | 420h | 14.31GiB | 30GiB | $7.65 | $0.00 |
F4インスタンス(CPU 2.4GHz、メモリ 1,536MB)
前提 | 実行 時間 |
インスタンス料金 (1hあたり) |
インスタンス 無料枠 |
データ 転送量 |
データ転送 無料枠 |
合計金額 (無料枠なし) |
合計金額 (無料枠あり) |
---|---|---|---|---|---|---|---|
・CPU 2.4GHz、メモリ 1,536MB(F4) ・1日1,000req ・常時起動(最小インスタンス1) |
730h | $0.26 | 210h | 1.43GiB | 30GiB | $190.02 | $135.20 |
・CPU 2.4GHz、メモリ 1,536MB(F4) ・1日10,000req ・常時起動(最小インスタンス1) |
730h | $0.26 | 210h | 14.31GiB | 30GiB | $192.03 | $135.20 |
・CPU 2.4GHz、メモリ 1,536MB(F4) ・1日100,000req ・常時起動(最小インスタンス1) |
730h | $0.26 | 210h | 143.05GiB | 30GiB | $212.12 | $152.84 |
・CPU 2.4GHz、メモリ 1,536MB(F4) ・1日1,000req ・リクエスト時のみ(最小インスタンス0) |
4.17h | $0.26 | 210h | 1.43GiB | 30GiB | $1.31 | $0.00 |
・CPU 2.4GHz、メモリ 1,536MB(F4) ・1日10,000req ・リクエスト時のみ(最小インスタンス0) |
41.67h | $0.26 | 210h | 14.31GiB | 30GiB | $13.07 | $0.00 |
・CPU 2.4GHz、メモリ 1,536MB(F4) ・1日100,000req ・リクエスト時のみ(最小インスタンス0) |
416.67h | $0.26 | 210h | 143.05GiB | 30GiB | $130.65 | $71.37 |
- ※2025年6月時点での計算
- ※全て東京リージョン
- ※データ転送料は1GiBあたり$0.156で計算
- ※常時起動時は730hで計算(365日×1日24時間÷12ヶ月)
- ※1リクエスト500ミリ秒、50KBで計算
- ※実行時間の計算方法:
- 1000req/day * 30day * 0.5s / 60 / 60 = 4.17h
- ※データ転送量の計算方法:
- 1000req/day * 30day * 50KB / 1024 / 1024 = 1.43GiB
- ※インスタンス実行時間の無料枠について、F4インスタンスを1時間使用した場合はF1を4インスタンス分使用したとして計算されるので、無料枠の時間は下記のようになる(公式ツールで確認したが、微妙に誤差があるのは余剰無料枠分と思われる?)
- F1:28h * 30day = 840h
- F2:14h * 30day = 420h
- F4:7h * 30day = 210h
【ポイント】
常時起動(最小インスタンス1)でもF1インスタンスであれば十分無料枠に収まりますね。ただF2インスタンスで常時起動(最小インスタンス1)にしてしまうと無料枠から大幅にはみ出してしまうので注意が必要です。あとはデータ転送量の無料枠が大きい(30GB)ので、コストを抑えやすいのも嬉しいところですね
参考資料・リンク
- App Engine の料金
https://cloud.google.com/appengine/pricing?hl=ja - 公式計算ツール
https://cloud.google.com/products/calculator?hl=ja - インスタンスのクラス
https://cloud.google.com/appengine/docs/standard?hl=ja - 無料枠について
https://cloud.google.com/free/docs/free-cloud-features#app-engine
Cloud Run
- 主にインスタンス使用料(CPU、メモリ)+リクエスト料+データ転送料(送信)の合算
- 東京リージョンなのでティア1で計算
- データ転送量に関してはCloud Runを使う場合プレミアムネットワークが使用されるのでプレミアムティアで計算する
- 公式の計算ツールでは無料枠が含まれていないので注意
こちらも最安で運用した場合の料金がいくらかかるかを、課金額が大きく異なってくる下記3種類に分けて調べてみます
- ①インスタンスベース
- ②リクエストベース(最小インスタンス0)
- ③リクエストベース(最小インスタンス1)
①インスタンスベース
- インスタンスベースの場合、最低CPUは1GHz〜からなのでCPU 1GHz、メモリ 0.5GiBで計算
CPU使用料
- 無料枠を超えた場合 $0.00001800 / vCPU 秒
- 無料: 1 か月あたりの最初の 240,000 vCPU 秒は無料
計算式:
CPU使用量 = CPU実行時間 * CPU
CPU使用料 = CPU使用量 * 1vCPU料金
CPU無料枠 = 無料vCPU-秒 * 1vCPU料金
CPU使用料(無料枠あり)= CPU使用料 - CPU無料枠
(60s * 60m * 730h) * 1vCPU = 2628000vCPU-s
2628000vCPU-s * $0.000018 = $47.304
240000CPU-s * $0.000018 = $4.32
$47.304 - $4.32 = $42.984
(60 * 60 * 730) * 1 = 2628000
2628000 * 0.000018 = 47.304
240000 * 0.000018 = 4.32
47.304 - 4.32 = 42.984
インスタンスベースのCPU使用料は42.984ドル
メモリ使用料
- 無料枠を超えた場合 $0.00000200 / GiB 秒
- 無料: 1 か月あたり最初の 450,000 GiB-秒は無料
計算式:
メモリ使用量 = メモリ実行時間 * メモリ
メモリ使用料 = メモリ使用量 * メモリ料金
メモリ無料枠 = 無料メモリGiB-秒 * メモリ料金
メモリ使用料(無料枠あり)= メモリ使用料 - メモリ無料枠
(60m * 60s * 730h) * 0.5GiB/s = 1314000GiB-s
1314000GiB-s * $0.000002 = $2.628
450000GiB-s * $0.000002 = $0.9
$2.628 - $0.9 = 1.728
(60 * 60 * 730) * 0.5 = 1314000
1314000 * 0.000002 = 2.628
450000 * 0.000002 = 0.9
2.628 - 0.9 = 1.728
インスタンスベースのメモリ使用料は1.728ドル
リクエスト料
- 0ドル固定
インスタンス使用料(CPU、メモリ)+リクエスト料の合計
インスタンスベースの最低料金(無料枠含む)は
CPU使用料 42.984ドル + メモリ使用料は1.728ドル + リクエスト料 0ドル
で合計 44.71ドル でした
②リクエストベース(最小インスタンス0)
- CPU 0.6GHz、メモリ 0.5GiBで計算
- 1日1,000リクエスト
- 1リクエスト500ms、50KBで計算
CPU使用料
- 無料枠を超えた場合 $0.00002400 / vCPU 秒
- 無料: 1 か月あたりの最初の 180,000 vCPU 秒は無料
「1インスタンスあたりの同時リクエスト数」の設定があり、単純にリクエスト数分でvCPUの料金は計算されないので注意
計算式:
CPU使用量 = (1ヶ月のリクエスト数 / 1インスタンスあたりの同時リクエスト数) * 1リクエストの秒数 * CPU
CPU使用料 = CPU使用量 * 1vCPU料金
CPU無料枠 = 無料vCPU-秒 * 1vCPU料金
CPU使用料(無料枠あり)= CPU使用料 - CPU無料枠
(1000req * 30day / 80req) * 0.5s * 0.6vCPU/s = 112.5vCPU-s
112.5vCPU-s * $0.000024 = $0.0027
180000 * $0.000024 = $4.32
$0.0027 - $4.32 = $-4.3173
(1000 * 30 / 80) * 0.5 * 0.6 = 112.5
112.5 * 0.000024 = 0.0027
180000 * 0.000024 = 4.32
0.0027 - 4.32 = -4.3173
リクエストベース(最小インスタンス0)のCPU使用料は
112.5(vCPU 秒) < 180000(vCPU 秒)で無料枠内
メモリ使用料
- 無料枠を超えた場合 $0.00000250 / GiB 秒
- 無料: 1 か月あたり最初の 360,000 GiB-秒無料
計算式:
メモリ使用量 = (1ヶ月のリクエスト数 / 1インスタンスあたりの同時リクエスト数) * 1リクエストの秒数 * メモリ
メモリ使用料 = メモリ使用量 * メモリ料金
メモリ無料枠 = 無料メモリGiB-秒 * メモリ料金
メモリ使用料(無料枠あり) = メモリ使用料 - 無料枠
(1000req * 30day / 80req) * 0.5s * 0.5GiB/s = 93.75GiB-s
93.75GiB-s * $0.0000025 = $0.000234375
360000GiB-s * $0.0000025 = $0.9
$0.000234375 - $0.9 = -0.8997
(1000 * 30 / 80) * 0.5 * 0.5 = 93.75
93.75 * 0.0000025 = 0.000234375
360000 * 0.0000025 = 0.9
0.000234375 - 0.9 = -0.8997
リクエストベース(最小インスタンス0)のメモリ使用料は
93.75(GiB 秒) < 360000(GiB 秒)で無料枠内
リクエスト料
- 無料枠を超えた場合 $0.40 / 100 万リクエスト
- 無料: 1 か月あたり 200 万リクエスト無料
計算式:
リクエスト料 = 1ヶ月のリクエスト数 * (100万リクエストあたりの料金 / 100万リクエスト)
無料枠 = 無料リクエスト数 * (100万リクエストあたりの料金 / 100万リクエスト)
リクエスト料(無料枠あり) = リクエスト料 - 無料枠
(1000req * 30day) * $0.4 / 1000000 = $0.012
2000000req * $0.4 / 1000000 = $0.8
$0.012 - $0.8 = $-0.788
(1000 * 30) * 0.4 / 1000000 = 0.012
2000000 * 0.4 / 1000000 = 0.8
0.012 - 0.8 = -0.788
リクエストベース(最小インスタンス0)のリクエスト料は
30000req < 2000000req で無料枠内
インスタンス使用料(CPU、メモリ)+リクエスト料の合計
リクエストベース(最小インスタンス0)の最低料金(無料枠含む)は
CPU使用料 0 + メモリ使用料は 0ドル + リクエスト料 0ドル
で合計 0ドル でした
③リクエストベース(最小インスタンス1)
- 最低スペックのCPU 0.6GHz、メモリ 0.5GiBで計算
- 1日1,000リクエスト
- 1リクエスト500ms、50KBで計算
CPU使用料
- 無料枠を超えた場合 $0.00002400 / vCPU 秒
- 無料: 1 か月あたりの最初の 180,000 vCPU 秒は無料
- アイドル状態の最小インスタンスの場合: $0.00000250
(1000req * 30day / 80) * 0.5s = 187.5s
187.5s * 0.6vCPU = 112.5s
(112.5s - 180000s) * 0.6vCPU * 0.000024ドル = -2.5893ドル -> 無料枠内
計算式:
CPU実行時間 = (1ヶ月のリクエスト数 / 1インスタンスあたりの同時リクエスト数) * 1リクエストの秒数
アイドル時のCPU実行時間 = (1ヶ月のリクエスト秒数 - CPU実行時間)
CPU使用量 = CPU実行時間 * CPU
CPU使用料 = CPU使用量 * 1vCPU料金
CPU無料枠 = 無料vCPU-秒 * 1vCPU料金
CPU使用料(無料枠あり) = CPU使用料 - CPU無料枠
アイドル時のCPU使用料 = アイドル時のCPU実行時間 * CPU * 1vCPU料金
(1000req * 30day / 80req) * 0.5s = 187.5s
((60s * 60m * 730h) - 187.5s) = 2627812.5s
187.5s * 0.6vCPU/s = 112.5vCPU-s
112.5vCPU-s * $0.000024 = $0.0027
180000vCPU-s * $0.000024 = $4.32
$0.0027 - $4.32 = $-4.3173 -> 無料枠内
2627812.5s * 0.6vCPU/s * $0.0000025 = $3.94171875
(1000 * 30 / 80) * 0.5 = 187.5
((60 * 60 * 730) - 187.5) = 2627812.5
187.5 * 0.6 = 112.5
112.5 * 0.000024 = 0.0027
180000 * 0.000024 = 4.32
0.0027 - 4.32 = -4.3173
2627812.5 * 0.6 * 0.0000025 = 3.94171875
リクエストベース(最小インスタンス1)の
CPU使用料は 112.5(vCPU 秒) < 180000(vCPU 秒)で無料枠内
リクエストベース(最小インスタンス1)の
アイドル時のCPU使用料は 3.94ドル
メモリ使用料
- 無料枠を超えた場合 $0.00000250 / GiB 秒
- 無料: 1 か月あたり最初の 360,000 GiB-秒無料
- アイドル状態の最小インスタンスの場合: $0.00000250
計算式:
メモリ実行時間 = (1ヶ月のリクエスト数 / 1インスタンスあたりの同時リクエスト数) * 1リクエストの秒数
アイドル時のメモリ実行時間 = (1ヶ月のリクエスト秒数 - メモリ実行時間)
メモリ使用量 = メモリ実行時間 * メモリ
メモリ使用料 = メモリ使用量 * メモリ料金
メモリ無料枠 = 無料メモリGiB-s * メモリ料金
メモリ使用料(無料枠あり) = メモリ使用料 - メモリ無料枠
アイドル時のメモリ使用料 = アイドル時のメモリ実行時間 * メモリ * メモリ料金
(1000req * 30day / 80req) * 0.5s = 187.5s
((60s * 6m * 730h) - 187.5s) = 2627812.5s
187.5s * 0.5GiB = 93.75GiB/s
93.75GiB-s * $0.0000025 = $0.000234375
360000GiB-s * $0.0000025 = $0.9
0.000234375 - 0.9 = -0.899765625 -> 無料枠内
2627812.5 * 0.5 * 0.0000025 = 3.284765625
(1000 * 30 / 80) * 0.5 = 187.5
((60 * 60 * 730) - 187.5) = 2627812.5
187.5 * 0.5 = 93.75
93.75 * 0.0000025 = 0.000234375
360000 * 0.0000025 = 0.9
0.000234375 - 0.9 = -0.899765625
2627812.5 * 0.5 * 0.0000025 = 3.284765625
リクエストベース(最小インスタンス1)の
メモリ使用料は 93.75(GiB 秒)< 360000(GiB 秒)で無料枠内
リクエストベース(最小インスタンス1)の
アイドル時のメモリ使用料は 3.28ドル
リクエスト料
インスタンス使用料(CPU、メモリ)+リクエスト料の合計
リクエストベース(最小インスタンス1)の最低料金(無料枠含む)は
CPU使用料 0ドル + アイドル時のCPU使用料 3.94ドル + メモリ使用料は 0ドル + アイドル時のメモリ使用料 3.28ドル + リクエスト料 0ドル
で合計 7.22ドル でした
インターネット データ転送料金(送信)
- 東京リージョン -> アジア(韓国、インドネシアを除く)間のデータ転送として計算($0.12 ※〜1,024GiBまで)
- 1リクエスト50KBで計算
計算式:
一ヶ月のリクエスト数 = 一日のリクエスト数 * 30日
1ヶ月のデータ転送量 = 一ヶ月のリクエスト数 * 1リクエストのデータ転送量(GiB)
データ転送料金 = 1ヶ月のデータ転送量 * データ転送料金
(1000req * 30day) = 30000req
30000req * (50KB / 1024 / 1024) = 1.43GiB
1.43GiB * 0.12ドル/GiB = 0.1716ドル
(1000 * 30) = 30000
30000 * (50 / 1024 /1024) = 1.43
1.43 * 0.12 = 0.1716
データ転送量は3万リクエスト(1.43GiB)で0.17ドルでした
最安で運用した場合の料金
- インスタンスベースの最低料金(無料枠含む)は合計 44.71ドル
- CPU 1GHz、メモリ 0.5GiB
- 常時起動なのでリクエスト数は関係なし
- リクエストベース(最小インスタンス0)の最低料金(無料枠含む)は合計 0ドル
- CPU 0.6GHz、メモリ 0.5GiB
- 月3万リクエスト(187.5秒、1.43GiB)
- リクエストベース(最小インスタンス1)の最低料金(無料枠含む)は合計 7.22ドル
- CPU 0.6GHz、メモリ 0.5GiB
- 月3万リクエスト(187.5秒、1.43GiB)
上記それぞれの合計額にデータ転送料を加算した金額がCloud Runの料金です
最安で運用したい場合(無料枠含む)は「リクエストベース(最小インスタンス0)」を選択して
データ転送量を抑えれば0.2ドル内(月3万リクエストで1リクエスト50KBの場合)で収まりそうという事が分かりました
Cloud Run料金表まとめ
下記観点で表にまとめてみました
- 種類
- インスタンスベース
- リクエストベース(最小インスタンス0)
- リクエストベース(最小インスタンス1)
- CPU、メモリ
- CPU 1GHz、メモリ 0.5GiB
- CPU 1GHz、メモリ 1GiB
- CPU 2GHz、メモリ 2GiB
- リクエスト数
- 1,000req
- 10,000req
- 100,000req
最低スペック
- 最終的な合計金額は合計金額(無料枠あり・なし)にデータ転送料金を加算してください
前提 | CPU使用料 (無料枠なし) |
アイドル時の CPU使用料 |
メモリ使用料 (無料枠なし) |
アイドル時の メモリ使用料 |
リクエスト料 | 合計金額 (無料枠なし) |
合計金額 (無料枠あり) |
データ転送料金 |
---|---|---|---|---|---|---|---|---|
・インスタンスベース ・CPU 1GHz、メモリ 0.5GiB ・1日1,000リクエスト |
$47.30 | $2.63 | $0.00 | $49.93 | $44.71 | (+$0.17) | ||
・インスタンスベース ・CPU 1GHz、メモリ 0.5GiB ・1日10,000リクエスト |
$47.30 | $2.63 | $0.00 | $49.93 | $44.71 | (+$1.72) | ||
・リクエストベース(最小インスタンス数0) ・CPU 0.6GHz、メモリ 0.5GiB ・1日1,000リクエスト |
$0.00 | $0.00 | $0.00 | $0.00 | $0.00 | (+$0.17) | ||
・リクエストベース(最小インスタンス数0) ・CPU 0.6GHz、メモリ 0.5GiB ・1日10,000リクエスト |
$0.03 | $0.00 | $0.00 | $0.03 | $0.00 | (+$1.72) | ||
・リクエストベース(最小インスタンス数1) ・CPU 0.6GHz、メモリ 0.5GiB ・1日1,000リクエスト |
$0.00 | $3.94 | $0.00 | $3.28 | $0.00 | $7.23 | $7.23 | (+$0.17) |
・リクエストベース(最小インスタンス数1) ・CPU 0.6GHz、メモリ 0.5GiB ・1日10,000リクエスト |
$0.03 | $3.94 | $0.00 | $3.28 | $0.00 | $7.25 | $7.22 | (+$1.72) |
続きを見る
CPU 1GHz、メモリ 1GiB
前提 | CPU使用料 (無料枠なし) |
アイドル時の CPU使用料 |
メモリ使用料 (無料枠なし) |
アイドル時の メモリ使用料 |
リクエスト料 | 合計金額 (無料枠なし) |
合計金額 (無料枠あり) |
データ転送料金 |
---|---|---|---|---|---|---|---|---|
・インスタンスベース(最小インスタンス数0) ・CPU 1GHz、メモリ 1GiB ・1日1,000リクエスト |
$47.30 | $5.26 | $0.00 | $52.56 | $47.34 | (+$0.17) | ||
・インスタンスベース(最小インスタンス数0) ・CPU 1GHz、メモリ 1GiB ・1日10,000リクエスト |
$47.30 | $5.26 | $0.00 | $52.56 | $47.34 | (+$1.72) | ||
・リクエストベース(最小インスタンス数0) ・CPU 1GHz、メモリ 1GiB ・1日1,000リクエスト |
$0.00 | $0.00 | $0.00 | $0.00 | $0.00 | (+$0.17) | ||
・リクエストベース(最小インスタンス数0) ・CPU 1GHz、メモリ 1GiB ・1日10,000リクエスト |
$0.05 | $0.00 | $0.00 | $0.05 | $0.00 | (+$1.72) | ||
・リクエストベース(最小インスタンス数1) ・CPU 1GHz、メモリ 1GiB ・1日1,000リクエスト |
$0.00 | $6.57 | $0.00 | $6.57 | $0.00 | $13.14 | $13.14 | (+$0.17) |
・リクエストベース(最小インスタンス数1) ・CPU 1GHz、メモリ 1GiB ・1日10,000リクエスト |
$0.05 | $6.57 | $0.00 | $6.57 | $0.00 | $13.19 | $13.13 | (+$1.72) |
CPU 2GHz、メモリ 2GiB
前提 | CPU使用料 (無料枠なし) |
アイドル時の CPU使用料 |
メモリ使用料 (無料枠なし) |
アイドル時の メモリ使用料 |
リクエスト料 | 合計金額 (無料枠なし) |
合計金額 (無料枠あり) |
データ転送料金 |
---|---|---|---|---|---|---|---|---|
・インスタンスベース ・CPU 2GHz、メモリ 2GiB ・1日1,000リクエスト |
$94.61 | $10.51 | $0.00 | $105.12 | $99.90 | (+$0.17) | ||
・インスタンスベース ・CPU 2GHz、メモリ 2GiB ・1日10,000リクエスト |
$94.61 | $10.51 | $0.00 | $105.12 | $99.90 | (+$1.72) | ||
・インスタンスベース ・CPU 2GHz、メモリ 2GiB ・1日100,000リクエスト |
$94.61 | $10.51 | $0.00 | $105.12 | $99.90 | (+$17.17) | ||
・リクエストベース(最小インスタンス数0) ・CPU 2GHz、メモリ 2GiB ・1日1,000リクエスト |
$0.01 | $0.00 | $0.00 | $0.01 | $0.00 | (+$0.17) | ||
・リクエストベース(最小インスタンス数0) ・CPU 2GHz、メモリ 2GiB ・1日10,000リクエスト |
$0.09 | $0.01 | $0.00 | $0.10 | $0.00 | (+$1.72) | ||
・リクエストベース(最小インスタンス数0) ・CPU 2GHz、メモリ 2GiB ・1日100,000リクエスト |
$0.90 | $0.09 | $0.40 | $1.39 | $0.40 | (+$17.17) | ||
・リクエストベース(最小インスタンス数1) ・CPU 2GHz、メモリ 2GiB ・1日1,000リクエスト |
$0.01 | $13.14 | $0.00 | $13.14 | $0.00 | $26.29 | $26.28 | (+$0.17) |
・リクエストベース(最小インスタンス数1) ・CPU 2GHz、メモリ 2GiB ・1日10,000リクエスト |
$0.09 | $13.13 | $0.01 | $13.13 | $0.00 | $26.36 | $26.26 | (+$1.72) |
・リクエストベース(最小インスタンス数1) ・CPU 2GHz、メモリ 2GiB ・1日100,000リクエスト |
$0.90 | $13.05 | $0.09 | $13.05 | $0.40 | $27.49 | $26.49 | (+$17.17) |
- ※2025年6月時点での計算
- ※全て東京リージョン(ティア1)
- ※データ転送料は東京リージョン -> アジア(韓国、インドネシアを除く)間のデータ転送として1GiBあたり$0.12で計算(〜1,024GiBまで)
- ※常時起動時は2628000秒で計算(60秒×60秒×730時間)
- ※1リクエスト500ミリ秒、50KBで計算
- ※実行時間の計算方法:
- 1000req/day * 30day * 0.5s / 80(同時リクエスト数) = 187.5s
- ※データ転送量の計算方法:
- 1000req/day * 30day * 50KB / 1024 / 1024 = 1.43GiB
- 「インスタンスベース」の場合、CPUの最低値で選択できる1GHzで計算
【ポイント】
インスタンスベースで起動した場合は、たとえ最低スペックで無料枠を含めても40ドル以上かかるので注意が必要です。
リクエストベース(最小インスタンス数1)の場合はアイドル時のCPU・メモリの使用料を含めると7ドル以上かかるのでこれまた注意が必要です(アイドル状態の無料枠について公式ドキュメントに記述がないかつ、実際に請求がきたと思われる記事があったのでアイドル時の料金は無料枠に含まれないと思われます)
最安運用を考えた時に、リクエストベース(最小インスタンス数0)であれば CPU 2GHz、メモリ 2GiBであっても十分無料枠内に収まりますが、データ転送量が1GiBあたり0.17ドル(20円ほど)かかるのでデータ量の多い画像やコンテンツを取り扱う場合は注意が必要そうです。
参考資料・リンク
- Cloud Run の料金
https://cloud.google.com/run/pricing?hl=ja - 公式計算ツール
https://cloud.google.com/products/calculator?hl=ja - プレミアム ティアの料金(インターネットのデータ転送速度)
https://cloud.google.com/vpc/network-pricing?hl=ja#tg0-t4
App EngineとCloud Run結局どっちがいいのか
無料枠について
App Engine | Cloud Run リクエストベース (最小インスタンス数0) |
|
---|---|---|
インスタンス起動時間 | • F1: 840時間(CPU 0.6GHz、メモリ 384MB) • F2: 420時間(CPU 1.2GHz、メモリ 768MB) • F4: 210時間(CPU 2.4GHz、メモリ 1,536MB) |
• 200時間(0.25vCPU、メモリ0.5GiB) • 100時間(0.5vCPU、メモリ1GiB) • 50時間(1vCPU、メモリ2GiB) |
リクエスト数 | 考慮不要 | 200万リクエスト以内 |
データ転送量 | 1日1GiB(月30GiB) | 北米リージョンのみ月1GiB |
App Engineがおすすめな人
- 低スペック(F1 CPU 0.6GHz、メモリ 384MB)でも良いが、常時起動させつつ無料枠内で収めたい
- 1日1GiB(月30GiB)のデータ転送量を無料で使いたい
- 用意されたCPUやメモリ、言語やランタイムで特に問題ない
Cloud Runがおすすめな人
- 自前で好きな言語やランタイム、動作環境を用意したい
- ある程度自由にメモリやCPUを設定したい(最大8vCPU、メモリ32GiB)
App Engine、Cloud Runどちらも無料枠で十分運用できそうと分かったので、今回は自由に環境を構築できるCloud Runを使いたいと思います。
Cloud SQL
Cloud SQLを最安で運用した場合いくらするのかを調べていきます
前提
- Enterprise エディション
- 今回はシングルリージョンで構成するのでHA料金は考慮しない
インスタンス
DBインスタンスの料金を調べたところ、東京リージョンより台湾の方が安いので台湾リージョンを選択しました
- db-f1-micro CPU(共有)RAM 0.6GB
- 東京リージョン:$10.22/month
- 台湾リージョン:$7.665/month
ネットワークとストレージ
- ネットワーク料金に関してはCloud Runと同じリージョンに配置するので考慮しない
- バックアップ料金はDBのサイズによって変わるので今回は考慮しない
ストレージはSSDとHDDで月1GBあたり約0.1ドルほどしか変わらないのでSSDにしようと思ったんですが、設定できる最小ストレージが10GBで約1ドルの差が出てしまうので今回は最安を目指すためHDDを選択。
- Storage (※台湾リージョン)
- $0.17 per GB/month for SSD storage capacity
- $0.09 per GB/month for HDD storage capacity
- $0.08 per GB/month for backups (used)
最安で運用した場合の料金
インスタンス料金 7.665ドル + ストレージ料金 0.9ドル
で合計 8.565ドル となりました
HerokuとGoogle比較まとめ
最後にHerokuとGoogle Cloudを比較してみました
Heroku | Google Cloud | |
---|---|---|
アプリ | Eco 5ドル固定 1000時間 1x - 4x コンピュート 512 MB RAM |
Cloud Run リクエストベース(最小インスタンス数0) 0ドル〜 200時間(無料枠) 0.25vCPU 512MiB RAM ※ティア1リージョン前提(東京、台湾、アイオワ等) |
DB | Essential 0 5ドル ・1 GB ストレージ ・20 接続、行数無制限 |
Cloud SQL 8.565ドル (インスタンス:7.665ドル、ストレージ:0.9ドル) ・db-f1-micro CPU(共有) RAM 0.6GB ・HDD 10GB ストレージ(最小) ※最安の台湾リージョン前提 |
ストレージ | 他サービスで 代替する必要あり |
Cloud Storage 0ドル〜 ・5GB(スタンダードクラス) ・クラスAオペレーション 5,000回 (オブジェクトのアップロード、コピー、一覧取得) ・クラスBオペレーション 50,000回 (オブジェクトのダウンロード) ・オブジェクトの削除は無料 ・100GBのGoogle Cloud内のデータ転送(オーストラリア と中国を除く) ※Google Cloud外はデータ転送料がかかるので注意 ※無料枠が存在する北米リージョン前提 |
合計 | 10ドル | 8.565ドル |
調べてみた結果、Google Cloudの方が安く運用できそうという結論(リクエスト時のみ起動が前提にはなりますが)になったので、早速Google Cloudを個人開発に使ってみたいと思います!
おまけ
AIで料金を見積もってみた
Cloud Runをリクエストベース(最小インスタンス数1)で動かした場合、料金はいくらになりますか?
無料枠は含めないでください
- 東京リージョン
- CPU 2GHz、メモリ 2GiB
- 月300万リクエスト
- 1リクエスト500ミリ秒、50KB
https://cloud.google.com/run/pricing?hl=ja
- CPU料金: $0.90
- メモリ料金: $0.09
- アイドル時のCPU料金: $13.05
- アイドル時のメモリ料金: $13.05
- リクエスト料金: $0.4
- データ転送量: $17.17
正解はインスタンス使用料($27.49)+データ転送料($17.17)で合計 約$44.66 です
o4-mini(推論モード)の回答
回答を見る
以下の前提で計算します(無料枠を含めない):
* リージョン:東京(Tier 1)
* 最小インスタンス数:1
* CPU:2 vCPU
* メモリ:2 GiB
* 月あたりリクエスト数:3,000,000
* 1リクエストあたり実行時間:0.5 秒
* 1リクエストあたりのメモリ常駐量:2 GiB
* 1リクエストあたりのデータ転送量は無視(50 KBは無料枠外でも通信料金が微小のため)
---
## 1. 常時アイドル(最小インスタンス数1)
| リソース | 秒数 | 単価 | コスト計算 | 金額(USD) |
| :----- | :--------------------- | :-------------------- | :------------------------- | :----------- |
| CPU | 2 vCPU × 2,592,000 s/月 | \$0.00001800 / vCPU-s | 2 × 2,592,000 × 0.00001800 | \$93.31 |
| メモリ | 2 GiB × 2,592,000 s/月 | \$0.00000200 / GiB-s | 2 × 2,592,000 × 0.00000200 | \$10.37 |
| **合計** | — | — | — | **\$103.68** |
> 上記単価(CPU常時割り当て・メモリ)は Tier 1(東京)における「Services with CPU always allocated」料金です ([economize.cloud][1])
---
## 2. リクエスト実行時
| リソース | 秒数 | 単価 | コスト計算 | 金額(USD) |
| :----- | :------------------------------------------------ | :-------------------- | :----------------------------- | :---------- |
| CPU | 2 vCPU × (3,000,000 件 × 0.5 s) = 3,000,000 vCPU-s | \$0.00002400 / vCPU-s | 3,000,000 × 0.00002400 | \$72.00 |
| メモリ | 2 GiB × (3,000,000 件 × 0.5 s) = 3,000,000 GiB-s | \$0.00000250 / GiB-s | 3,000,000 × 0.00000250 | \$7.50 |
| リクエスト数 | 3,000,000 件 | \$0.40 / 1,000,000 件 | (3,000,000 / 1,000,000) × 0.40 | \$1.20 |
| **合計** | — | — | — | **\$80.70** |
> 上記単価(CPU・メモリ・リクエスト)は Tier 1(東京)の「Services with CPU only allocated during request」料金です ([economize.cloud][1])
---
## 3. 月額合計
常時アイドル : $103.68
リクエスト実行時: $80.70
——————————————
合計 : $184.38
したがって、**無料枠を含めない場合の想定月額費用は約 \$184.38** となります。
[1]: https://www.economize.cloud/resources/gcp/pricing/cloud-run/?utm_source=chatgpt.com "GCP Cloud Run Pricing"
計算を精査した結果
- ×アイドル時の単価が間違っている
- ×同時リクエスト数が考慮されていない
- ×データ転送料について考慮or言及されていない
といった感じで正解から大きくずれた計算結果になってしまいました。GPT-4oも使ってみましたがアイドル時の料金が見積もりから漏れていたのでやはりo4-miniの方が比較的賢いようです
Claude Sonnet 4の回答
回答を見る
Google Cloud Run の東京リージョンでの料金を計算いたします。
東京リージョン(asia-northeast1)は Tier 1 料金が適用されます。リクエストベースの課金で最小インスタンス数1の条件で計算します。
**設定条件:**
- 東京リージョン(asia-northeast1)
- CPU 2vCPU、メモリ 2GiB
- 月300万リクエスト
- 1リクエスト500ミリ秒、50KB
- 最小インスタンス数1
- 無料枠は除外
**料金計算:**
**1. リクエスト料金**
300万リクエスト × $0.40 / 100万リクエスト = $1.20
**2. vCPU料金(リクエスト処理中)**
処理時間の計算:
- 同時リクエスト数を80と仮定(一般的な設定)
- vCPU秒 = (300万リクエスト × 0.5秒) ÷ 80 = 18,750 vCPU秒
- 料金 = 18,750 vCPU秒 × $0.00001992 / vCPU秒 = $0.37
**3. メモリ料金(リクエスト処理中)**
- メモリ秒 = 18,750 × 2GiB = 37,500 GiB秒
- 料金 = 37,500 GiB秒 × $0.000002075 / GiB秒 = $0.08
**4. 最小インスタンス(アイドル状態)料金**
1か月 = 30.44日 × 24時間 × 3600秒 = 2,629,744秒
アイドル時間 = 2,629,744秒 - 18,750秒(アクティブ時間)= 2,610,994秒
- アイドル vCPU料金 = 2,610,994秒 × 2vCPU × $0.00000250 / vCPU秒 = $13.05
- アイドル メモリ料金 = 2,610,994秒 × 2GiB × $0.00000250 / GiB秒 = $13.05
**合計月額料金:**
$1.20 + $0.37 + $0.08 + $13.05 + $13.05 = **$27.75**
この料金にはデータ転送料金(送信50KB × 300万リクエスト = 約150GB)は含まれていません。データ転送料金も追加で発生する可能性があります。
- ×なぜかCUD(確約利用割引)で計算されている
同時リクエスト数も考慮され、データ転送量についても言及されており、ほぼほぼ正解通りの結果となりました。ただ何も言わずにCUD料金で計算されるのでやはり完全に信用するのも注意が必要です。
といった感じで、Claude Sonnet 4であればかなり精度高く見積もれますが、きちんと料金体系を把握していないと「そもそも正解かどうか分からない」「一部料金が見積もりから漏れており大量の請求が来た(アイドル状態時の料金やデータ転送量)」なんて事になるのでAIを使用するのも参考程度に留めましょう。
注意
本記事は2025年6月時点の情報をもとにしています。
Google Cloudの料金体系は変更される可能性が高いため、必ず公式ドキュメントや計算ツールで最新情報を確認してください。
Discussion