Pub/Sub 价格

Pub/Sub 的费用由三部分组成:

  • 发布和传送消息的吞吐量成本
  • 与跨 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 为拉取或推送订阅类型。其他类型的订阅可能会产生额外费用。

发布吞吐量 (MiBps) 订阅数量 可用区级精简版主题 区域级精简版主题 Pub/Sub
10 1 $169 608 美元 $2,000
10 2 $214 788 美元 $3000
100 1 $1688 6,075 美元 $19760
100 2 $2138 7,875 美元 $29640

比较 Pub/Sub 和 Pub/Sub Lite 的费用时,请考虑这两种产品在功能方面的差异。如需了解详情,请参阅选择 Pub/Sub 或 Pub/Sub Lite

Pub/Sub 服务价格

本部分中的价格详情仅适用于 Pub/Sub,不适用于 Pub/Sub Lite。本部分包含以下主题:

吞吐量费用

吞吐量是指一段时间内从订阅向 Pub/Sub 主题写入的字节总数(发布吞吐量)或从主题读取的总字节数(订阅吞吐量)。

在每个日历月,结算账号的前 10 GiB 吞吐量为“消息传送基本版”SKU 免费。之后,所有 Google Cloud 区域的价格为每 TiB$40。但是,如果您使用的是导入主题或导出订阅,请阅读下一部分。

BigQuery 订阅的吞吐量费用

在所有 Google Cloud 区域中,BigQuery 订阅的费用为每 TiB$50,从订阅读取(订阅吞吐量)以及向 BigQuery 写入数据。没有额外的 BigQuery 数据注入费用。但需要支付其他类型的 BigQuery 费用,例如存储和数据提取费用。如需了解详情,请参阅 BigQuery 价格。BigQuery 订阅吞吐量的前 10 GiB 免费。

Cloud Storage 订阅的吞吐量费用

在所有 Google Cloud 区域中,Cloud Storage 订阅的费用为每 TiB$50,用于从订阅读取(订阅吞吐量)以及向 Cloud Storage 写入数据。当 Cloud Storage 订阅将文件写入存储桶时,可能会产生其他类型的额外费用。其中包括存储、检索和复制等费用。如需了解详情,请参阅 Cloud Storage 价格。Cloud Storage 订阅吞吐量的前 10 GiB 需要支付费用。

导入主题的吞吐量费用

在所有 Google Cloud 区域中,导入主题(适用于 Kinesis Data Streams)的费用为 $50/ TiB,用于将数据从外部来源提取到 Pub/Sub(发布吞吐量)。导入主题将数据注入 Pub/Sub 主题时,可能会产生其他类型的特定于来源的额外费用。这些费用包括适用于 Kinesis Data Streams 来源的 AWS 出站流量等费用。Cloud Storage 订阅吞吐量的前 10 GiB 需要支付费用。

消息量计算

消息的数据量是以下消息属性的大小总和:

  • 编码的消息正文字符串的字节数
  • 每个特性的键和值的大小
  • 时间戳(20 个字节)
  • message_id 字符串的大小
  • 其他可选字段(例如与抢先体验版 API 和其他访问受限的 API 关联的字段)的大小。

每个请求至少评估 1 KB,与请求中的消息大小无关。因此,对于小于 1 KB 的消息,在单个请求中批处理多条消息的费用会更低。

存储费用

订阅中未确认的消息最长可以免费存储一天。

Pub/Sub 存储服务不是免费的,有四种情况。对于以下各项,您需要支付每月每 GiB $0.27 的存储费用:

  • 主题配置为保留所有消息。在这种情况下,会对发布到主题的所有消息收取消息存储费用。
  • 订阅配置为保留已确认的消息。在此情况下,会对保留的已确认消息收取存储费用。
  • 创建了订阅的快照。在此情况下,会对快照的未确认消息收取消息存储费用。
  • 订阅配置为在 1 天内保留未确认的消息,并且订阅积压时间超过 1 天。在这种情况下,对于在发布 1 天后保留的未确认消息,我们会收取存储费用。请注意,为保留主题而保留的未确认消息不会产生额外费用。

    • 考虑不设置主题保留功能的主题,以及附加的订阅,将保留期限设置为默认 7 天。 如果订阅者能够在发布后的 1 天内处理消息,则订阅所有者无需为未确认的消息支付存储费用。但是,如果订阅者无法在前 24 小时内处理消息,则会对发布后 1 天内保留的未确认消息收取存储费用。

    • 考虑将主题保留设置为 4 天的主题,以及将保留设置为默认 7 天的附加订阅。对于发布后 4 天内保留的未确认消息,订阅所有者无需支付存储费用,因为主题已经保留了这些消息。如果订阅者在发布 4 天后无法处理消息,则需额外向订阅所有者支付 3 天的费用(除非订阅者能够在 7 天内处理消息)。

