料金

Cloud Pub/Sub の料金は下記に基づいて計算されます。

  • メッセージの取り込みと配信
  • シーク関連メッセージのストレージ: スナップショットと保持された確認済みメッセージ

メッセージの取り込みと配信

2019 年 6 月 20 日までの料金表

データ容量は、pull、push、パブリッシュの各オペレーションのメッセージ データと属性データを使用して計算されます。メッセージの取り込みと配信の料金は、月単位の送信されたデータ量に応じて計算されます。

1 か月あたりのデータ容量 TiB あたりの料金
最初の 10 GB $0.00
次の 50TiB $60
次の 100TiB $50
150TiB 超 $40
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。料金は TiB(240 バイト、約 1.01 兆バイト)単位です。

例: メッセージの取り込みと配信

ここでは、予想されるオペレーションの総費用について考えます。たとえば、アプリケーションで 2 つのサブスクリプションがあるトピックに 1,024 KB のメッセージを 1 MiB/秒でパブリッシュするとします。サブスクライバーが常時稼働し、Cloud Pub/Sub が 1 MiB/秒で取り込みを行い、2 MiB/秒で配信を行うとします。この場合、合計のデータ伝送速度は 3 MiB/秒になります。30 日間で計算すると、この量は 3 MiB/second x 3600 seconds/hour x 24 hours/day x 30 days/month x 1 month/(2^20 MiB/TiB) = 7.416 TiB となります。ここから無料枠(10 GB)を差し引くと、データ量は 7.406 TB となり、$60/TiB 層ですので料金は $444.36 になります。

請求対象となる最小データ量

リクエスト(メッセージではありません)ごとに請求対象となるデータ最小量は 1 KB のデータです。たとえば、100 個のパブリッシュ リクエストがあり、それぞれのリクエストに 500 バイトのメッセージがある場合、実際のデータ量は 50 KB になりますが、請求対象のデータ量は 1 KB/request x 100 requests = 100 KB になります。ただし、100 個すべてのメッセージが 1 つのパブリッシュ リクエストでパブリッシュされた場合、請求対象のデータ量は実際のデータ量(50 KB)に等しくなります。

プロジェクトをまたいだ請求

複数のプロジェクトで Cloud Pub/Sub を使用している場合、Cloud Pub/Sub の料金は、リクエストされたリソース(たとえば、サブスクリプション)を含むプロジェクトに課金されます。たとえば、プロジェクト A のサービス アカウントに、プロジェクト B(請求先アカウント B)のサブスクリプションに対するサブスクライバー アクセスが付与されているとします。この場合、請求先アカウント B には、サービス アカウント A がサブスクリプションから取得するデータの料金が課金されます。サブスクリプションがプロジェクト A に含まれている場合は、サブスクリプションがプロジェクト B 内のトピックに関連付けられていても、サブスクリプションから取得されるデータの料金はアカウント A に課金されます。

2019 年 6 月以降のメッセージ配信の料金

メッセージの公開または配信の料金は TiB あたり $40 で、階層はありません。また、リージョン内の下りデータに対する料金が導入されました。インターネットの下り料金と GCP リージョン間でのインターネット配信の料金は、ゾーンの下りと Google サービスへの下りを除き、Compute Engine のネットワーク料金と一致します。Cloud Pub/Sub の使用に対するゾーンの下り料金は発生しません。Google サービスへの下りは下り料金の対象となります。たとえば、1MiB のメッセージを us-west1 に公開し、europe-west1 のサブスクライバーに配信すると、2 つの SKU 間で合計 3 MiB の料金が課金されます。メッセージ配信の基本で 2 MiB(公開と配信に 1 MiB ずつ)とアメリカ大陸から EMEA へのリージョン間のデータ配信で 1 MiB が課金対象になります。

この変更を行う準備として、BigQuery への課金データのエクスポートを使用して使用状況を分析できます。請求先アカウントのエクスポートを設定すると、次のようなクエリを使用して使用状況を把握できます。

SELECT TIMESTAMP_TRUNC(usage_start_time, day) as usage_date,
  sku.description,
  usage.unit,
  sum(usage.amount) as egress_volume
FROM `BILLING_EXPORT_TABLE`
WHERE
  _PARTITIONTIME >= TIMESTAMP("2019-01-01")
  AND service.description = "Cloud Pub/Sub"
  AND (sku.description like "Internet data%"
      OR sku.description like "Inter-region data%")
GROUP BY usage_date, sku.description, usage.unit;

シーク関連メッセージのストレージ

料金

以下の場合、メッセージのストレージ料金が $0.27/GiB/月のレートで請求されます。

  • シークを使用して確認済みメッセージを再処理できるようするために、1 つのサブスクリプションは、確認済みメッセージを保持するように構成されています。この場合、保持される確認済みメッセージのストレージ料金が発生します。
  • サブスクリプションのスナップショットが作成されます。この場合、スナップショットの未確認メッセージがすべて保存され、その分のメッセージのストレージ料金が発生します。

例: サブスクリプションでの確認済みメッセージの保持

ここでは、1 つのサブスクリプションが確認済みメッセージを保持する場合を除いた、メッセージの取り込みの例について考えます。

  • サブスクリプションのトピックでは安定的に 1 MiB/秒の速度でデータを受信します。
  • サブスクライバーはサブスクリプションのデータに対応します。通信速度は 1 MiB/秒で、新しいメッセージ バックログの量はごくわずかです。
  • サブスクリプションの確認済みメッセージの保持期間は 7 日間です。
  • 確認済みメッセージの量は、1MiB/second x 3600 seconds/hour x 24 hours/day = 86.4 GiB/day の割合で増加します。
  • 7 日後に、確認済みメッセージの保持期限が切れ始めます。保持された確認済みメッセージの総量は 7 days x 86.4 GiB/day = 605GiB となります。
この量のメッセージの月額ストレージ料金の合計は、約 605 GiB-month x $0.27/GiB-month = $163 となります。

例: スナップショット メッセージのストレージ料金

スナップショット メッセージのストレージ料金は、スナップショットのトピックに新たにパブリッシュされたメッセージの分の追加料金と、作成時に 1 回だけ発生する料金の合計額です。ここでは、確認済みメッセージを保持しているサブスクリプションのスナップショットについて考えます。サブスクリプションには未確認メッセージのバックログが存在しないよう作成されているため、スナップショットの保持期間は 7 日間となります。最初の 1 分間にパブリッシュされたデータ(60 MiB)は 7 日間保持され、さらに次の 1 分間にパブリッシュされたデータが 7 日間保持されるというように繰り返されます。スナップショットの保持期限が切れると、バックログのサイズは 605 GiB になり、ストレージ使用量は 1/2 x 605 GiB x 7 days = 2118 GiB-days で、1 か月が 30 日とすると料金は 2118 GiB-days x (1/30 months/day) x $0.27/GiB-month = $19 となります。したがって、スナップショットの保持費用は確認済みメッセージの保持費用よりも安くなる傾向があります。

例: バックログが存在するサブスクリプションのスナップショット

スナップショットを作成する際に、サブスクリプションに未確認メッセージのバックログが存在する場合は、そのバックログを 7 日間保持する場合と同等の料金が 1 回だけ発生します。たとえば、サブスクリプションに未確認メッセージのバックログが 10 GiB あるとします。この場合、スナップショット作成時に 1 回だけ発生する料金は、10 GiB x 7 days / 30 days/month x 0.27/GiB-month = $0.63 です。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Pub/Sub ドキュメント