瞭解 BigQuery 中的 Cloud Billing 資料表

本文提供參考資訊,說明匯出至 BigQuery 各個資料表的 Cloud Billing 資料結構定義。

帳單資料表

啟用 Cloud Billing 匯出至 BigQuery 後不久,系統就會在 BigQuery 資料集中自動建立帳單資料表。

  • 標準用量費用表:在 BigQuery 資料集中,這個資料表名為 gcp_billing_export_v1_<BILLING_ACCOUNT_ID>
  • 使用費用詳細資料表:包含標準使用費用表的所有資料欄位,以及提供資源層級費用資料的額外欄位,例如產生服務用量的虛擬機器或 SSD。在 BigQuery 資料集中,這個資料表名為 gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>
  • 定價資料表:在 BigQuery 資料集中,這個資料表名為 cloud_pricing_export

資料載入頻率

標準和詳細使用費用匯出

  • 首次啟用標準或詳細使用費用匯出至 BigQuery 功能時,可能需要幾小時,Google Cloud 費用資料才會開始傳播至 BigQuery 資料集。系統會按照時間先後順序匯出資料,如果設定匯出目前和上個月的資料,匯出的資料最多可能需要五天,才能完全與目前的用量資料同步。
  • Google Cloud 服務會以不同間隔向 Cloud Billing 程序回報用量和費用資料。
  • Cloud Billing 會定期將用量和費用資料匯出至您的 BigQuery 資料集 (匯出至 BigQuery 的資料不保證會準時送達,也不保證延遲時間)。
  • 由於用量報表更新頻率會因 Google Cloud 服務而異,因此您可能無法立即查看所有最近使用的 Google Cloud 服務的 Cloud Billing 用量和費用資料。

匯出價格

  • 首次啟用價格匯出至 BigQuery 功能時,可能需要最多 48 小時,才會開始看到 Google Cloud 價格資料。
  • 啟用價格匯出功能後,系統每天會將適用於 Cloud Billing 帳戶的價格資料匯出至 BigQuery。

