透過將 Cloud Billing 資料匯出至 BigQuery 的功能,您隨時可將詳細的 Google Cloud 帳單資料 (例如用量、預估費用和定價資料) 自動匯出至您指定的 BigQuery 資料集,接著,您就能在 BigQuery 中存取 Cloud Billing 資料來執行詳細的數據分析,或是透過 Looker Studio 等工具以圖表呈現資料。您也可以使用這個匯出方法,以 JSON 檔案格式匯出資料。
時機很重要。如要取得更完整的Google Cloud 帳單資料以供分析,建議您在建立 Cloud Billing 帳戶時,一併啟用將 Cloud Billing 資料匯出至 BigQuery 的功能。
請參閱限制,瞭解可能影響帳單資料匯出至 BigQuery 的因素。
後續步驟
無論您經營的是數十億美元的企業,還是管理小型家庭預算,有效管理及回報成本都是財務管理的重要環節。如要根據資料做出有關Google Cloud 費用和用量的決策,首先要收集相關資料,以利做出明智決策。
請參閱本節的指南,瞭解如何執行下列工作:
設定將 Cloud Billing 資料匯出至 BigQuery
如要開始收集 Cloud Billing 資料,請啟用將 Cloud Billing 資料匯出至 BigQuery 的功能。
設定指南提供最佳做法建議和詳細操作說明,協助您啟用 Cloud Billing 資料匯出至 BigQuery 的功能。您可以啟用下列類型的 Cloud Billing 資料匯出功能:
標準使用費用資料 - 包含標準 Cloud Billing 帳戶費用使用資訊,例如帳戶 ID、月結單日期、服務、SKU、專案、標籤、 位置、費用、用量、抵免額、調整項和幣別。
使用標準用量匯出功能,分析費用資料的廣泛趨勢。
詳細用量費用資料:包含詳細的 Cloud Billing 帳戶費用用量資訊。包含標準使用費用資料中的所有項目,以及資源層級的費用資料,例如產生服務用量的虛擬機器或 SSD。
使用「使用費用詳細資料」匯出功能,分析資源層級的費用,並找出可能增加費用的特定資源。詳細匯出內容包含下列產品的資源層級資訊:
- Compute Engine
- Google Kubernetes Engine (GKE)
- Cloud Run 函式
- Cloud Run
如要查看 GKE 相關資訊,請在詳細匯出中啟用費用分配功能。
如需更多建議和限制,請參閱詳細用量成本資料的結構定義。
(僅限經銷商) 重新結算資料匯出 - 包含所有經銷商帳單帳戶的詳細 Cloud Billing 帳戶費用用量資訊,並註記合作夥伴專屬屬性。
使用重新結算資料匯出功能,管理客戶的帳單作業。Google Cloud 進一步瞭解重新定價設定,產生向終端客戶收取的費用。
定價資料 - 包含 Cloud Billing 帳戶定價資訊,例如帳戶 ID、服務、SKU、產品、地理位置中繼資料、定價單位、幣別、匯總和層級。
您也可以透過下列方式取得 Cloud Billing 帳戶的定價資料:
承諾使用折扣 (CUD) 中繼資料 (預先發布版) - 對於購買 CUD 的客戶,這項每日匯出功能會將 CUD 中繼資料提供給 BigQuery 資料表,您可以將這些資料與其他帳單資料匯出項目合併,以便更妥善地管理及回報 CUD。CUD 中繼資料包含帳單帳戶 ID、產品 ID、消耗模型 ID、承諾金額單位和值等資訊。
使用 BigQuery 儲存及查詢 Cloud Billing 資料會產生少許費用。詳情請參閱「使用費用」。
請參閱限制,瞭解可能影響帳單資料匯出至 BigQuery 的因素。
瞭解 Cloud Billing 資料表
啟用 Cloud Billing 匯出至 BigQuery 的功能後,系統會在 BigQuery 資料集中自動建立 Cloud Billing 資料表。
如要瞭解匯出內容的資料結構定義,請參閱參考資訊,瞭解匯出至 BigQuery 資料集各個表格的 Cloud Billing 資料內容。
尋找 Cloud Billing 資料的查詢範例
如需使用 SQL 查詢 Cloud Billing 資料的訣竅和指引,請參閱範例查詢。
在範例查詢頁面中,您會看到各種 SQL 範例,包括:
使用費用
使用 BigQuery 儲存及分析帳單用量和費用資料,通常只會產生少許費用。
- 將資料載入至指定資料集是免費的,這項動作會利用 BigQuery 的共用資源集區,分批載入資料。
- 使用 BigQuery 匯出及分析 Cloud Billing 資料時,相關費用取決於您串流、儲存及查詢的資料量。
- 許多分區資料表作業都是免費的,包括將資料載入分區、複製分區,以及從分區匯出資料。雖然這些作業都是免費的,但仍受限於 BigQuery 的配額與限制。
一般來說,查詢詳細費用匯出資料的費用,可能會高於查詢標準匯出資料。為盡量節省費用,建議您使用「標準」匯出功能分析費用趨勢,並使用「詳細」匯出功能追蹤資源層級的費用,找出可能增加費用的特定資源。
如想瞭解可能的費用金額,請參閱估算儲存空間和查詢費用的相關說明。
如要進一步瞭解如何運用最佳做法在 BigQuery 中節省費用,請參閱「控管 BigQuery 費用」。
如需詳細價格,請參閱 BigQuery 定價。
限制
將 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。