71
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google CloudのロードバランサーとCDNのコスト計算で困った話

71
Last updated at Posted at 2025-12-08

1.はじめに

本記事では、Google CloudのCloud Load BalancingとCloud CDNのランニングコストを計算するときに、間違えた点と料金計算ツールが何を計算しているのか、を記載します。
本記事は、Googleの方に質問した回答をもとに記載しています。
「Google Cloudのランニングコスト算出は完璧だ!!」という見積もり作成力がプロの人向けではありません。
(むしろ、記載間違いや認識間違いがあれば、ご指摘いただけると幸いです。)

2.コスト計算の結果が認識とずれてしまった話

Google Cloudの料金計算ツールを使用して、「Cloud Load BalancingとCloud CDNを併用した場合」と「Cloud Load Balancingのみを使用した場合」のコストを比較した結果、「Cloud Load Balancingのみを使用した場合」のコストの方が安くなってしまいました。
一般的にCloud CDNを使用すると料金が安くなると言われており、なぜ併用したパターンの方のコストが大きくなってしまうのか…?

→原因は「ロードバランサーのみの場合のインターネットデータ転送料金のコスト計上漏れ」と「CDNを使用した場合のoutbound転送料金2重課金」です

簡単に、コスト計算ツールを使用しながら、見積もり失敗パターンと見積もり成功(と認識している)パターンを比較してみます。

計算するために、前提条件がたくさんいるので、今回は以下のように適当に仮置きしておきます。

1カ月ごとの前提条件
項目 条件
ロードバランサーの種類 グローバル外部ALB
CDNのキャッシュヒット率 60%
クライアントからロードバランサー背後のWebサーバへのリクエストデータ量 1,000GiB
Webサーバからクライアントへのデータ転送量 1,000GiB
クライアントからのリクエスト数 1million

3.失敗パターン

失敗した見積もりパターンを記載していきます。

3.1 (失敗例)ロードバランサーのみ使用した場合

1カ月ごとの前提条件からロードバランサーの料金計算ツールで入力する値を以下の表の通りとしました。

ロードバランサーの入力値
項目 入力値
ロードバランサーの種類 グローバル外部ALB
転送ルール 1ルール
ロードバランサで処理された受信データ 1,000GiB
ロードバランサで処理された送信データ 1,000GiB

結果は、6,422円/1Mです。(2025年12月1日時点)

image.png

3.2 (失敗例)ロードバランサーとCDNを併用した場合

ロードバランサーとCDNを併用した場合を記載します。
前提条件から、ロードバランサーとCDNの料金計算ツールに入れる値は以下の表の通りとしました。

Cloud CDNの入力値
項目 入力値 備考
キャッシュ データ転送(送信)※Asia Pacific 1,000GiB ロードバランサーで処理された送信データと同じ
キャッシュ フィル※Asia Pacific 400GiB キャッシュヒット率60%とし、1000GiB×40%がキャッシュフィルとして発生すると仮定
キャッシュ ヒット 1million クライアントからのリクエスト数
ロードバランサーの入力値
項目 入力値 備考
ロードバランサーの種類 グローバル外部ALB -
転送ルール 1ルール -
ロードバランサで処理された受信データ 400GiB キャッシュミスの40%がかかる
ロードバランサで処理された送信データ 400GiB キャッシュミスの40%がかかる

Cloud CDNの金額は、15,010円です(2025年12月1日時点)

image.png

ロードバランサーの金額は、4,233円です。(2025年12月1日時点)

image.png

つまり、合算すると19,243円となります。

3.3 失敗した見積もりの金額比較

では、改めて誤った見積もりの金額を比較すると、以下のようになります。
「CDN使用しているのに、CDN使用しているほうが金額大きくなるってどういうこと??」という事象が発生しました。

金額比較
パターン 金額
ロードバランサーのみ 6,422円
ロードバランサーとCDN 19,243円

4.正しい(と認識している)パターン

では、改めて前提条件を変えないまま、計算入力を正しい(と認識している)ものに修正していきます。

4.1 ロードバランサーのみ使用した場合

ロードバランサーの計算に関しては、何も変更はありません。
3.1で計算した結果6,422円/1Mをそのまま使用します。

一方で、インターネットデータ転送料金の金額計算が追加で必要になります。
これはロードバランサーのエッジから各クライアントへ転送されるデータに対して、料金が課金されるものです。
ロードバランサーの料金計算ツールには含まれておらず、Date Transferで計算する必要があります。

インターネットデータ転送料金の入力値
項目 入力値 備考
Network Service Tier Premium -
データ量 1000GiB ロードバランサで処理された送信データと同じにする
Source Location Tokyo LBバックエンドのリージョン
Destination Location Asia クライアントのリージョン

結果は、18,241円/1Mです。(2025年12月1日時点)

image.png

ロードバランサーの料金とインターネットデータ転送料金の金額を合算します。

6,422円 + 18,241円 = 24,633円/1M

4.2 ロードバランサーとCDNを併用した場合

では、続いてロードバランサーとCDNを併用した場合のコスト計算を修正していきます。
まずは、Cloud CDNの入力値、こちらは3.2で計算した結果と変わりなしです。
そのため、金額は、15,010円です。

Cloud CDNの入力値
項目 入力値 備考
キャッシュ データ転送(送信)※Asia Pacific 1,000GiB ロードバランサーで処理された送信データと同じ
キャッシュ フィル※Asia Pacific 400GiB キャッシュヒット率60%とし、1000GiB×40%がキャッシュフィルとして発生すると仮定
キャッシュ ヒット 1million クライアントからのリクエスト数

続いて、ロードバランサーの料金計算を修正します。
修正する箇所は、ロードバランサで処理された送信データになります。
キャッシュミス分に関しては、ロードバランサーからの送信データ料金ではなく、キャッシュフィルでコストが発生するらしいです。

ロードバランサーの入力値
項目 入力値 備考
ロードバランサーの種類 グローバル外部ALB -
転送ルール 1ルール -
ロードバランサで処理された受信データ 400GiB キャッシュミスの40%がかかる
ロードバランサで処理された送信データ 400GiB→0GiB キャッシュミスの40%がかかる→キャッシュフィルで計上されるらしい

結果、ロードバランサーの金額は3,504円となります。

image.png

CDNの金額とロードバランサーの金額を合算します。

15,010円 + 3,504円 = 18,514円

ちなみに、インターネットデータ転送料金の計算は不要になります。
Cloud CDNを有効化した場合は、CDNのキャッシュ データ転送(送信)が適用されるためです。

4.3 見積もりの金額比較

では、改めて見積もりの金額を比較すると、以下のようになります。
CDNとロードバランサーを使用したほうが見積金額は安くなりました。
Cloud CDNを使用することの利点として、インターネットデータ転送料金がかからない、ロードバランサーのデータ処理費用が安くなるという利点があるようです。

金額比較
パターン 金額
ロードバランサーのみ 24,633円
ロードバランサーとCDN 18,514円

5.最後に

料金計算ツールがどのようにコストを計算してくれているのか、サービスを組み合わせるとどのようになるのか、を考えると、ランニングコストの算出って、難しすぎると常々思います。
公式ホームページでわからない点は、きちんとサポートに問い合わせするのが良いと思います。
本記事で「間違っているよ」という点を見つけてくださった方は、教えていただけると幸いです。

71
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
71
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?