Pub/Sub の料金
Pub/Sub の費用には、次の 3 つのコンポーネントがあります。
- メッセージのパブリッシュと配信のスループット費用
- Google Cloud のゾーンやリージョンの境界を通過するスループットに関連する下り(外向き)料金
- スナップショット、トピックによって保持されるメッセージ、サブスクリプションによって保持される確認済みメッセージのストレージコスト
Pub/Sub サービスの料金は、使用量(公開、配信、保存されたバイト数)に基づいて計算されます。
一方、Pub/Sub Lite のスループットとストレージの料金は、予約済みの容量に基づいています。
両方のサービスの下り(外向き)料金は、予約容量ではなく使用量に基づきます。
前提条件
このドキュメントでは、Pub/Sub または Pub/Sub Lite のアーキテクチャと、各プロダクトに共通する用語を理解する必要があります。詳細については、Pub/Sub アーキテクチャをご覧ください。
料金の例
次の表は、北米におけるサンプル負荷の Pub/Sub と Pub/Sub Lite システムの月額費用を比較したものです。この例では、Pub/Sub Lite で 24 時間のメッセージ保存期間と 50% のリソース使用率を想定しています。
パブリッシュのスループット(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 トピックに書き込まれたバイト数(パブリッシュ スループット)、またはサブスクリプションからトピックへの読み取りバイト数(サブスクライブ スループット)の合計です。
請求先アカウントのスループットは毎月 10 GiB まで無料です。その後、料金はすべての Google Cloud リージョンで TiB あたり$40 となります。
メッセージの量の計算
メッセージのデータ量は、次のメッセージ属性のサイズの合計です。
- エンコードされたメッセージ本文の文字列のバイト数
- 各属性のキーとその値のサイズ
- タイムスタンプの 20 バイト
message_id
文字列のサイズ- 追加のオプション フィールドのサイズ(早期アクセス API やその他の制限付きアクセス API に関連付けられたフィールドなど)。
パブリッシュ、push、pull リクエストごとに最低 1 KB が評価されますが、この評価はメッセージのサイズに関係なく行われます。したがって、1,000 バイト未満のメッセージの場合、1 つのリクエストで複数のメッセージをバッチ処理する方がコストを抑えられます。
ストレージの費用
未確認メッセージのサブスクリプションへの保存は、最大 7 日間無料です。
Pub/Sub ストレージは無料でない場合が 3 つあります。ストレージの費用は 1 か月あたり GiB あたり $0.27 ですが、以下に対して課金されます。
- トピックが、すべてのメッセージを保持するように構成されている。この場合は、トピックに公開されたすべてのメッセージを保存するためのメッセージ ストレージ料金が発生します。
- サブスクリプションが確認済みメッセージを保持するように構成されている。この場合は、保持される確認済みメッセージのストレージ料金が発生します。
- サブスクリプションのスナップショットが作成される。この場合、スナップショットの未確認メッセージが保存され、その分のメッセージのストレージ料金が発生します。
注: さらに、スナップショットを作成する際に、サブスクリプションに未確認メッセージのバックログが存在する場合は、そのバックログを 7 日間保持する場合と同等の料金が 1 回だけ発生します。
個々のサブスクリプションに確認済みメッセージを保持すると、サブスクリプション オーナーに対しては最も柔軟に対応できますが、通常これは最も高価な保存方法です。最も費用がかからない保存方法はトピック保持です。トピックに対して保持されるメッセージは、トピックに結び付けられたすべてのサブスクリプションで、サブスクリプションごとに追加料金なしで使用できます。また、スナップショットも、1 つのスナップショットが複数のサブスクリプションで使用できるため、経済的オプションになります。
下り(外向き)料金
インターネットの下り(外向き)料金と Google Cloud リージョン間でのメッセージ配信の料金は、以下の例外を除き、VPC ネットワーク料金と同様です。
- Pub/Sub の使用に対するゾーンの下り(外向き)料金は発生しません。
- Google サービスへの下り(外向き)は下り(外向き)料金の対象となります。
- 上り(内向き)の除外はありません。たとえば、リージョン A からリモート リージョン B のリージョン エンドポイントにメッセージをパブリッシュする場合や、ストレージ ポリシーでメッセージをリージョン A に転送するために 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/月)ではなく、プロビジョニングまたは予約されたスループット容量に基づきます。スループット容量は、容量単位でプロビジョニングされ、課金されます。同じリージョン内の 1 つ以上のトピックに対してスループット容量をプロビジョニングするには、Lite 予約を使用します。
次の表は、Pub/Sub Lite システムのスループットとストレージのコストを示しています。
Lite 予約のスループット
Lite 予約を使用すると、リージョン内の 1 つまたは複数のトピック間でスループット容量を予約して共有できます。Lite 予約のスループット容量は、容量単位で測定されます。予約に対してプロビジョニングできる容量単位は数だけです。さまざまなオペレーションのスループットでは、次の表に示すように、必要な容量単位が異なります。
必要な容量単位 | ゾーン Lite トピック | リージョン Lite トピック |
---|---|---|
1 MiBps の公開スループット | 1 個の容量単位 | 4 個の容量単位 |
1 MiBps のサブスクライブ スループット | 容量単位: 0.5 | 容量の単位は 2 個 |
予約のすべての Lite トピックで分割されるパーティションの数は、予約された容量ユニット数を超えてはなりません。
予約を使用して単一トピックのスループット容量のコストを計算する
次のセクションでは、予約を使用する単一ゾーン Lite トピックのスループット容量のコストを計算します。
- トピックのタイプ = ゾーンライトのトピック
- トピック数 = 1
- パーティション数 = 5
- ピーク パブリッシュのスループット = 5 MiBps
- パブリッシュのスループットに必要な容量単位 = 5
- ピーク時のサブスクライブ スループット = 10 MiBps
- サブスクライブのスループットに必要な容量単位 = 5
- 必要な総容量単位 = 5+5 = 10
- 北米での 10 個の容量単位の費用(1 か月あたり)= $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 トピックのスループット容量のコストを計算します。
- トピックのタイプ = ゾーンライトのトピック
- トピック数 = 1
- パーティション数 = 4
- ピーク パブリッシュのスループット = 16 MiBps
- パブリッシュのスループットに必要な容量単位 = 16
- ピーク時のサブスクライブ スループット = 16 MiBps
- サブスクライブのスループットに必要な容量単位 = 8
- 必要な総容量単位 = 16 + 8 = 24
- 北米での 24 容量ユニットの費用(1 か月あたり)= 10,800 円
ストレージの費用
Lite スループットと同様に、トピックのストレージ容量に対して料金が発生します。 Pub/Sub Lite では、1 か月間にプロビジョニングした最大ストレージ容量に対して課金されます。各パーティションには、少なくとも 30 GiB のストレージ容量が必要です。
リージョン Lite トピックは、リージョン内の 2 つのゾーンにデータを保存しますが、ゾーン Lite トピックは、リージョン内の 1 つのゾーンにのみデータを保存します。リージョン Lite トピックは、パブリッシュされるメッセージのバイトごとに 2 バイトのストレージを使用します。したがって、リージョン Lite トピックに公開される 1 バイトあたりのストレージ費用は、1 つのゾーンの費用の 2 倍になります。
Pub/Sub Lite システムのストレージ容量を見積もるには、次のリストを参照してください。
メッセージの保存に必要な時間の長さを決めます。
必要な合計保存容量を見積もるには、各パーティションの平均スループットに、メッセージの保存に必要な期間を掛けます。たとえば、ゾーンライト トピックの 10 パーティション全体で 1 秒あたり 40 MiB のメッセージをパブリッシュし、1 日間保持するには、3375 GiB のストレージをプロビジョニングします(40 MiBps × 3600 秒 / 1 日 24 時間 × 1 GiB/1024 MiB に相当)。ストレージの費用は北米で $135 です(3375 GiB × 24 時間 / 月 × 30 日 × $0.04 / GiB 月ゾーン)。リージョン Lite トピックでは、データが 2 つのゾーンに保存されるため、ストレージ費用が 2 倍の $270 になります。
不均等なキーの配布を検討します。
すべてのパーティションには、同じストレージ容量が割り当てられます。一部のパーティションが他のパーティションよりも容量が大きいことが予想される場合は、すべてのパーティションをプロビジョニングして、最大のパーティションに必要なストレージを確保します。
メッセージの量の計算
スループットとストレージのためにメッセージのサイズを計算する際、各メッセージで最小で 256 バイトが使用されます。メッセージが 256 バイトより大きい場合、メッセージのサイズは次のメッセージ属性の合計となります。
- エンコードされたメッセージ本文の文字列のバイト数
- 各属性のキーと値のバイト数
- 順序指定キーのバイト数
- イベント タイムスタンプの 12 バイト
下り(外向き)料金
Pub/Sub Lite の下り(外向き)料金は、サブスクライバーがトピックのロケーションとは異なるゾーンまたはリージョンにある場合にのみ適用されます。インターネットの下り(外向き)料金と Google Cloud リージョン間でのメッセージ配信の料金は、VPC ネットワーク料金と同様です。ただし、以下の例外があります。
リージョン Lite トピックが、トピックと同じリージョン内のサブスクライバーを持つ場合、ゾーンの下り(外向き)料金は発生しません。
Google サービスへの下り(外向き)は下り(外向き)料金の対象となります。
上り(内向き)の除外はありません。たとえば、リージョン A からリモート リージョン B のリージョン エンドポイントにメッセージをパブリッシュする場合や、ストレージ ポリシーでメッセージをリージョン A に転送するために Pub/Sub が必要な場合、下り(外向き)料金が発生します。
米ドル以外の通貨でのお支払い
米ドル以外の通貨でお支払いの場合は、Google Cloud SKU に記載されている該当通貨の料金が適用されます。一覧表示されているレートは TiB あたりのレートです(2^40 (約 1.1 兆)バイト)。