資料可用性

  • 如果客戶首次啟用標準或詳細使用費用資料匯出功能:

    • 如果您將 BigQuery 資料集設定為使用多區域位置 (歐盟或美國),系統會從上個月初開始,追溯匯出 Cloud Billing 資料。舉例來說,如果您在 9 月 23 日啟用「標準使用費用」或「詳細使用費用」資料匯出功能,匯出作業就會納入 8 月 1 日起的資料。

      系統會依時間順序匯出資料,每天匯出一次,因此上個月第一天的資料會先匯出。初始回填匯出資料時,系統可能需要最多五天才能完成回溯 Cloud Billing 資料的匯出作業,之後您才會開始看到最新的用量資料。

    • 如果您設定BigQuery 資料集使用支援的區域位置,啟用 Cloud Billing 匯出功能後,即可取得標準使用費用詳細使用費用資料。也就是說,系統Google Cloud 不會回溯新增非多區域資料集位置的帳單資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 資料。

    • 如果客戶啟用、停用,然後重新啟用標準使用費用使用費用詳細資料匯出功能,則在明確停用匯出功能的期間,可能無法取得 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 資料匯出新增 BigQuery 資料表結構定義的欄位),直接參照匯出資料欄的任何查詢可能會失敗。為解決這個問題,建議您建立 BigQuery 檢視區塊,查詢匯出的資料表,並以偏好的結構呈現資訊。

    接著,您可以調整提供報表和資訊主頁資料的查詢,從檢視畫面而非匯出的資料表擷取資料。使用檢視區塊,即可將查詢和資訊主頁中使用的資料結構標準化。

    您建立的檢視區塊應將資料正規化,讓所有相關資料表向查詢呈現相同的結構定義。這樣一來,您就不會受到日後結構定義變更的影響,並可在資料結構定義變更時,修改檢視畫面的基礎查詢。

  • 支援用於 Cloud Billing 資料的 BigQuery 資料集位置

    BigQuery 資料集會設定為使用位置,可以是多區域位置 (歐盟或美國),也可以是區域位置。資料集位置是在建立時設定。資料集建立後,就無法變更位置。

    Cloud Billing 資料匯出功能支援所有多地區位置 (歐盟或美國),但僅支援部分地區位置。設定 Cloud 帳單匯出設定時,如果建立或選取的資料集設定為使用不支援的區域位置,嘗試儲存匯出設定時,系統會顯示「無效的資料集區域」錯誤。

    下表列出多地區位置地區位置,這些位置支援用於包含 Cloud Billing 資料的 BigQuery 資料集。

    美洲 亞太地區 歐洲

    多區域:美國

    區域

    • northamerica-northeast1 (蒙特婁)
    • southamerica-east1 (聖保羅)
    • us-central1 (愛荷華州)
    • us-east1 (南卡羅來納州)
    • us-east4 (北維吉尼亞州)
    • us-west1 (奧勒岡州)
    • us-west2 (洛杉磯)
    • us-west3 (鹽湖城)
    • us-west4 (拉斯維加斯)

    區域

    • asia-east1 (台灣)
    • asia-east2 (香港)
    • asia-northeast1 (東京)
    • asia-northeast2 (大阪)
    • asia-northeast3 (首爾)
    • asia-south1 (孟買)
    • asia-southeast1 (新加坡)
    • asia-southeast2 (雅加達)
    • australia-southeast1 (雪梨)

    多區域:歐盟

    區域

    • europe-central2 (華沙)
    • europe-north1 (芬蘭)
    • europe-west1 (比利時)
    • europe-west2 (倫敦)
    • europe-west3 (法蘭克福)
    • europe-west4 (荷蘭)
    • europe-west6 (蘇黎世)

  • 如果您編輯匯出設定,更新匯出帳單資料的儲存專案或資料集,系統不會將先前匯出的帳單資料回填至新資料集。如要納入切換前匯出的帳單資訊,您必須手動將新資料集與先前的資料集合併。詳情請參閱彙整作業

  • 對於包含標準使用費用資料詳細使用費用資料BigQuery 資料集,您在資料集上設定的位置類型會影響時間,也就是 Google Cloud 帳單資料匯出至資料集的時間:

    • 如果將資料集設定為使用多區域位置 (歐盟或美國),資料集會包含 Google Cloud 從上個月初起產生的帳單資料,直到您首次啟用匯出功能為止。也就是說,Google Cloud 系統會回溯新增當月和上個月的帳單資料初始回填匯出資料時,系統最多可能需要五天才能完成回溯 Cloud Billing 資料的匯出作業,之後您才會開始看到目前的用量資料。只有在首次啟用匯出功能時,系統才會回溯填入資料。如果您編輯匯出設定,變更匯出帳單資料的儲存專案或資料集,或是重新啟用匯出功能,系統不會追溯新增帳單資料
    • 如果資料集設定為使用支援的區域位置標準使用費用資料詳細使用費用資料只會反映 Google Cloud 您啟用 Cloud Billing 匯出功能當日起的帳單資料。也就是說,系統Google Cloud 不會回溯新增帳單資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 資料。

    • 詳情請參閱「資料可用性」。

  • 含有定價資料BigQuery 資料集只會收集您設定 Cloud Billing 匯出功能當日起的帳單資料。 Google Cloud 也就是說,系統不會回溯新增定價資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 定價資料。Google Cloud 詳情請參閱「資料可用性」。

  • 匯出詳細用量費用資料時,詳細匯出內容會自動納入 Compute Engine 的資源層級資訊。如要在詳細資料匯出內容中查看 Google Kubernetes Engine (GKE) 叢集費用明細,您也必須啟用 GKE 的費用分配功能

  • 資料集加密:將帳單資料匯出至 BigQuery 時,不支援客戶自行管理的加密金鑰 (CMEK)。如果您為帳單資料集啟用 CMEK 加密,Cloud Billing 就無法將帳單資料寫入該資料集中的適當資料表。如要使用 Google-owned and Google-managed encryption key,您必須啟用資料集

  • 如要在包含匯出資料的資料表上使用 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);
    
  • 資源層級標記最多可能需要一小時,才會傳播至 BigQuery 匯出作業。如果標記是在一小時內新增或移除,或是資源存在時間未滿一小時,可能不會顯示在匯出檔案中。

    下列資源提供資源層級標記:

    • Compute Engine 執行個體
    • Spanner 執行個體
    • Cloud Run 服務
    • Artifact Registry 存放區
  • 如果您使用 VPC Service Controls,系統可能會封鎖 BigQuery 匯出作業。如要解決這個問題,您需要手動豁免 VPC。

Google Cloud 控制台提供的費用和價格報表