注意:如果在创建快照时,订阅有积压的未确认消息,则会收取一次性费用,金额相当于将相应积压数据存储 7 天的费用。

保留单个订阅中已确认的消息为订阅所有者提供了最大的灵活性,但通常是最昂贵的存储机制。费用最低的存储机制是主题保留,因为为主题保留的消息可以在附加到该主题的所有订阅中使用,而无需针对每项订阅支付额外费用。如果保留的未确认消息已根据主题保留方式保留,我们不会向订阅所有者收取这些消息的费用。快照也可以是一种经济的选择,因为单个快照可以用于多个订阅。

请注意,如果更改了主题保留设置,未确认消息的费用也可能会发生变化。例如,如果主题所有者停用消息保留功能,则订阅所有者可能开始对未确认的消息产生存储费用。

数据传输费用

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 会自动确认与过滤条件不匹配的消息,但您仍然需要为这些消息支付吞吐量费用。过滤的消息不会产生数据传输费用。

Pub/Sub 服务自动确认的消息中至少有 1000 字节不需要付费。消息传送费用根据这些消息中的字节数计算,与小消息大小无关。

跨项目 Pub/Sub 结算

如果您在多个项目中使用 Pub/Sub,Pub/Sub 的费用会计入包含所请求资源的项目中:

  • 发布费用计入包含主题的项目中。
  • 订阅费用计入包含订阅的项目中。

例如,如果订阅在项目 A 中,则会对项目 A 收取从订阅中拉取数据的相关费用,即使该订阅关联的主题属于项目 B 也是如此。

如果项目 A 中的授权服务账号使用了项目 B 中某个订阅的消息,则会对项目 B 收取从订阅中拉取数据的相关费用。

Pub/Sub Lite 服务价格

以下价格详情仅适用于 Pub/Sub Lite,不适用于 Pub/Sub。除非另有说明,否则详细信息同时适用于可用区级和区域级精简版主题。其中包含以下部分:

吞吐量费用

吞吐量是指一段时间内从订阅向 Pub/Sub Lite 主题写入的字节总数(发布吞吐量)或从订阅读取的字节总数(订阅吞吐量)。

Pub/Sub Lite 吞吐量费用基于预配或预留的吞吐量容量,而不是实际吞吐量 (MiBps) 或结算周期内的总字节数(每月 MiB)。吞吐量容量以容量单位预配和定价。您可以使用精简版预留为同一区域中的一个或多个主题预配吞吐量容量。

下表显示了 Pub/Sub Lite 系统的吞吐量和存储费用。

精简版预留的吞吐量

精简版预留是一种在区域中一个或多个主题之间预留和共享吞吐量容量的方法。区域级 Pub/Sub 精简版主题需要精简版预留。

精简版预留的吞吐量容量以容量单位来衡量。您只能为预留预配整数数量的容量单元。不同操作的吞吐量需要不同数量的容量单位,如下表所述:

必须指定容量单位 可用区级精简版主题 区域级精简版主题
1 MiBps 的发布吞吐量 1 个容量单位 4 个容量单位
1 MiBps 的订阅吞吐量 0.5 个容量单位 2 个容量单位

一个预留中所有精简版主题的分区数不得超过预留的容量单元数。

计算具有预留的单个主题的吞吐量容量费用

以下部分可帮助您计算使用预留的单个可用区级精简版主题的吞吐量容量费用:

  • 主题类型 = 可用区级精简版主题
  • 主题数量 = 1
  • 分区数 = 5
  • 发布吞吐量峰值 = 5 MiBps
  • 发布吞吐量所需的容量单位 = 5
  • 峰值订阅吞吐量 = 10 MiBps
  • 订阅吞吐量所需的容量单位 = 5
  • 所需的总容量单位 = 5+5 = 10
  • 北美 10 个容量单位的每月费用 = $45

若要让具有 5 个分区的区域级精简版主题获得相同的吞吐量,您需要一个具有 40 个容量单元、20 个容量单元用于发布吞吐量和 20 个容量单元的预留。

