FinOps-GCP的計費機制

  • GCP 資源層次結構
  • 計費概念
  • 費率優化
  • 詳細的資源使用情況和計費數據

首先需要在GCP裡確認的事項

  1. 公司網域是您組織的主要身份,並透過 Google 服務(包括 Google Cloud)建立公司的身份。
  2. 使用網域來管理組織中的使用者。
    — 在Domain Level,我們可以定義使用 Google Cloud 時哪些使用者應與組織關聯。
    — 也可以在網域中統一管理使用者和裝置的政策(例如,啟用MFA、為組織中的任何使用者重設密碼)。
  3. 該網域名稱已關聯到 Google Workspace 或 Cloud Identity account。
  4. Google Workspace 或 Cloud Identity account只能與一個組織關聯。
  5. 我們可以使用 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 —
    每月成本和節省的流水式概覽
Billing Report
Cost Table report
Cost Breakdown report

另外還有Pricing Report,這是檢視SKU的價格。 CUD Analysis Reports則是視覺化與理解我們CUD的覆蓋有效率(如下示意圖)。

參考資料

--

--

運用"雲端服務"加速企業的數位轉型願景
運用"雲端服務"加速企業的數位轉型願景

Written by 運用"雲端服務"加速企業的數位轉型願景

我們協助您駕馭名為"雲端運算"的怪獸,馴服它為您所用。諮詢請來信jason.kao@suros.com.tw. https://facebook.com/jason.kao.for.cloud

No responses yet