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) | 訂閱項目數 | 可用區 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 主題或從主題的訂閱項目讀取 (訂閱處理量) 的位元組總數。
每個曆月,帳單帳戶中前 10 GiB 的輸送量 (識別為 Message Delivery Basic SKU) 免費。其後所有 Google Cloud 區域的價格均為 $40 美元/TiB。不過,如果您使用匯入主題或匯出訂閱,請參閱後續章節。
BigQuery 訂閱的輸送量費用
在所有Google Cloud 區域,BigQuery 訂閱項目讀取 (訂閱輸送量) 訂閱項目資料並寫入 BigQuery 的費用為每 TiB $50 美元。不會產生額外的 BigQuery 資料擷取費用。不過,其他類型的 BigQuery 費用 (例如儲存空間和資料擷取) 仍會產生。詳情請參閱 BigQuery 定價一文。 BigQuery 訂閱輸送量的前 10 GiB 並非免費。
Cloud Storage 訂閱方案的處理量費用
在所有 Google Cloud區域,Cloud Storage 訂閱項目的費用為 $50 美元/TiB,用於從訂閱項目讀取資料 (訂閱輸送量) 並寫入 Cloud Storage。Cloud Storage 訂閱項目將檔案寫入 bucket 時,可能會產生其他類型的額外費用。包括儲存、擷取和複製等費用。詳情請參閱 Cloud Storage 定價。Cloud Storage 訂閱服務的前 10 GiB 輸送量不免費。
匯入主題的處理量費用
在所有區域,將資料擷取至 Pub/Sub (發布輸送量) 的主題 (適用於 Kinesis Data Streams) 匯入費用為每 TiB $50 美元 Google Cloud 。
在所有區域,將資料擷取至 Pub/Sub (發布輸送量) 的主題 (適用於 Cloud Storage、Azure Event Hubs、AWS MSK 或 Confluent Cloud) 匯入費用為每 TiB $80 美元 Google Cloud 。
匯入主題將資料擷取至 Pub/Sub 主題時,可能會產生其他來源專屬的額外費用。這些費用包括 Kinesis Data Streams 來源的 AWS 輸出費用,以及 Cloud Storage 來源的 Cloud Storage 作業費用。匯入主題的輸送量前 10 GiB 不免費。
訊息量的計算方式
訊息使用的資料量為下列訊息屬性大小的總和:
- 編碼訊息內文字串的位元組數
- 每個屬性的鍵值大小及屬性值
- 計為 20 個位元組的時間戳記
message_id字串的大小- 額外的選用欄位大小,像是與搶先體驗內容相關聯的欄位,或與限制存取 API 相關聯的欄位。
無論要求中的訊息大小為何,每項要求都會產生至少 1 KB 的費用。因此,如果訊息小於 1 KB,在單一要求內批次處理多則訊息較為經濟實惠。
儲存空間費用
下列項目會收取每月每 GiB $0.27 美元的儲存空間費用:
- 主題已設為保留訊息。在這種情況下,系統會儲存已發布至主題的所有訊息,直到設定的訊息保留時間為止,因此會產生訊息儲存費用。
- 訂閱項目設為保留已確認的訊息。在這種情況下,會針對保留的已確認訊息收取儲存費。
- 建立訂閱項目的快照。在這種情況下,會針對儲存快照保留的訊息收取訊息儲存費。 此外,如果訂閱項目在快照建立時有待處理的未確認訊息,則會收取一次性費用,金額相當於儲存待處理工作七天的費用。
訂閱項目已設定超過 1 天的訊息保留時間 ,且有超過 1 天的待處理訊息。在這種情況下,會針對超過 1 天的未確認訊息收取儲存費。 如果訂閱項目的主題已設為保留訊息,則不會針對未確認的訊息收取額外費用。
假設主題未啟用訊息保留功能,而附加的訂閱項目則將訊息保留時間設為預設的 7 天。 如果訂閱者能在發布訊息後 1 天內處理完畢,訂閱項目擁有者就不必支付未確認訊息的儲存費用。不過,如果訂閱者無法在發布後 24 小時內處理訊息,則會針對保留超過 1 天的未確認訊息收取儲存費用。
假設某主題的訊息保留時間設為 4 天,而附加的訂閱項目則設為預設的 7 天。由於主題已保留這些訊息,因此訂閱項目擁有者不會因發布後保留不到 4 天的未確認訊息而產生儲存費用。如果訂閱者在發布訊息後 4 天內無法處理,訂閱擁有者將需支付額外 3 天的費用。
如果選擇在個別訂閱項目中保留已確認的訊息,則可讓訂閱項目的擁有者享有最佳彈性,但這通常也是費用最高昂的儲存空間機制。最平價的儲存空間機制為透過主題保留訊息,這是因為由主題保留的訊息可供附加至該主題的所有訂閱項目使用,而且個別訂閱項目不會產生額外的費用。 如果主題已保留未確認的訊息,Pub/Sub 不會向訂閱項目擁有者收取這些訊息的保留費用。另外,單一快照可以用於多個訂閱項目,因此快照也是相當經濟實惠的選項。
請注意,如果主題的訊息保留設定變更,未確認訊息的費用也可能隨之變動。舉例來說,如果主題擁有者停用訊息保留功能,訂閱項目擁有者可能開始需要支付未確認訊息的儲存費用。
單一訊息轉換費用
UDF SMT 費用代表使用 Pub/Sub 主題 SMT 或 Pub/Sub 訂閱 SMT 處理的資料總量。資料處理費用會根據輸入和輸出訊息大小的較大者計算。舉例來說,如果 UDF SMT 將 5 MB 的訊息轉換為 8 MB 的訊息,資料處理費用將以 8 MB 為準計算。
所有 Google Cloud 區域的價格均為每 TiB $40 美元。
資料移轉費用
不同 Google Cloud 區域之間的網際網路資料移轉和訊息傳遞費率與 VPC 網路費率相同,但下列情況除外:
使用 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」專案中,則從該訂閱項目提取資料的費用將會計入「A」專案,即使該訂閱項目附加於「B」專案中的某個主題。
如果「A」專案中的某個授權服務帳戶消費了來自「B」專案中某個訂閱項目的訊息,則從該訂閱項目提取資料的費用將會計入「B」專案。
Pub/Sub Lite 服務定價
下列定價詳細資料僅適用於 Pub/Sub Lite,不適用於 Pub/Sub。除非另有說明,否則這些詳細資訊適用於可用區和區域 Lite 主題。包含以下章節:
處理量費用
處理量是指在一段時間內,寫入 (發布處理量) 至 Pub/Sub Lite 主題或從主題訂閱項目讀取 (訂閱處理量) 的位元組總數。
Pub/Sub Lite 處理量費用是根據佈建或保留的處理量容量計算,而非實際處理量 (MiBps) 或帳單週期內的總位元組數 (每月 MiB)。處理容量是以容量單位佈建和計費。您可以使用 Lite 預留項目,為同一區域的一或多個主題佈建處理容量。
下表列出 Pub/Sub Lite 系統的總處理量和儲存空間費用。
Lite 保留項目的處理量
Lite 保留項目可在特定區域的一或多個主題中,預留及共用處理容量。區域 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 美元
如要讓區域 Lite 主題 (5 個分區) 達到相同的處理量,您需要保留 40 個容量單位,其中 20 個用於發布處理量,20 個用於訂閱處理量。
您可以隨時變更預訂中的容量單位數量。 不過,系統會向您收取過去 24 小時內佈建的最大容量費用。舉例來說,如果您在週一上午 10:00 將保留項目的容量從 40 個容量單位變更為 10 個容量單位,我們就會在週二上午 10:00 前向您收取每小時 40 個容量單位的費用,之後則收取每小時 10 個容量單位的費用。
請注意,保留項目的容量可用於發布和訂閱處理量,且適用於與保留項目位於同一區域的任何主題。如要進一步瞭解保留項目,請參閱「建立及管理 Lite 保留項目」。
沒有 Lite 保留項目的處理量
本節僅適用於區域 Lite 主題。
您可以選擇不使用保留項目,並為單一主題保留發布與訂閱處理容量。在這種情況下,系統會向您收取目前保留容量的費用,而非運作滿 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 會依據您在一個月內佈建的最大儲存空間量收取費用。每個分區必須至少有 30 GiB 的儲存空間容量。
區域 Lite 主題會在區域的兩個可用區中儲存資料,而可用區 Lite 主題只會在區域的一個可用區中儲存資料。 發布訊息時,區域 Lite 主題會為每個位元組的訊息使用兩個位元組的儲存空間。因此,發布至區域 Lite 主題的每位元組儲存空間費用,是可用區 Lite 主題的兩倍。
如要估算 Pub/Sub Lite 系統的儲存空間容量,請參考下列清單:
決定訊息的儲存時間長度。
如要估算所需的總儲存空間,請將每個分區的預期平均輸送量,乘以儲存訊息所需的時間長度。舉例來說,如要每秒發布 40 MiB 的訊息,並將訊息保留一天,請在可用區 Lite 主題的 10 個分區中佈建 3,375 GiB 的儲存空間 (相當於 40 MiBps * 3,600 秒/小時 * 24 小時/天 * 1 GiB/1,024 MiB)。在北美洲,儲存空間費用為 $135 美元 (相當於 3,375 GiB * 每天 24 小時 * 每月 30 天 * 每月每可用區 GiB $0.04 美元)。區域 Lite 主題的資料會儲存在兩個可用區,因此儲存空間費用會加倍,變成 $270 美元。
考慮金鑰分配不均的情況。
所有分區的儲存空間容量皆相同。如果預期部分分區的資料量會大於其他分區,請為所有分區配置足夠的儲存空間,以容納資料量最大的分區。
訊息量的計算方式
計算輸送量和儲存空間的訊息大小時,每則訊息至少會使用 256 個位元組。如果訊息大於 256 個位元組,則訊息大小為下列訊息屬性的總和:
- 編碼訊息內文字串的位元組數
- 每項屬性的鍵與值位元組數
- 排序鍵的位元組數
- 事件時間戳記的 12 個位元組
資料移轉費用
只有當訂閱者與主題位於不同可用區或區域時,才會產生 Pub/Sub Lite 資料移轉費用。不同 Google Cloud 區域之間的網際網路資料輸出和訊息傳遞費率與 VPC 網路費率相同,但下列情況除外:
如果區域 Lite 主題的訂閱者與主題位於同一區域,則不會產生可用區資料移轉費用。
資料傳輸至 Google 產品無法免除資料傳輸費。
使用美元以外的貨幣支付費用
如果使用美元以外的貨幣付費,系統將按照 Google Cloud SKU 頁面上列出的相應貨幣價格來計費。費用計算單位為 TiB (2^40 個位元組,約為 1.1 兆位元組)。
後續步驟
使用 Pricing Calculator 計算 Pub/Sub 費用。
請參閱 Pub/Sub 的 SKU 群組。