Pub/Sub の料金
Pub/Sub の費用は次の 3 つのコンポーネントで構成されます。
- メッセージのパブリッシュと配信のスループット費用
- ゾーンやリージョンの境界を通過するスループットに関連するデータ転送料金 Google Cloud
- メッセージの保持に関連するストレージ費用
Pub/Sub サービス料金は使用量(パブリッシュ、配信、保存されたバイト数)に基づきます。
一方、Pub/Sub Lite のスループットとストレージの料金は、予約された容量に基づきます。
両サービスとも、データ転送の料金は予約容量ではなく使用量に基づきます。
前提条件
このドキュメントでは、Pub/Sub または Pub/Sub Lite のアーキテクチャと、各プロダクトに共通する用語を理解している必要があります。詳細については、Pub/Sub のアーキテクチャをご覧ください。
料金の例
次の表は、北米のサンプル負荷に対する Pub/Sub システムと Pub/Sub Lite システムの月額費用を比較したものです。この例では、メッセージの保存期間を 24 時間、Pub/Sub Lite のリソース使用率を 50%、Pub/Sub のサブスクリプション タイプを pull または push と想定しています。他の種類のサブスクリプションでは、追加料金が発生する場合があります。
| パブリッシュのスループット(MiBps) | サブスクリプションの数 | ゾーン Lite トピック | リージョン Lite トピック | Pub/Sub |
|---|---|---|---|---|
| 10 | 1 | $169 | $608 | $2,000 |
| 10 | 2 | $214 | $788 | $3,000 |
| 100 | 1 | $1,688 | $6,075 | $19,760 |
| 100 | 2 | $2,138 | $7,875 | $29,640 |
Pub/Sub と Pub/Sub Lite の費用を比較する際は、2 つのプロダクトの機能の違いを考慮してください。詳細については、Pub/Sub または Pub/Sub Lite の選択をご覧ください。
Pub/Sub サービスの料金
このセクションの料金の詳細は Pub/Sub にのみ適用され、Pub/Sub Lite には適用されません。このセクションでは次のトピックについて説明します。
スループットの費用
スループットは、Pub/Sub トピックに書き込まれた(パブリッシュ スループット)またはトピックのサブスクリプションから読み取られた(サブスクライブ スループット)合計バイト数です。
毎月、請求先アカウントの MessageDelivery Basic SKU として識別される最初の 10 GiB のスループットは無料です。その後、料金はすべてのリージョンで TiB あたり$40 となります。 Google Cloud ただし、インポート トピックまたはエクスポート サブスクリプションを使用している場合は、次のセクションをお読みください。
BigQuery サブスクリプションのスループット費用
BigQuery サブスクリプションの費用は、すべてのリージョンで、サブスクリプションからの読み取り(サブスクライブ スループット)と BigQuery への書き込みに対して $50 / TiB です。Google Cloud BigQuery へのデータ取り込みに追加料金はかかりません。ただし、ストレージやデータ抽出など、他の種類の BigQuery 料金は適用されます。詳細については、BigQuery の料金をご覧ください。 BigQuery サブスクリプション スループットの最初の 10 GiB は無料ではありません。
Cloud Storage サブスクリプションのスループット費用
Cloud Storage サブスクリプションの料金は、サブスクリプションからの読み取り(サブスクライブ スループット)と Cloud Storage への書き込みに対して、すべてのリージョンで TiB あたり 50 ドルです。 Google Cloud Cloud Storage サブスクリプションでバケットにファイルを書き込む場合、他の種類の追加料金が適用されることがあります。これには、ストレージ、取得、レプリケーションなどの料金が含まれます。詳しくは、Cloud Storage の料金をご覧ください。Cloud Storage サブスクリプションのスループットの最初の 10 GiB は無料ではありません。
インポート トピックのスループット費用
インポート トピック(Kinesis Data Streams 用)の費用は、すべてのリージョンで Pub/Sub へのデータ取り込み(パブリッシュ スループット)に対して 1 TiB あたり 50 ドルです。 Google Cloud
インポート トピック(Cloud Storage、Azure Event Hubs、AWS MSK、Confluent Cloud 用)の料金は、すべてのリージョンで Pub/Sub へのデータ取り込み(パブリッシュ スループット)に対して 1 TiB あたり 80 ドルです。 Google Cloud
インポート トピックがデータを Pub/Sub トピックに取り込む場合、ソース固有の他の種類の追加料金が適用されることがあります。これには、Kinesis Data Streams ソースの AWS からの下り(外向き)料金、Cloud Storage ソースの Cloud Storage オペレーション料金などが含まれます。インポート トピックのスループットの最初の 10 GiB は無料ではありません。
メッセージの量の計算
メッセージのデータ量は、次のメッセージ属性のサイズの合計です。
- エンコードされたメッセージ本文の文字列のバイト数
- 各属性のキーとその値のサイズ
- タイムスタンプの 20 バイト
message_id文字列のサイズ- 早期アクセスやその他の制限されたアクセス API に関連付けられたフィールドなど、追加のオプション フィールドのサイズ
リクエスト内のメッセージ サイズに関係なく、各リクエストに対して最低 1 KB が算定されます。したがって、1 KB 未満のメッセージの場合は、1 回のリクエストで複数のメッセージをバッチ処理する方がコストが抑えられます。
ストレージの費用
以下のストレージ費用は、1 GiB あたり月額 $0.27 です。
- トピックが、メッセージを保持するように構成されている。この場合は、トピックに公開されたすべてのメッセージを保存するためのメッセージ ストレージ料金が発生します。保存期間は、構成されたメッセージ保持期間までです。
- サブスクリプションが確認済みメッセージを保持するように構成されている。この場合は、保持される確認済みメッセージのストレージ料金が発生します。
- サブスクリプションのスナップショットが作成される。この場合、スナップショットによって保持されるメッセージが保存され、その分のメッセージのストレージ料金が発生します。さらに、スナップショットを作成する際に、サブスクリプションに未確認メッセージのバックログが存在する場合は、そのバックログを 7 日間保持する場合と同等の料金が 1 回だけ発生します。
サブスクリプションは 1 日を超えるメッセージ保持期間で構成されており、1 日を超えるバックログがあります。この場合、1 日より古い未確認メッセージのストレージ料金が発生します。サブスクリプションのトピックによってすでに保持されている未確認応答メッセージについては、追加料金は発生しません(サブスクリプションのトピックがメッセージを保持するように構成されている場合)。
メッセージ保持が有効になっていないトピックと、メッセージ保持期間がデフォルトの 7 日間に設定されているサブスクリプションがアタッチされている場合を考えてみましょう。サブスクライバーが公開後 1 日以内にメッセージを処理できる場合、サブスクリプションのオーナーには未確認メッセージのストレージ料金は課金されません。ただし、サブスクライバーが最初の 24 時間以内にメッセージを処理できない場合、公開から 1 日を超えて保持された未確認応答メッセージにはストレージ料金が発生します。
メッセージ保持期間が 4 日に設定されたトピックと、メッセージ保持期間がデフォルトの 7 日に設定されたアタッチされたサブスクリプションについて考えてみましょう。サブスクリプション所有者は、パブリッシュから 4 日未満の未確認応答メッセージについては、ストレージ料金を請求されません。これらのメッセージはすでにトピックによって保持されているためです。サブスクライバーが公開後 4 日間メッセージを処理できない場合、サブスクリプションのオーナーは追加の 3 日間分の料金を請求されます。
個々のサブスクリプションに確認済みメッセージを保持すると、サブスクリプション オーナーに対しては最も柔軟に対応できますが、通常これは最も高価な保存方法です。最も費用がかからない保存方法はトピック メッセージ保持です。トピックに対して保持されるメッセージは、トピックに結び付けられたすべてのサブスクリプションで、サブスクリプションごとに追加料金なしで使用できます。Pub/Sub は、確認応答されていないメッセージがトピックによってすでに保持されている場合、サブスクリプションのオーナーにそのメッセージの保持料金を請求しません。また、スナップショットも、1 つのスナップショットが複数のサブスクリプションで使用できるため、経済的オプションになります。
トピックのメッセージ保持設定が変更されると、未確認応答メッセージの料金も変更される可能性があることに注意してください。たとえば、トピックのオーナーがメッセージ保持を無効にすると、サブスクリプションのオーナーは未確認メッセージのストレージ料金が発生し始める可能性があります。
単一メッセージ変換の費用
UDF SMT の費用は、Pub/Sub トピック SMT または Pub/Sub サブスクリプション SMT を使用して処理されたデータの合計量を表します。データ処理料金は、入力メッセージと出力メッセージのサイズのうち大きい方に基づいて請求されます。たとえば、UDF SMT が 5 MB のメッセージを 8 MB のメッセージに変換する場合、データ処理費用は 8 MB に基づいて計算されます。
料金はすべての Google Cloud リージョンで TiB あたり $40 です。
データ転送費用
インターネットのデータ転送とリージョン間のメッセージ配信の料金は、VPC ネットワーク料金と同様です。ただし、以下の例外を除きます。 Google Cloud
Pub/Sub の使用に対するゾーンのデータ転送料金は発生しません。
Google サービスへの下り(外向き)はデータ転送料金の対象となります。
Pub/Sub へのデータ転送は無料です。 たとえば、パブリッシャーが別のリージョンまたはゾーンにある場合、元のサービスのデータ転送料金は支払う必要がありますが、インバウンド データ転送料金は必要ありません。同様に、パブリッシャーが Amazon Web Service(AWS)またはプライベート データセンターから公開している場合、Pub/Sub へのデータ転送料金を支払う必要はありません。
エクスポート サブスクリプションを使用して、マルチリージョン BigQuery テーブル、デュアルリージョンまたはマルチリージョン Cloud Storage バケットなどの宛先にデータを書き込む場合、データ転送の費用は次の状況でのみ発生します。
宛先リソースのリージョン外へのパブリッシュ: パブリッシャーがマルチリージョンまたはデュアルリージョン リソースでカバーされるリージョン外のリージョンにデータを送信する場合、すべてのデータにデータ転送料金が適用されます。
最適化されたルーティング: パブリッシャーがデータを宛先リソースのリージョン内のリージョンに送信する場合、データ転送料金は、Pub/Sub が最適化された配信のために別のリージョンにルーティングするデータにのみ適用されます。この最適化されたルーティングは、例外的な状況でのみ発生します。
メッセージがリージョン境界を通過するたびにデータ転送料金が発生します。メッセージの保存先とは異なるリージョンに複数のサブスクライバーがある場合、すべてのサブスクライバーへの配信に個別にデータ転送料金が発生します。
メッセージ ストレージ ポリシーによるデータ転送費用
メッセージ ストレージ ポリシーの適用により、リージョンから外へのデータ送信が必要になる場合、リージョン データ転送料金が加算される可能性があります。 Google Cloud たとえば、次のようなイベントを含むメッセージがあるとします。
- リージョン A でパブリッシュされる
- リージョン B のストレージに転送される
- リージョン C のサブスクライバー クライアントに配信される
この場合、課金シナリオは次のように説明されます。
- トピックを含むプロジェクトは、リージョン A からリージョン B へのデータ転送に対して課金されます。
- サブスクリプションを含むプロジェクトは、リージョン B からリージョン C へのデータ転送に対して課金されます。
トピックを含むプロジェクトは、メッセージがパブリッシュされたリージョンとは異なるリージョンに保管される場合に(実際にリージョン B がリージョン A とは異なるので)データ転送料金が発生します。 サブスクリプションを含むプロジェクトは、パブリッシュされたメッセージがサブスクライバー クライアントとは異なるリージョンに保管される場合に(リージョン C がリージョン B と同じではない)、データ転送料金が課金されます。
フィルタリングされたメッセージの費用
Pub/Sub は、フィルタに一致しないメッセージの確認応答を自動的に行いますが、これらのメッセージのスループット料金は引き続き発生します。フィルタリングされたメッセージの データ転送料金は発生しません。
最小サイズ(1,000 バイト)は、Pub/Sub サービスが自動的に確認するメッセージには適用されません。メッセージ配信料金は、メッセージの小ささに関係なく、これらのメッセージのバイト数に基づいて計算されます。
プロジェクト間の Pub/Sub の課金
複数のプロジェクトにわたって Pub/Sub を使用している場合は、リクエストしたリソースを含むプロジェクトに対して Pub/Sub 料金が請求されます。
- パブリッシュに対して課金されるのは、トピックを含むプロジェクトです。
- サブスクリプションに対して課金されるのは、サブスクリプションを含むプロジェクトです。
たとえば、サブスクリプションがプロジェクト A に含まれている場合は、サブスクリプションがプロジェクト B 内のトピックに関連付けられていても、サブスクリプションから取得されるデータの料金はプロジェクト A に課金されます。
プロジェクト A の承認済みサービス アカウントが、プロジェクト B のサブスクリプションからのメッセージを使用する場合、サブスクリプションから取得されるデータの料金はプロジェクト Bに課金されます。
Pub/Sub Lite サービスの料金
以下の料金の詳細は Pub/Sub Lite にのみ適用されます(Pub/Sub には適用されません)。特に指定がない限り、詳細はゾーンとリージョンの両方の Lite トピックに適用されます。次のセクションが含まれています。
スループットの費用
スループットは、Pub/Sub Lite トピックに書き込まれた(パブリッシュ スループット)またはトピックへのサブスクリプションから読み取られた(サブスクライブ スループット)合計バイト数です。
Pub/Sub Lite のスループット料金は、実際のスループット(MiBps)や請求期間の合計バイト数(月あたりの MiB)ではなく、プロビジョニングまたは予約されたスループット容量に基づきます。スループット容量は容量ユニットでプロビジョニングされ、課金されます。Lite 予約を使用すると、同じリージョン内の 1 つ以上のトピックのスループット容量をプロビジョニングできます。
次の表は、Pub/Sub Lite システムのスループットとストレージの費用を示しています。
Lite 予約によるスループット
Lite 予約は、リージョン内の 1 つ以上のトピック間でスループット容量を予約して共有する方法です。リージョン Pub/Sub Lite トピックには Lite 予約が必要です。
Lite 予約のスループット容量は、容量ユニットで測定されます。予約の容量単位は整数でしかプロビジョニングできません。次の表に示すように、さまざまなオペレーションのスループットには、異なる数の容量ユニットが必要です。
| 必要な容量単位 | ゾーン Lite トピック | リージョン Lite トピック |
|---|---|---|
| パブリッシュのスループットが 1 MiBps | 1 容量ユニット | 4 容量ユニット |
| サブスクライブ スループット 1 MiBps | 0.5 容量ユニット | 2 容量ユニット |
予約内のすべての Lite トピックのパーティションの数は、予約済みの容量ユニット数以下でなければなりません。
予約ありの単一トピックのスループット容量の費用を計算する
次のセクションでは、予約を使用する単一のゾーン Lite トピックのスループット容量の費用を計算する方法について説明します。
- トピックのタイプ = ゾーン Lite トピック
- トピック数 = 1
- パーティション数 = 5
- ピーク時のパブリッシュのスループット = 5 MiBps
- パブリッシュのスループットに必要な容量単位 = 5
- サブスクライブのピーク スループット = 10 MiBps
- サブスクライブのスループットに必要な容量ユニット = 5
- 必要な容量ユニットの合計 = 5 + 5 = 10
- 北米における 10 容量ユニットの月額料金 = $45
5 つのパーティションを持つリージョン Lite トピックで同じスループットを実現するには、40 容量ユニットの予約が必要です。そのうち 20 はパブリッシュ スループット用、20 はサブスクライブ スループット用です。
予約の容量単位の数はいつでも変更できます。 ただし、過去 24 時間にプロビジョニングされた最大容量に対して課金されます。たとえば、月曜日の午前 10 時に予約の容量を 40 容量単位から 10 容量単位に変更した場合、火曜日の午前 10 時までは 1 時間あたり 40 容量単位の料金が請求され、それ以降は 1 時間あたり 10 容量単位の料金が請求されます。
予約の容量は、予約と同じリージョン内の任意のトピックのパブリッシュとサブスクライブのスループットに使用できます。予約の詳細については、Lite の予約を作成、管理するをご覧ください。
Lite 予約なしのスループット
このセクションは、ゾーン Lite トピックにのみ適用されます。
1 つのトピックに対して予約を使用せず、パブリッシュとサブスクライブのスループット容量を予約することもできます。この場合、24 時間の移動時間枠における最大容量ではなく、現在予約している容量に対して課金されます。
なお、予約なしで構成される容量は、次の範囲内にする必要があります。
- 各パーティションのパブリッシュには、4 ~ 16 MiBps(4 ~ 16 容量単位に相当)。
- 各パーティションのサブスクライブは 4 ~ 32 MiBps(2 ~ 16 容量単位に相当)。
予約なしの単一トピックのスループット容量の費用を計算する
次のセクションでは、予約を使用しない単一のゾーン Lite トピックのスループット容量の費用を計算します。
- トピックのタイプ = ゾーン Lite トピック
- トピック数 = 1
- パーティション数 = 4
- ピーク時のパブリッシュのスループット = 16 MiBps
- パブリッシュのスループットに必要な容量単位 = 16
- ピーク時のサブスクライブ スループット = 16 MiBps
- サブスクライブのスループットに必要な容量ユニット = 8
- 必要な容量ユニットの合計 = 16 + 8 = 24
- 北米での 24 容量ユニットの月額料金 = $108
ストレージの費用
Lite スループットと同様に、トピックのストレージ容量に対して料金が発生します。 Pub/Sub Lite では、1 か月間にプロビジョニングした最大ストレージ容量に対して課金されます。パーティションには、少なくとも 30 GiB のストレージ容量が必要です。
リージョン Lite トピックはリージョン内の 2 つのゾーンにデータを保存しますが、ゾーン Lite トピックはリージョン内の 1 つのゾーンにのみデータを保存します。リージョン Lite トピックは、パブリッシュされるメッセージのバイトごとに 2 バイトのストレージを使用します。そのため、リージョン Lite トピックにパブリッシュされるバイトあたりのストレージ費用は、ゾーン Lite トピックの 2 倍になります。
Pub/Sub Lite システムのストレージ容量を見積もるには、次のリストを参照してください。
メッセージを保存する必要がある期間を決定します。
必要なストレージの合計を見積もるには、各パーティションの予想される平均スループットに、メッセージの保存に必要な時間を掛けます。たとえば、ゾーン Lite トピックの 10 個のパーティションにわたって 1 秒あたり 40 MiB のメッセージをパブリッシュし、メッセージを 1 日間保持する場合は、3,375 GiB のストレージをプロビジョニングします(1 秒あたり 40 MiB * 1 時間あたり 3,600 秒 * 1 日あたり 24 時間 * 1 GiB/1,024 MiB に相当)。北米では、ストレージの費用は $135 になります(3,375 GiB * 24 時間/日 * 30 日/月 * $0.04 / GiB-月-ゾーン)。リージョン Lite トピックの場合、データは 2 つのゾーンに保存されるため、ストレージ費用は 2 倍の 270 ドルになります。
鍵の配布が均等でないことを考慮する。
すべてのパーティションに同じストレージ容量が割り当てられます。一部のパーティションが他のパーティションよりも大きなボリュームになると予想される場合は、 すべてのパーティションに、最大のパーティションに必要なストレージをプロビジョニングします。
メッセージの量の計算
スループットとストレージのメッセージサイズを計算する場合、各メッセージは最小 256 バイトを使用します。メッセージが 256 バイトより大きい場合、メッセージのサイズは以下のメッセージ属性の合計となります。
- エンコードされたメッセージ本文の文字列のバイト数
- 各属性のキーと値のバイト数
- 順序指定キーのバイト数
- イベント タイムスタンプの 12 バイト
データ転送費用
Pub/Sub Lite のデータ転送料金は、サブスクライバーがトピックの場所とは異なるゾーンまたはリージョンにある場合にのみ適用されます。インターネットの下り(外向き)データ転送料金と Google Cloud リージョン間でのメッセージ配信の料金は、VPC ネットワーク料金と同様です。ただし、以下の例外を除きます。
トピックと同じリージョンにサブスクライバーがいるリージョン Lite トピックの場合、ゾーンのデータ転送料金は発生しません。
Google プロダクトへのデータ転送は、データ転送料金の対象となります。
米ドル以外の通貨でのお支払い
米ドル以外の通貨でお支払いの場合は、Google Cloud SKU に記載されている該当通貨の料金が適用されます。一覧表示されているレートは TiB あたりのレートです(2^40 (約 1.1 兆)バイト)。