FinOps-GCP的計費機制
- GCP 資源層次結構
- 計費概念
- 費率優化
- 詳細的資源使用情況和計費數據
首先需要在GCP裡確認的事項
- 公司網域是您組織的主要身份,並透過 Google 服務(包括 Google Cloud)建立公司的身份。
- 使用網域來管理組織中的使用者。
— 在Domain Level,我們可以定義使用 Google Cloud 時哪些使用者應與組織關聯。
— 也可以在網域中統一管理使用者和裝置的政策(例如,啟用MFA、為組織中的任何使用者重設密碼)。 - 該網域名稱已關聯到 Google Workspace 或 Cloud Identity account。
- Google Workspace 或 Cloud Identity account只能與一個組織關聯。
- 我們可以使用 Google 管理主控台 (admin.google.com) 管理Domain level的功能。
資源層級
什麼是Project
Project包含以下元素:
- 所有 GCP 服務/資源都與專案關聯(也就是資源的上一層一定有個Project)
- 追蹤資源和配額(Quota)使用情況
- 計費
- 權限和憑證(Credentials)
- 啟用”服務和 API”
什麼是IMA/Polices
- 政策(Policies)是針對資源(resource)設定的
- 資源從Parent-level繼承其政策
- 限制較少的Parent level policy會覆蓋限制較多的底層Policies
組織(Organization)
資源層次結構的root-node
組織(Organization)是 Google Cloud 資源層次結構的Root-node。屬於組織的所有 Google Cloud 資源都在組織節點下進行分群,這允許我們為其上一級(Parent)的所有專案、資料夾、資源及其 Cloud Billing 帳號定義"設定、權限和政策"。
組織與一個網域名稱相關聯(透過 Google Workspace 或 Cloud Identity account建立),並在 Google Cloud 中設定網域名稱時自動建立。
運用組織,我們可以集中管理 Google Cloud 資源以及使用者對這些資源的存取權。 這包括:
- 主動式管理:根據需要重組資源(例如,重組或組成新部門可能需要新專案和資料夾)。
- 回應式管理:組織資源提供了一個安全網,可以重新取得對遺失資源的存取權限(例如,如果我們的團隊成員之一失去存取權或離職)。
與 Google Cloud 相關的各種角色和資源(包括組織、專案、資料夾、資源和 Cloud Billing 帳號)在 Google Cloud Console 中進行管理。
Folders : 對資源進行分組
- 資料夾是一種分組機制,可以包含專案、其他資料夾或兩者的組合。
- 要使用資料夾,我們必須有一個組織節點。
- 資料夾和專案都映射在組織節點下。
- 資料夾可用於對共用通用 IAM 政策的資源進行分組。
- 雖然一個資料夾可以包含多個資料夾或資源,但特定的資料夾或資源只能有一個Parent folder。
Project:需要使用服務等級資源
- 專案需要使用服務等級資源(例如 Compute Engine (VM)、Pub/Sub topics、Cloud Storage buckets等)。
- 所有服務等級資源均以專案為parent level,專案是 Google Cloud 中的基礎層級組織實體。
- 可以使用專案來呈現邏輯上的專案、團隊、環境或對應到業務功能或結構的其他集合。
- 專案構成了啟用服務、API 和 IAM 權限的基礎。
- 任何特定資源只能存在於一個專案中。
資源:基本組成部分
Google Cloud Server Level resource是構成所有 Google Cloud 服務的基本元件,例如 Compute Engine (VM)、Pub/Sub topics、Cloud Storage buckets等。而出於計費和存取控制的目的,資源存在於層次結構的最低級別,該層次結構還包括專案和組織。
標籤(Labels):對 GCP 資源進行分類的方式
標籤可協助我們對 Google Cloud 資源(例如 Compute Engine 執行個體)進行分類。而標籤是一個key-value pair。可以為每個資源附加標籤,然後根據標籤過濾資源。標籤非常適合非常細緻化的成本追蹤。 有關標籤的資訊將轉送到計費系統,以便我們可以按標籤分析費用。
Billing Account與 Payment profile
Billing account
Billing account是在 Cloud Console 中管理的Cloud-level resource。這用來追蹤使用 Google Cloud 產生的所有費用(費用和usage credits)。一個 Cloud Billingaccount可以連結到一個或多個專案。專案使用費將記入到關聯的Billing account。
而每個 Billing account每月產生一張發票,是以單一幣別運作。Billing account定義誰為一組特定的資源付費,Billing account會連接到 Google Payment Profile,其中包括付款方式,以及定義我們支付費用的方式。
Billing account具有特定於計費的角色和權限來控制存取和修改計費相關功能(由 IAM 角色建立)。Billing account有以下兩種類型:
自助(Online)帳戶-
- 支付工具是信用卡或金融卡或 ACH 直接金融卡
- 費用會自動從連接到 Cloud Billing 帳戶的付款工具中扣除。
- 可以在線上註冊自助帳戶。
- 為自助帳戶產生的文件包括對帳單、付款收據和稅務發票,可在 Cloud Console 中存取。
- 按月或閾值計費
發票(Offline)帳戶
- 付款方式可以是支票或電匯。
- 發票透過郵件或電子方式發送。
- 也可以在 Cloud Console 中存取發票和付款收據。
- 每月一張發票,付款條件由我們與 Google 簽訂的協議決定。
Billing account中的角色
基本上可以是客製的或GCP所預先定義的,而預先定義的則有:
- Billing.creator
- Billing.admin: 管理者角色。 管理付款、計費匯出、查看成本資訊、掛專案以及管理其他計費角色
- Billing.user: 將專案掛到計費帳戶
- Billing.viewer: 查看計費帳戶的所有費用
- Billing.projectmanager: 將專案掛到到計費帳戶,但沒有資源權限
Payments Profile
這是在 payment.google.com 上管理的 Google-levle資源。而它會連結到我們的所有 Google 服務(例如 Google Ads、Google Cloud )。這個Payment profile處理所有 Google 服務(不只是 Google Cloud)的付款。
它會儲存個人資料,包括負責人的姓名、地址和稅號(法律要求時)等資訊。以及儲存各種付款方式(信用卡、金融卡、銀行帳戶以及您過去透過 Google 購買商品時所使用的其他付款方式。)
這可以充當文件中心,我們可以在其中查看發票、付款記錄等。另外也可以控制誰可以查看和接收各種 Cloud Billing account和產品的發票。
SUD(Sustained use discounts)
SUD是針對在帳單月份的大部分時間運行特定 GCE資源的自動折扣。 例如,當每月執行其中一項資源的時間超過 25% 時,GCE會自動為該執行個體使用的每一分鐘增量提供折扣,最高可達 30%。SUD會自動套用於每個Region的Project內的使用情況,因此無需執行任何操作即可享有這些折扣。以下圖為範例:
CUD(Committed Use Discounts)
購買和續訂 CUD,以取得 VM 折扣價。為了要到效益最大化,我們在購買CUD時需要注意以下事項:
- CUD適用於可預測的工作負載
- 每個區域基礎
- 折扣只在”vCPU、記憶體、GPU、本地 SSD 和sole-tenant nodes”這些項目
- 1 或 3 年的合約
- 無需預付款
- 可自動續訂
分享折扣
- 每個專案購買的折扣可以分享給其他專案
- 共同分享折扣的所有專案都必須在同一個billing account
- 折扣是用總資源而不是單一專案中的資源來計算的
Pre-emptible VMs
等同於AWS/Azure的Spot instance。60–90%的折扣,關機前會有30秒前的通知,最多24小時的存活期。但自2022年之後改名叫Spot VMs了,也取消了24小時存活期。這樣做意味著GCP的閒置資源多到爆出來了,不然不會不限制存活時間,而是GCP根據當下的資源量來控制關機。
成本防護
GCP的計費機制為我們提供了以下四種防護邊界功能,避免我們的成本失控:
- 預算(Budgets)-根據計劃支出追蹤實際支出
- 告警 (Alerts)— 用於觸發電子郵件通知的閾值規則
- 上限(Capping)-對可以消耗的資源量的絕對限制。 自動(達到限制時-Hard stop)
- 配額(Quota)-對資源的hard limits,以防止惡意意圖或濫用
詳細的資源使用情況和計費數據
GCP內建三種成本報告,分別是 :
- Billing Report —
使用許多設定選項和過濾器查看和分析資源使用成本 - Cost Table report —
存取並分析發票和報表的詳細資訊 - Cost Breakdown report —
每月成本和節省的流水式概覽
另外還有Pricing Report,這是檢視SKU的價格。 CUD Analysis Reports則是視覺化與理解我們CUD的覆蓋有效率(如下示意圖)。