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 の費用を比較する際は、プロダクトの機能の違いを考慮してください。詳細については、Pub/Sub または Pub/Sub Lite の選択をご覧ください。
Pub/Sub サービスの料金
このセクションの料金の詳細は Pub/Sub にのみ適用され、Pub/Sub Lite には適用されません。このセクションでは次のトピックについて説明します。
スループット費用
スループットとは、Pub/Sub トピックへの書き込み(パブリッシュ スループット)またはサブスクリプションからトピックへの読み取り(サブスクライブ スループット)の合計バイト数を一定期間にわたって測定したものです。
毎月、請求先アカウントの Message Delivery Basic SKU として識別される最初の 10 GiB の処理量は無料です。その後、料金はすべての Google Cloud リージョンで TiB あたり$40 となります。ただし、インポート トピックまたはエクスポート サブスクリプションを使用している場合は、次のセクションをご覧ください。
BigQuery サブスクリプションのスループット費用
BigQuery サブスクリプションの料金は、サブスクリプションからの読み取り(サブスクライブ スループット)と BigQuery への書き込みについて、Google Cloud のすべてのリージョンで TiB あたり$50 です。BigQuery のデータ取り込み料金は追加されません。ただし、ストレージやデータ抽出など、他のタイプの BigQuery 料金が適用されます。詳細については、BigQuery の料金をご覧ください。BigQuery サブスクリプションのスループットのうち最初の 10 GiB は無料ではありません。
Cloud Storage サブスクリプションのスループット費用
Cloud Storage サブスクリプションは、サブスクリプションからの読み取り(サブスクリプションのスループット)と Cloud Storage への書き込みについて、すべての Google Cloud リージョンで TiB あたり$50 の料金がかかります。Cloud Storage サブスクリプションでバケットにファイルを書き込む場合、 他のタイプの追加料金が適用される場合があります。ストレージ、取得、レプリケーションなどの料金が含まれます。詳しくは、Cloud Storage の料金をご覧ください。Cloud Storage サブスクリプションのスループットのうち最初の 10 GiB は無料ではありません。
インポート トピックのスループット費用
すべての Google Cloud リージョンで、Pub/Sub へのデータ取り込み(パブリッシュ スループット)にかかるインポート トピック(Kinesis Data Streams 用)の費用は 1 TiB あたり$50 です。
インポート トピック(Cloud Storage 用)の費用は、すべての Google Cloud リージョンで 1 TiB あたり$80 です。これは、Pub/Sub へのデータ取り込み(パブリッシュ スループット)にかかる費用です。
インポート トピックが Pub/Sub トピックにデータを取り込む場合、ソース固有の他のタイプの追加料金が適用される場合があります。これには、Kinesis Data Streams ソースの AWS からの下り(外向き)料金や、Cloud Storage ソースの Cloud Storage オペレーション料金などが含まれます。最初の 10 GiB のインポート トピックのスループットは無料ではありません。
メッセージの量の計算
メッセージのデータ量は、次のメッセージ属性のサイズの合計です。
- エンコードされたメッセージ本文の文字列のバイト数
- 各属性のキーとその値のサイズ
- タイムスタンプの 20 バイト
message_id
文字列のサイズ- 早期アクセスやその他の制限されたアクセス API に関連付けられたフィールドなど、追加のオプション フィールドのサイズ
リクエスト内のメッセージ サイズに関係なく、リクエストごとに最低 1 KB が評価されます。したがって、1 KB 未満のメッセージの場合は、複数のメッセージを 1 つのリクエストでバッチ処理する方が費用が抑えられます。
ストレージの費用
サブスクリプション内の確認応答されていないメッセージは、最大 1 日間無料で保持されます。
Pub/Sub ストレージの料金が発生するケースは 4 つあります。ストレージ費用は、次の場合に GiB-月あたり $0.27 の料金が請求されます。
- トピックが、すべてのメッセージを保持するように構成されている。この場合は、トピックに公開されたすべてのメッセージを保存するためのメッセージ ストレージ料金が発生します。
- サブスクリプションが確認済みメッセージを保持するように構成されている。この場合は、保持される確認済みメッセージのストレージ料金が発生します。
- サブスクリプションのスナップショットが作成される。この場合、スナップショットの未確認メッセージが保存され、その分のメッセージのストレージ料金が発生します。
サブスクリプションが未確認メッセージを 1 日以上保持するように構成されており、サブスクリプションのバックログが 1 日以上古い。この場合、公開から 1 日後に保持される未確認メッセージのストレージ料金が発生します。トピック保持のためにすでに保持されている未確認メッセージについては、追加料金は発生しません。
トピック保持が有効になっていないトピックと、保持期間がデフォルトの 7 日間に設定されているサブスクリプションがあるとします。 サブスクライバーが公開から 1 日以内にメッセージを処理できる場合、サブスクリプションのオーナーには未確認メッセージの保存料金は請求されません。ただし、サブスクライバーが最初の 24 時間以内にメッセージを処理できない場合、公開から 1 日以上保持される未確認メッセージに対してストレージ料金が請求されます。
トピック保持期間が 4 日間に設定されたトピックと、それに関連付けられたサブスクリプションの保持期間がデフォルトの 7 日間に設定されているとします。サブスクリプションのオーナーは、公開から 4 日以内に保持される未確認応答メッセージのストレージ料金は請求されません。これらのメッセージはすでにトピックによって保持されているためです。サブスクライバーが 4 日間の公開期間内にメッセージを処理できない場合、サブスクリプションのオーナーにはさらに 3 日分の料金が請求されます(サブスクライバーが 7 日以内にメッセージを処理できる場合を除く)。
注 : さらに、スナップショットを作成する際に、サブスクリプションに未確認メッセージのバックログが存在する場合は、そのバックログを 7 日間保持する場合と同等の料金が 1 回だけ発生します。
個々のサブスクリプションに確認済みメッセージを保持すると、サブスクリプション オーナーに対しては最も柔軟に対応できますが、通常これは最も高価な保存方法です。最も費用がかからない保存方法はトピック保持です。トピックに対して保持されるメッセージは、トピックに結び付けられたすべてのサブスクリプションで、サブスクリプションごとに追加料金なしで使用できます。トピックの保持期間によってすでに保持されているメッセージについては、サブスクリプションのオーナーに保持された未確認メッセージの料金は請求されません。また、スナップショットも、1 つのスナップショットが複数のサブスクリプションで使用できるため、経済的オプションになります。
トピックの保持期間の設定が変更された場合、未確認メッセージの料金も変更されることがあります。たとえば、トピックのオーナーがメッセージの保持を無効にすると、サブスクリプションのオーナーは未確認メッセージのストレージ料金を支払うことになります。
データ転送費用
インターネットのデータ転送と Google Cloud リージョン間でのメッセージ配信の料金は、VPC ネットワーク料金と同様です。ただし、以下の例外を除きます。
- Pub/Sub の使用に対するゾーンのデータ転送料金は発生しません。
- Google サービスへの下り(外向き)はデータ転送料金の対象となります。
- Pub/Sub へのデータ転送は無料です。 たとえば、パブリッシャーが別のリージョンまたはゾーンにある場合、送信元サービスに対してデータ転送料金を支払う必要がありますが、受信データ転送料金は必要ありません。同様に、パブリッシャーが Amazon Web Service(AWS)またはプライベート データセンターからパブリッシュする場合、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 容量ユニットを 1 か月使用した場合の費用 = $45
5 つのパーティションを持つリージョン Lite トピックで同じスループットを実現するには、40 個の容量ユニット(パブリッシュ スループット用に 20 個、サブスクライブ スループット用に 20 個)の予約が必要です。
予約の容量単位数はいつでも変更できます。ただし、過去 24 時間にプロビジョニングされた最大容量に対して課金されます。たとえば、月曜日の午前 10 時に予約の容量を 40 容量単位から 10 容量単位に変更した場合、火曜日の午前 10 時までは 1 時間あたり 40 容量単位、それ以降は 1 時間あたり 10 容量単位の料金が請求されます。
予約の容量は、予約と同じリージョン内の任意のトピックのパブリッシュとサブスクライブのスループットに使用できます。予約の詳細については、Lite の予約を作成、管理するをご覧ください。
Lite 予約なしのスループット
このセクションは、ゾーン Lite トピックにのみ適用されます。
1 つのトピックに対して予約を使用せず、パブリッシュとサブスクライブのスループット容量を予約することもできます。この場合、24 時間の移動時間枠における最大容量ではなく、現在予約している容量に対して課金されます。
なお、予約なしで構成される容量は、次の範囲内にする必要があります。
- 各パーティションのパブリッシュには、4 ~ 16 MiB/秒(4 ~ 16 容量単位に相当)。
- 4 MiB と 32 MiB/秒(2 単位と 16 容量単位に相当)で各パーティションにサブスクライブします。
予約なしで単一トピックのスループット容量の費用を計算する
予約を使用しない単一のゾーン Lite トピックのスループット容量の費用を計算するには、次のセクションをご覧ください。
- トピックのタイプ = ゾーン Lite トピック
- トピック数 = 1
- パーティション数 = 4
- パブリッシュのピーク スループット = 16 MiBps
- パブリッシュ スループットに必要な容量単位 = 16
- サブスクライブのピーク スループット = 16 MiBps
- サブスクライブ スループットに対して必要な容量単位 = 8
- 必要な容量ユニットの合計数 = 16 + 8 = 24
- 北米で 24 容量ユニットを 1 か月使用した場合の費用 = $108
ストレージの費用
Lite スループットの場合と同様に、トピックのストレージ容量に対して課金されます。 Pub/Sub Lite では、1 か月間にプロビジョニングした最大ストレージ容量に対して課金されます。各パーティションには、少なくとも 30 GiB のストレージ容量が必要です。
リージョン Lite トピックはリージョン内の 2 つのゾーンにデータを保存しますが、ゾーン Lite トピックはリージョン内の 1 つのゾーンにのみデータを保存します。リージョン Lite トピックでは、公開されたメッセージの 1 バイトあたり 2 バイトのストレージが使用されます。したがって、リージョン Lite トピックにパブリッシュされたバイトあたりのストレージ料金は、ゾーン Lite トピックの 2 倍になります。
Pub/Sub Lite システムのストレージ容量を見積もるには、 次のリストを参照してください。
メッセージを保存する期間を決定します。
必要な合計ストレージ容量を見積もるには、各パーティションの平均予想スループットをメッセージの保存に必要な期間で乗算します。たとえば、ゾーン Lite トピックの 10 個のパーティションで 1 秒あたり 40 MiB のメッセージをパブリッシュし、メッセージを 1 日間保持する場合は、3375 GiB のストレージをプロビジョニングします(40 MiBps * 1 時間あたり 3600 秒 * 1 日あたり 24 時間 * 1 GiB/1024 MiB に相当)。ストレージの料金は、 北米で $135(3,375 GiB × 1 日あたり 24 時間 × 1 か月あたり 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 兆)バイト)。