成本最佳化的 Cloud Run 服務最佳做法

本頁面說明設定 Cloud Run 服務時應考量的幾個方面。成本最佳化沒有一體適用的解決方案。請務必監控自身需求、預算和資源,找出最適合自己的做法。

本文列出的最佳做法僅適用於 Cloud Run。不含其他 Google Cloud 產品。

資源設定

如要盡量降低服務費用,需要考慮許多不同的設定。您可以根據需求調整這些設定,建立可靠且經濟實惠的服務。

選取適當的區域

服務的部署位置會影響總費用。Cloud Run 採用兩層式區域定價模式。與第 2 層區域相比,第 1 層區域的每個 vCPU 和記憶體費用較低,因此建議您部署至第 1 層區域。

需要驗證

設定 Cloud Run 服務時,您可以選擇下列任一驗證選項:

  • 允許公開存取:不需要驗證檢查。
  • 需要驗證:只有通過驗證的使用者才能存取 Cloud Run 服務。

除非您有允許公開存取的特殊需求,否則建議要求驗證。這可避免產生費用的不必要要求。

如果您使用 Identity-Aware Proxy (IAP) 管理使用者,IAP 可能會產生相關費用。

比較以執行個體為依據與以要求為依據的計費方式

Cloud Run 服務有兩種計費設定

  • 以要求為依據的計費模式 (預設):系統會按照個別要求收費,並針對處理要求期間使用的 vCPU 和記憶體,收取較高的每秒費率。
  • 以執行個體為依據的計費模式:系統會針對整個執行個體生命週期收取費用。無須支付每項要求的費用,而且 vCPU 和記憶體的每秒費率較低。

如果服務的流量穩定且變化緩慢,建議使用以執行個體為準的計費方式。由於運算費率較低,且無須支付要求費用,因此節省的費用會高於要求間的閒置時間費用。如果服務的流量不穩定、有突發尖峰,建議使用以要求為準的計費方式。如果仍不確定要使用哪種帳單設定,請參閱最佳化建議。Recommender 會查看 Cloud Run 服務在過去一個月內收到的流量,並在改用以執行個體為準的計費方式較便宜時,建議您從以要求為準的計費方式改用以執行個體為準的計費方式。

在服務層級設定服務資源調度

如要建立成本安全基準,請為服務設定執行個體數量上限。設定較高的上限可優先確保可用性,但可能會因流量突然暴增或設定錯誤,導致帳單費用超出預期。您應在最初部署服務時,於服務層級設定這項設定,建立成本基準。如需其他費用控管工具,請參閱資源分配配額帳單預算和快訊

最佳化 CPU 和記憶體使用率

Cloud Run 服務的費用會受到 CPU/記憶體設定和服務啟用時間長度等因素影響。過度佈建資源可能會增加費用。如要判斷哪種設定最適合您的服務,請按照下列步驟操作:

  1. 建立基準設定。
  2. 在 Cloud Monitoring 中測試 CPU 和記憶體用量指標時,請監控指標。
  3. 視需要調整設定。

如果 CPU 使用率在尖峰負載下持續偏低,請考慮減少 vCPU 分配量。如果延遲時間較長,請考慮增加 vCPU 分配量。

如果記憶體使用率持續偏低,請考慮減少分配的記憶體。如果延遲時間較長,且記憶體用量接近 100%,請考慮增加分配的記憶體。如果發生記憶體不足 (OOM) 錯誤,請增加分配的記憶體,或修改應用程式以防止記憶體流失或減少記憶體用量。請參閱 Cloud Monitoring 資訊主頁,進一步瞭解記憶體使用率。

設定 GPU

使用 GPU 的所有 Cloud Run 服務都必須設定以執行個體為準的計費方式。也就是說,即使沒有傳入要求,系統仍會針對執行個體的整個生命週期收取費用。GPU 的最低 CPU 和記憶體設定也會影響 Cloud Run 服務的費用。GPU 區域備援功能預設為開啟。關閉 GPU 可用區備援功能後,每秒 GPU 的費用會降低,但無法保證在容錯移轉情境中預留容量。

