はじめに
クラウドに明るい方からすれば当たり前の内容かもしれませんが、Cloud SQLの検証をしていたところ想像以上に費用がかかっていたのでその調査をしました。
検証していた内容
Cloud SQLを使って検証していた内容は以下のとおりです。
- Cloud RunとCloud SQLの接続を検証
- Cloud Runで
SELECT now();
のクエリを実行 - Cloud SQLのDBにはテーブル作成も行っておらず、データ投入も行っていない
- インスタンスはデフォルトの設定で作成
- 2日間ほど実施
費用の内訳
GCPのレポートを表示し、 グループ条件
を SKU
に変更して、内訳を確認します。
各SKUの単価はSKUs | Google Cloudで確認できます。
10円以上かかっている以下の3件について詳しく見ていきます。
- DB custom CORE running in Japan (with 30% promotional discount)
- DB custom RAM running in Japan (with 30% promotional discount)
- Storage PD SSD for DB in Japan
DB custom CORE running in Japan (with 30% promotional discount)
- CPUに関する費用です
- 48時間利用で282円かかっています
-
SKUsによると1時間あたり約5.878円なので妥当です
- この金額はCloud SQL の料金に記載のvCPUの金額とも一致します
- 下記グラフを見て分かる通り使用率に関わらず費用がかかります
DB custom RAM running in Japan (with 30% promotional discount)
- メモリに関する費用です
- 180GiB hour利用で179円かかっています
-
SKUsによるとGib hour単位あたり約0.996円なので妥当です
- この金額はCloud SQL の料金に記載のメモリの金額とも一致します
- CPUの利用時間の48時間から逆算すると1時間あたり3.75GiB(180GiB hour/48hour)使用している計算になります
- ただし、メモリ使用量のグラフを見ると最大626.3MiBしか利用しておらずグラフに載らない部分があるのかもしれません
Storage PD SSD for DB in Japan
- ストレージに関する費用です
- 0.65GiB month利用で16円かかっています
-
SKUsによるとGiB month単位あたり約24.191円なので妥当です
- この金額はCloud SQL の料金に記載のストレージの金額とも一致します
- ストレージ使用量のグラフ配下でした
- テーブル作成等行わなくてもこれくらいのコストはかかるようです
対策
インスタンス起動しているだけでもこれくらいの費用がかかるため、費用を抑えたい場合はこまめにインスタンスを停止させるか、費用が小さいリージョンを使うと良さそうです。