Cloud SQL 的承諾使用折扣 Committed Use Discounts

Cloud SQL 的承諾使用折扣 Committed Use Discounts
Cloud SQL 的承諾使用折扣 Committed Use Discounts

Google Compute Engine 的承諾使用折扣 Committed Use Discounts 可以針對包含 Google Kubernetes Engine, Dataproc, and Compute Engine 等服務自動進行折扣後的費用套用,若是 Cloud SQL 這樣的 PaaS 類型服務,在過往是沒有辦法享受到承諾使用折扣的優惠。Google Cloud Platform 針對 Cloud SQL,提供了 Cloud SQL 版的承諾使用折扣,承諾一年的費用可以節省約25%,承諾三年則是可以節省約52%。

Cloud SQL 的承諾使用折扣有以下彈性:
  • 無需預先支付所有費用,以月繳的方式進行所承諾之扣款。
  • 不限制特定的 Database Engine ,購買後可以共享給 Cloud SQL 上不同的類型像是 MySQL, PostgreSQL, and SQL Server instances 等皆可。
  • 可完整對應到不同的機器規格 (Machine sizes)

Compute Engine 承諾與 Cloud SQL 承諾比較表:

Compute Engine CUDCloud SQL CUD
Compute Engine 承諾
基於資源 (Recourse-based);它們是根據底層vCPU、內存、GPU 和本地SSD 資源進行購買和計算的。
Cloud SQL 承諾
基於支出 (Spend-base);它們是根據等額按需支出的每小時美元金額進行購買和計算的。
Compute Engine 承諾是基於單個項目購買的,而不是基於Cloud Billing 帳號購買的。

但是您可以啟用
折扣共享,以便 Compute Engine 承諾使用折扣在通過同一Cloud Billing 帳號支付費用的所有項目中共享。
Cloud SQL 承諾是通過 Cloud Billing 帳號購買的;它們適用於通過該 Cloud Billing 帳號支付費用的任何項目中符合條件的使用量。
GCP-文件說明GCP-文件說明

如何購買?

購買的方式跟以往 Compute Engine 有點不同,需透過 GCP Billing 的頁面,找到 Purchase a committed use discount 的按鈕進行點選。

點選後,會出現以下選單:

Product:

目前可選擇的是 Cloud SQL 或 VMWare Engine。此篇文章主題是 Cloud SQL 。

Select a billing account:

選定欲購買承諾使用折扣的 Billing account,預設就選目前專案正在使用的 Billing account 即可。

Commitment name:

此次購買承諾使用折扣的名稱,自定義一個可以簡單辨認的名稱即可。

What period?

O 1 year O 3 years: 看是要購買一年或三年。

*這邊需注意的是一旦購買下去,即便未來一年內沒有使用 Cloud SQL ,由於已經事先承諾,故仍會每月扣款,請特別留意。

Region:

Cloud SQL 承諾使用折扣是以 Region做區隔,不同的 Region 需購買不同的承諾使用折扣。一般來說台灣的使用者若是將服務開在台灣的話,選擇 asia-east1。

Hourly on-demand commitment:

這邊要注意的是由於 Cloud SQL Committed Use Discount 的收費方式是以Spend-Based 計算,這一點與過往的 Resource-based 的 Compute Engine Committed Use Discount 蠻不一樣的。

費用試算說明

假設我們在 Taiwan (asia-east1) 開了一台 Cloud SQL MySQL db-n1-standard-2 (2 vCPUs, 7.5GB),根據 GCP 公告之官方牌價每小時的原始費率為 US $0.1351 /小時,如欲購買一年的承諾使用折扣,這邊可以輸入的數字變是 US $0.13/小時。

即代表:使用者向 GCP 購買以原始費用 US$0.13/小時的費率去承諾未來一整年的用量,如此一來折扣後的費率便會是:US$0.13 * (100%-25%) = US$0.0975/小時,30天的承諾使用總費用便會是:US$0.0975 * 720 (小時) = US$70.20。

也就是說使用者是以 Spend-based (基於實際花費) 的模式去購買承諾使用折扣。

因為購買的時候只能輸入至小數點後兩位,所以在這個例子中我們只能購買US$0.13/小時,剩下的 US$0.1351 – $0.13 = US$0.0051 的部分,則是按照原始的費率計價。

若是超買是否會比較划算?

答案是:不一定。

我們可以快速試算一下:

$0.13 * (100%-25%) * 720 + $0.0051 * 720 = $73.872

若是我們算一下以 $0.14 去購買,則總費用則為:

$0.14 * (100%-25%) * 720 = $75.6 (較貴)

假設某種 Machine type 費用為每小時金額為 $0.1388。

此時若是買 $0.13

0.13 * (100%-25%) * 720 + 0.0088 * 720 = $76.536

0.14 * (100%-25%) * 720 = $75.6 (較便宜)

所以還是會建議買最接近原始費率的數字會有較多折扣。

總結

使用者必須要先估算出自己在 Cloud SQL 所有 Database 的每小時費用加總,再去購買需要的 Cloud SQL 承諾使用折扣。這也是為什麼它可以不限定 Database Engine (MySQL, PostgreSQL, and SQL Server instances),因為 Cloud SQL 承諾使用折扣是採取 Spend-based 的金額,所以只需要算出所有 Database 的每小時花費即可進行購買承諾使用折扣。

這裡提供一下 Cloud SQL 的官方牌價連結位置:

https://cloud.google.com/sql/pricing

最後需提醒的是:

Cloud SQL 的折扣範圍僅限定常規的 Machine types (vCPU, RAM) (例如 db-n1-standard-2 ) 所產生的費用,共享的 shared CPU machine types (例如 db-f1-micro and db-g1-small) 是不包含在內的,請留意。

另外,Persistent disk (硬碟),snapshots (快照), IP addresses (IP地址), network egress (網路流出), or licensing (授權)等皆不涵蓋在此承諾使用折扣範圍內。

發佈留言