降低網路成本

為服務設定網路選項時,請考量下列事項:

  • 將資源放在同一位置:盡量將 Cloud Run 服務部署在與後端資料庫 (例如 Cloud SQL 或 Firestore) 和 Cloud Storage 值區相同的區域。在相同區域內,資源之間的資料移轉不需付費。 Google Cloud
  • 改用直接虛擬私有雲輸出:如果您要安全地將流量路由傳送至內部虛擬私有雲網路資源,建議從無伺服器虛擬私有雲存取連接器改用直接虛擬私有雲輸出。直接輸出至虛擬私有雲的功能會縮減至零,因此可消除與連接器執行個體相關聯的基準運算負擔和閒置費用。
  • 使用 Cloud CDN:在 Cloud Run 服務前方放置 Cloud CDN,卸載靜態資產和可高度快取的內容。從邊緣提供資料的費用,遠低於直接從 Cloud Run 支付標準網際網路輸出費用。
  • 監控網際網路輸出流量:輸入流量 (輸入) 一律免費,且您每月可免費在北美洲輸出 1 GiB 的網際網路資料。請著重監控跨區域界線或超出免費層級的出站流量。

設定並行設定

當越來越多的執行個體處理要求時,Cloud Run 會分配更多 CPU 和記憶體,導致費用水漲船高。並行設定越高,處理相同要求量的執行個體就越少,可降低成本。不過,應用程式程式碼必須能夠有效處理平行要求。詳情請參閱「調整自動調度資源和資源使用率的並行程度」。

承諾使用折扣

承諾使用折扣 (CUD) 適用於承諾在指定期間內持續使用 Cloud Run 的客戶,可享有折扣價。CUD 適用於 Cloud Billing 帳戶層級。您可以購買 Compute 彈性 CUD,以支付 Cloud Run 資源費用。運算彈性 CUD 不適用於 GPU 或網路。詳情請參閱「計算彈性承諾使用折扣」。

實用工具

您可以使用下列工具進一步瞭解費用,並避免超出預算。

Cloud Run 總覽:帳單面板

Cloud Run 總覽頁面的「帳單」面板會顯示各資源名稱的費用。這些數字呈現所選時間範圍內各項資源的總費用。這項工具可協助您進一步瞭解資源的費用。

預算快訊

在 Cloud Billing 中建立預算快訊,追蹤實際費用與預估費用的差異。預算是一種快訊機制,會在支出超過門檻時觸發通知,但並非支出上限。帳單資料會有延遲,因此您收到快訊的時間可能會受到影響。

Cloud Billing

Cloud Billing 匯總多項工具,可協助您追蹤及瞭解 Google Cloud 支出。這些工具可協助您監控用量費用、預測支出,並找出節省費用的機會。

費用探索工具

費用探索器可協助您瞭解資源的費用和使用情形。使用費用探索工具可執行下列操作:

  • 依費用篩選資源,找出最昂貴的資源。
  • 瞭解 vCPU、GPU、網路等設定所帶來的成本比例。
  • 追蹤資源設定變更對每月帳單的影響。

Google Cloud Pricing Calculator

Google Cloud 定價總覽提供相關資訊,協助您進一步瞭解 Google Cloud 定價 Google Cloud 模式。您也可以在這裡找到詳細價格表。您可以使用 Pricing Calculator 新增及設定產品,藉此估算費用。

推薦功能

建議工具可針對 Cloud 產品提供使用建議和洞察資訊。

建議工具會自動查看 Cloud Run 服務在過去一個月收到的流量,如果改用以執行個體為準的計費方式較便宜,就會建議您從以要求為準的計費方式改用以執行個體為準的計費方式。

Cloud Hub 最佳化

您可以在 Cloud Hub 的 Google Cloud 「最佳化」頁面,查看服務的費用摘要資料、使用率資料和費用最佳化建議。