价格

Pub/Sub 的价格取决于以下因素:

  • 消息提取和传送
  • 跳转功能相关的消息存储:快照和保留的已确认消息

消息提取和传送

自 2019 年 6 月开始的消息传送价格

发布或传送消息的价格为每 TiB $40,没有阶梯价格。此外,我们引入了数据的区域出站费用。互联网出站流量和 GCP 区域之间的消息传送费用与 Compute Engine 网络费率一致,但地区出站流量和传送到 Google 产品的出站流量除外。Pub/Sub 不收取地区出站流量费用,流向 Google 产品的出站流量不能免除出站费用。例如,如果将 1 MiB 的消息发布在 us-west1 中并传送给 europe-west1 中的订阅者,则在两个不同的 SKU 之间总共会产生 3MiB 的计费数据量:基础消息传送对应的 2 MiB (发布和传送的数据量各为 1 MiB),以及从美洲到欧洲、中东和非洲的区域间数据传送对应的 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;

2019 年 6 月 21 日以前的价格表

数据量是根据拉取、推送和发布操作的消息和特性数据计算的。消息提取和传送根据在一个日历月内传输的数据量计费:

每月数据量 每 TiB 价格
前 10 GiB $0.00
接下来的 50 TiB $60
接下来的 100 TiB $50
超过 150 TiB 以后 $40
如果您使用非美元货币付费,请参阅 Google Cloud SKU 上以您的币种列出的价格。上面列出的是每 TiB(240字节,约为 1.01 万亿字节)数据的价格。

示例:消息提取和传送

为了说明您可能需要支付的操作总费用,假设有这样一个应用,该应用向具有两个订阅的主题发布 1024 kB 消息,传送速率为 1 MiB/秒。假设订阅者能够及时接收,且 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 GiB) 后,有 7.406 TiB 的数据需按 $60 每 TiB 层级计费,费用为 $444.36。

最低可计费数据量

每个请求(不是消息)的最低可计费数据量为 1 kB 数据。例如,100 个发布请求(每个请求包含一条 500 字节的消息)的实际数据量为 50 kB,但可计费数据量为 1 kB/request x 100 requests = 100 kB。然而,如果在单个发布请求中发布了所有 100 条消息,则可计费数据量等于实际数据量 (50 kB)。

跨项目计费

如果您在多个项目中使用 Pub/Sub,则 Pub/Sub 费用将计入包含所请求资源(例如订阅)的项目中。例如,项目 A 中的服务帐号可能拥有项目 B(在结算帐号 B 下)中某一订阅的订阅者权限。这种情况下,服务帐号 A 从订阅中拉取的数据所产生的费用由结算帐号 B 支付。或者,如果订阅在项目 A 中(即使该订阅连接了项目 B 中的一个主题),则从订阅中拉取的数据所产生的费用由帐号 A 支付。

与跳转功能相关的消息存储

价格

在以下情况下,消息存储费用为每月每 GiB $0.27:

  • 订阅配置为保留已确认的消息,以便使用还原功能来重新处理消息。在此情况下,针对保留的已确认消息收取存储费用。
  • 创建了订阅的快照。在此情况下,我们会针对存储快照的未确认消息收取消息存储费用。

示例:保留已确认消息的订阅

参考前述的消息提取示例,但其中一个订阅配置为保留已确认消息:

  • 订阅的主题具有稳定的 1 MiB/秒传入数据速率。
  • 订阅者可以及时接收订阅数据,以 1 MiB/秒的速度消耗数据,而且新消息积压可忽略不计。
  • 订阅配置为保留已确认的消息 7 天。
  • 已确认的消息量增长速度为 1 MiB/second x 3600 seconds/hour x 24 hours/day = 84.4 GiB/day
  • 7 天后,保留的已确认消息会开始过期,存储的已确认消息总量稳定在 7 days x 84.4 GiB/day = 591 GiB
存储此消息量的每月总费用约为 591 GiB-month x $0.27/GiB-month = $159

示例:快照消息存储费用

快照消息存储费用包括发布到快照主题的新消息增量费用以及创建时的一次性费用。设想保留已确认消息的订阅的快照。除非提前删除快照,否则快照的生命周期为 7 天,因为据以创建该快照的订阅并没有积压的未确认消息。到快照过期时,其积压的未确认消息为 591 GiB。在第一分钟发布的数据 (60 MiB) 会存储 7 天 - 1 分钟,在第二分钟发布的数据将存储 7 天 - 2 分钟,依此类推,平均存储持续时长为 1/2 x 7 days = 3.5 days。在这种情况下,使用的存储量为 591 GiB x 3.5 days = 2068.5 GiB-days,一个月(30 天)的费用为 2067 GiB-days x (1/30 months/day) x $0.27/GiB-month = $18.62。因此,存储快照可能要比保留已确认消息更经济。

示例:存在积压的订阅的快照

如果订阅在创建快照时有积压的未确认消息,则会收取一次性费用,金额相当于将相应积压数据存储七天整的费用。例如,假设某个订阅含有 10 GiB 积压的未确认消息。创建快照时的一次性费用为 10 GiB x 7 days / 30 days/month x $0.27/GiB-month = $0.63

资源位置限制的影响

如果消息存储政策迫使数据离开某 Google Clou 区域,则可能会产生额外的区域出站流量(网络)费用。以具备下述特点的消息为例:

  • 发布于 A 区域中
  • 路由到 B 区域中加以存储
  • 传送到 C 区域中的订阅者客户端

在此示例中:

  • 包含主题的项目需支付从 A 区域到 B 区域的网络出站流量费用。
  • 包含订阅的项目需支付从 B 区域到 C 区域的出站流量费用。

仅当所发布消息的存储区域与发布区域不同(即 B 区域与 A 区域实际上是两个不同的区域)时,包含主题的项目才需要支付出站流量费用。仅当所发布消息的存储区域与订阅者客户端所在的区域不同(C 区域与 B 区域是两个不同的区域)时,包含订阅的项目才需要支付出站流量费用。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Pub/Sub 文档