您可以随时更改预留中的容量单元数。 不过,您需要为过去 24 小时内预配的最大容量付费。例如,如果您在周一上午 10:00 将预留的容量从 40 个容量单元更改为 10 个容量单元,则在星期二上午 10:00 之前,您需要按每小时 40 个容量单元付费,之后需要按每小时 10 个容量单元付费。

请注意,预留的容量可用于预留所在区域中任何主题的发布和订阅吞吐量。如需详细了解预留,请参阅创建和管理精简版预留

无精简版预留的吞吐量

本部分仅适用于可用区级精简版主题。

您可以选择不使用预留,而是为单个主题预留发布和订阅吞吐量容量。在这种情况下,您需要按当前预留的容量付费,而不是按 24 小时的运行时间上限付费。

请注意,未预留配置的容量必须介于以下限制之间:

  • 为每个分区发布 4 MiB 到 16 MiBps(相当于 4 和 16 容量单元)。
  • 为每个分区订阅 4 MiB 到 32 MiBps(相当于 2 和 16 容量单元)。

计算单个主题的吞吐量容量费用(无需预留)

以下部分可帮助您计算不使用预留的单个可用区级精简版主题的吞吐量容量费用:

  • 主题类型 = 可用区级精简版主题
  • 主题数量 = 1
  • 分区数 = 4
  • 发布吞吐量峰值 = 16 MiBps
  • 发布吞吐量所需的容量单位 = 16
  • 峰值订阅吞吐量 = 16 MiBps
  • 订阅吞吐量所需的容量单位 = 8
  • 所需的总容量单位 = 16+8 = 24
  • 北美 24 个容量单位的每月费用 = $108

存储费用

与精简版吞吐量一样,您需要为主题的存储容量付费。 Pub/Sub Lite 按您在一个月内预配的最大存储量收费。每个分区必须至少有 30 GiB 的存储容量。

区域级精简版主题将数据存储在一个区域的两个可用区中,而可用区级 LLite 主题仅将数据存储在一个区域内的一个可用区中。区域级精简版主题会使用 2 个字节的存储空间来存储所发布的消息的每个字节。因此,发布到区域级精简版主题的每个字节的存储费用是可用区级精简版主题的两倍。

如需估算 Pub/Sub Lite 系统的存储空间容量,请参阅以下列表:

  • 确定存储消息所需的时间。

    如需估算所需的总存储空间,请将每个分区的平均预期吞吐量乘以存储消息所需的时间。例如,如需在可用区级精简版主题的 10 个分区中每秒发布 40 MiB 的消息并将消息保留一天,请预配 3375 GiB 的存储空间(相当于 40 MiBps * 3600 秒/小时 * 每天 24 小时 * 1 GiB/1024 MiB)。在北美,存储费用为 $135(相当于 3375 GiB * 每天 24 小时 * 每月 30 天 * $0.04 / GiB-month-zone)。对于区域级精简版主题,由于数据存储在两个可用区中,因此存储费用将翻倍至 270 美元。

  • 考虑不均匀的密钥分布。

    系统会为所有分区分配相同的存储容量。如果您希望某些分区的卷大于其他分区,请预配所有分区,以具有最大分区所需的存储空间。

消息量计算

计算吞吐量和存储空间的消息大小时,每条消息最少使用 256 个字节。如果消息超过 256 个字节,则消息的大小是以下消息属性的总和:

  • 编码的消息正文字符串的字节数
  • 每个特性的键和值的字节数
  • 排序键的字节数
  • 事件时间戳(12 个字节)

数据传输费用

仅当您的订阅者与主题位置不同时,才需要支付 Pub/Sub Lite 数据传输费用。Google Cloud 区域之间的互联网数据传出和消息传输费用与 VPC 网络费率一致,但存在以下例外情况:

  • 如果区域级精简版主题中的订阅者与该主题位于同一区域,则没有可用区数据传输费用。

  • 向 Google 产品传输数据不能免除数据传输费用。

使用非美元货币付费

如果您使用非美元货币付费,请参阅 Google Cloud SKU 上以您的币种列出的价格。其中列出的是每 TiB(2^40 字节,约为 1.1 万亿字节)数据的价格。

后续步骤

申请定制报价

Google Cloud 采用随用随付的价格模式,您只需为实际使用的服务付费。请与我们的销售团队联系,获取为贵组织量身定制的报价。
联系销售团队