本文提供參考資訊,說明匯出至 BigQuery 各個資料表的 Cloud Billing 資料結構定義。
帳單資料表
啟用 Cloud Billing 將資料匯出至 BigQuery 後不久,系統就會在 BigQuery 資料集中自動建立帳單資料表。
- FOCUS 用量成本表
(預覽版)
– Google 提供名為
gcp_billing_immutable_<BILLING_ACCOUNT_ID>_<Location>的不可變更 BigQuery 資料集, 以及名為gcp_billing_export_focus_<BILLING_ACCOUNT_ID>的 FOCUS 資料表。 - 標準用量費用表:在 BigQuery 資料集中,這個資料表名為
gcp_billing_export_v1_<BILLING_ACCOUNT_ID>。 - 使用費用詳細資料表:包含標準使用費用表的所有資料欄位,以及提供資源層級費用資料的額外欄位,例如產生服務用量的虛擬機器或 SSD。在 BigQuery 資料集中,這個資料表名為
gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>。 - 價格資料表:在 BigQuery 資料集中,這個資料表名稱為
cloud_pricing_export。 - 承諾使用折扣 (CUD) 中繼資料
(搶先版)
– 這包括 CUD 中繼資料,例如帳單帳戶 ID、產品 ID、使用模式 ID、承諾金額單位和值等。在 BigQuery 資料集中,這個資料表名稱為
cud_subscriptions_export。
資料載入頻率
FOCUS、標準和詳細使用費用匯出
- 首次啟用「FOCUS」、「標準」或「詳細」使用費用匯出至 BigQuery 功能時,可能需要幾小時,Google Cloud 費用資料才會開始傳播至 BigQuery 資料集。資料會依時間順序匯出。如果設定匯出作業時包含當月和上個月的追溯資料,匯出的資料最多可能需要五天,才能完全與目前的用量資料同步。
- Google Cloud 服務會按照不同間隔,將用量和費用資料回報給 Cloud Billing 程序。
- Cloud Billing 會定期將用量和費用資料匯出至您的 BigQuery 資料集 (匯出至 BigQuery 的作業不保證傳送或延遲)。
- 由於用量報表更新頻率會因 Google Cloud 服務而異,因此您可能無法立即查看所有最近使用的 Google Cloud 服務的 Cloud Billing 用量和費用資料。
匯出定價和 CUD 中繼資料
- 首次啟用價格匯出至 BigQuery 功能時,您可能需要等待最多 48 小時,才會開始看到 Google Cloud 價格資料。
- 啟用價格匯出功能後,系統每天會將適用於 Cloud Billing 帳戶的價格資料匯出至 BigQuery。
資料可用性
如果客戶首次啟用 FOCUS、標準或詳細使用費用資料匯出功能:
如果您將 BigQuery 資料集設定為使用多區域位置 (歐盟或美國),系統會從上個月初開始,追溯匯出 Cloud Billing 資料。舉例來說,如果您在 9 月 23 日啟用 FOCUS 使用費用、標準使用費用或詳細使用費用資料匯出功能,匯出作業就會包含 8 月 1 日起的資料。
系統會依時間順序逐日匯出資料,因此上個月第一天的資料會最先匯出。首次回填匯出資料時,系統最多可能需要五天才能完成匯出回溯 Cloud Billing 資料,之後您才會開始看到最新的用量資料。
如果您設定 BigQuery 資料集使用支援的區域位置,系統會從您啟用 Cloud Billing 匯出功能當天起,提供 FOCUS 使用費用、標準使用費用或詳細使用費用資料。也就是說,系統不會為非多區域資料集位置溯及過往的帳單資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 資料。 Google Cloud
如果客戶啟用、停用,然後重新啟用「FOCUS 使用費用」、「標準使用費用」或「詳細使用費用」資料匯出功能,則在明確停用匯出功能的期間,可能無法取得 Cloud Billing 資料。
如果您啟用定價資料匯出功能,BigQuery 資料集只會反映您首次啟用定價匯出功能當日起的 Cloud Billing 資料。系統不會溯及過往的 Cloud Billing 定價資料,因此您不會看到啟用匯出功能之前的定價資料。
BigQuery 資料集中的資料會反映資源在記錄用量時的狀態。如果您變更資源 (例如為專案新增標籤,或變更專案的階層 (這會變更
project.ancestors)),這些變更只會顯示在日後匯出的用量資料中,先前匯出的記錄不會變更。如果刪除了任何匯出的資料 (例如 BigQuery 匯出記錄),我們就無法針對已刪除的記錄進行補充作業。
如果您編輯匯出設定,更新匯出帳單資料的儲存專案或資料集,系統不會自動將先前資料集中的資料回填至新資料集;新的 BigQuery 資料集只會反映您變更匯出設定當天起產生的 Cloud Billing 資料。如要納入完整的匯出帳單資料記錄,您必須手動將新資料集與先前的資料集合併。詳情請參閱「聯結作業」。
BigQuery 的載入作業符合 ACID 標準,因此,如果在資料載入到 BigQuery Cloud Billing 匯出資料集時進行查詢,並不會看到部分載入的資料。
請參閱其他限制,瞭解可能影響帳單資料匯出至 BigQuery 的因素,例如已啟用客戶自行管理的加密金鑰 (CMEK) 的資料集。
限制
將 Cloud Billing 資料匯出至 BigQuery 時,會受到下列限制。
Cloud Billing 資料匯出的資料表結構定義
任何 Cloud Billing 資料匯出的資料表結構定義都可能變更。
如果資料表結構定義有所變更 (例如為 Cloud Billing 資料匯出新增 BigQuery 資料表結構定義的欄位),任何直接參照匯出欄位的查詢都可能會失敗。為解決這個問題,建議您建立 BigQuery 檢視區塊,查詢匯出的資料表,並以偏好的結構呈現資訊。
接著,您可以調整提供報表和資訊主頁資料的查詢,從檢視畫面而非匯出的資料表擷取資料。使用檢視區塊,即可將查詢和資訊主頁中使用的資料結構標準化。
您建立的檢視區塊應將資料正規化,讓所有相關資料表都向查詢呈現相同的結構定義。這樣一來,您就不會受到日後結構定義變更的影響,並可在資料結構定義變更時,修改檢視區塊的基礎查詢。
FOCUS 匯出和資料保留
以 Google 提供的 FOCUS 格式匯出至 BigQuery 的帳單資料適用 2 年存留時間 (TTL) 政策,超過 2 年的資料會自動從 BigQuery 資料集提供的 FOCUS 匯出資料表中刪除。如要將 FOCUS 帳單資料記錄保留超過 2 年,請將 FOCUS 資料複製到您擁有的長期儲存資料表。
BigQuery 資料集位置和資料可用性
可搭配 Cloud Billing 資料使用的 BigQuery 資料集位置:
BigQuery 資料集會設定為使用位置,可以是多區域位置 (歐盟或美國),也可以是區域位置。資料集位置是在建立時設定,建立後就無法變更。
Cloud Billing 資料匯出功能支援所有多區域位置 (歐盟或美國),但僅支援部分區域位置。設定 Cloud Billing 匯出設定時,如果建立或選取的資料集設定為使用不支援的區域位置,嘗試儲存匯出設定時,系統會顯示「無效的資料集區域」錯誤。
下表列出支援用於含有 Cloud Billing 資料的 BigQuery 資料集的多區域位置,以及區域位置。
| 美洲 | 亞太地區 | 歐洲 | 中東 |
|---|---|---|---|
|
多區域:美國 區域:
|
區域:
|
多區域:歐盟 區域:
|
區域:
|
地點和資料可用性:
對於包含 FOCUS 用量費用資料、標準用量費用資料或詳細用量費用資料的 BigQuery 資料集,您在資料集上設定的位置類型會影響時間,也就是 Google Cloud 帳單資料 Google Cloud 匯出至資料集的時間:
- 如果您將資料集設定為使用多區域位置 (歐盟或美國),資料集會包含 Google Cloud 從您首次啟用匯出功能起,上個月初產生的帳單資料,除非您重新啟用匯出功能。也就是說,Google Cloud 系統會追溯新增目前和上個月的帳單資料。首次回填匯出資料時,系統可能需要最多五天才能完成追溯匯出 Cloud Billing 資料,之後您才會開始看到目前的用量資料。
如果資料集設定為使用支援的區域位置,則FOCUS 費用資料、標準費用資料和詳細費用資料只會反映 Google Cloud 您啟用 Cloud Billing 匯出功能當日起的帳單資料。也就是說, Google Cloud 系統不會追溯新增非多區域資料集位置的帳單資料,因此您不會看到啟用匯出功能前的 Cloud Billing 資料。
詳情請參閱「資料可用性」。
包含定價資料的 BigQuery 資料集只會收集您設定 Cloud Billing 匯出功能當日起的帳單資料。也就是說,Google Cloud 系統不會溯及過往的定價資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 定價資料。詳情請參閱「資料可用性」。 Google Cloud
停用、重新啟用或編輯匯出設定
如果您停用、重新啟用或編輯匯出設定,更新匯出帳單資料的儲存專案或資料集,系統不會將先前匯出的帳單資料回填至新資料集。如要納入切換至其他專案或資料集前匯出的帳單資訊,請務必手動將新資料集與先前的資料集合併。詳情請參閱彙整作業。
資料集加密
BigQuery 資料集設定為使用靜態資料加密,方法是在建立資料集時設定加密金鑰選項,也就是 Google-owned and Google-managed encryption key或客戶自行管理的加密金鑰 (CMEK)。資料集加密選項只能在建立時設定。 資料集建立後,就無法變更加密設定。
如果您已啟用 Cloud Billing 資料匯出至 BigQuery 的功能,且資料集已設定為使用Google-managed encryption key,則可以使用 bq 指令列工具,在資料集中的每個資料表上啟用 CMEK。除非您另行設定,否則 BigQuery 會自動使用資料集預設金鑰保護匯出資料表。
資料列層級安全防護機制
如要在包含匯出資料的資料表上使用 BigQuery 資料列層級安全性,請使用 BigQuery TRUE 篩選器,授予 Cloud Billing 匯出服務帳戶 billing-export-bigquery@system.gserviceaccount.com 該資料表的完整存取權。下列指令會授予 Cloud Billing 服務帳戶存取權:
CREATE ROW ACCESS POLICY cloud_billing_export_policy
ON `__project_id__.__dataset_id__.__table_id__`
GRANT TO ('serviceAccount:billing-export-bigquery@system.gserviceaccount.com')
FILTER USING (TRUE);
採用 FOCUS 格式或詳細的費用資料和 GKE
匯出 FOCUS 使用費用資料或使用費用詳細資料時,匯出內容會自動納入 Compute Engine 和其他服務的資源層級資訊。不過,如要查看 FOCUS 或詳細資料匯出內容中 GKE 叢集費用的明細,您也必須啟用 GKE 的費用分配功能。
資源層級標記
資源層級標記最多可能需要一小時,才會傳播至 BigQuery 匯出作業。如果標記是在一小時內新增或移除,或是資源存在時間未滿一小時,可能不會顯示在匯出檔案中。
在標準使用費用匯出和詳細使用費用匯出中,有幾項資源提供資源層級標記。
相關主題
與匯出的 Cloud Billing 資料相關的主題
Google Cloud 控制台提供的費用和價格報表
- 查看 Cloud Billing 報表和費用趨勢
- 查看及下載月結單或對帳單的費用明細
- 查看及下載 Google 雲端服務的價格
- 透過費用明細報表瞭解節約效益
- 分析承諾使用折扣的效益
- 查看費用和付款記錄