遷移至 Google Cloud:降低成本

Last reviewed 2024-11-20 UTC

本文可協助您盡可能降低單一和多區域Google Cloud 環境的成本,以及跨 Google Cloud區域遷移的成本。如果您打算進行上述任何類型的遷移作業,或正在評估日後進行遷移的可能性,並想瞭解遷移作業的樣貌,這份文件將非常實用。

本文件是遷移至Google Cloud的多部分系列文章之一:

本文件提供下列主題的指南:

  • 評估目前的成本,並預測Google Cloud 足跡的成長。
  • 確立降低成本的需求和目標。
  • 實施成本控管和削減程序。
  • 採用雲端 FinOps 架構。

本文假設您已閱讀並熟悉「遷移至 Google Cloud:最佳化環境」一文。該文件說明遷移至Google Cloud後,設計及實作最佳化循環 (持續進行的最佳化程序) 的步驟。這些最佳化步驟也大致適用於盡可能降低成本。

評估費用

評估 Google Cloud環境目前和預計的費用,有助於全面瞭解資源消耗情況,以及潛在的成長機會。

如要評估目前和預計費用,可以採取下列做法:

  • 評估目前 Google Cloud 環境的費用。
  • 評估未來在 Google Cloud 區域間遷移的費用。
  • 預測 Google Cloud 足跡的成長。

評估目前環境的成本

如要全面瞭解環境費用,請考量下列事項:

  • Google Cloud 計費模式。 Google Cloud 採用透明且有效率的模式,根據資源用量計費。為充分瞭解模型的運作方式,以及 Google Cloud 如何根據資源消耗量向您收費,建議您瞭解Google Cloud 計費模式和產品定價的運作方式。
  • Cloud Billing。如要評估環境目前和預計的費用,建議您使用 Cloud Billing。這項服務匯總多項工具,可協助您追蹤目前和預計的Google Cloud 支出、支付帳單費用,並獲得最佳成本效益。例如,您可以建立預算和預算快訊。
  • 折扣。 Google Cloud 提供折扣價,只要承諾在指定期間內達到一定的資源用量,即可享有折扣。評估目前環境的成本時,建議您收集已購買的承諾使用折扣,以及適用這些折扣的產品、服務和資源相關資訊。
  • 碳足跡 Google Cloud 支援評估及回報目前環境的碳足跡。收集這項資訊有助於建立基準,以便在盡可能降低成本的過程中減少碳足跡。

如要進一步瞭解如何設定資源,以便控管存取權和管理成本,請參閱「Cloud Billing 資源管理與存取權管理指南」。

評估未來跨區域遷移的費用

如果您考慮跨 Google Cloud 區域遷移,建議您評估這項遷移作業可能對費用造成的影響。如要評估跨區域遷移的費用,請考量下列事項:

  • 目標區域中 Google Cloud 資源的價格。在Google Cloud 區域之間遷移工作負載、資料和程序時,您可能需要在目標區域佈建資源。您可以使用Google Cloud Pricing Calculator,評估佈建新資源和將資料遷移至新 Google Cloud 區域的費用。
  • 多區域 Google Cloud 資源的費用。為滿足可靠性需求,您可能需要使用多區域資源。建議您考量這些資源對遷移作業和費用的影響。例如,您使用雙區域或多區域 Cloud Storage bucket,且其中一個 bucket 與目標遷移區域位於相同區域。在這種情況下,您可能不需要遷移這些 bucket 中的資料,因為 Cloud Storage 會為您處理資料複製作業。
  • 輸出網路流量。除了佈建和維護 Google Cloud 資源的費用外,將資料從一個區域移轉到另一個區域,也可能產生網路輸出費用。建議您評估這些預估費用,以免產生非預期的帳單費用。
  • 時間、訓練和其他附帶成本。跨區域遷移的費用不只包括資源佈建和資料移轉相關費用,此外,還有附帶成本,例如團隊設計遷移計畫和完成遷移所需的時間和訓練。評估遷移費用時,建議您一併考量附屬費用。

除了這些建議外, Google Cloud 也提供Google Cloud 快速評估與遷移計畫。這項計畫提供免費的遷移成本評估,並在 Google Cloud專業服務和合作夥伴的支援下,引導您完成整個遷移程序。

預測 Google Cloud 足跡的成長

建議您在定期維護環境時,持續監控環境費用。這類監控功能可提供建立成本控管程序所需的資訊。這類監控作業也能讓您掌握環境目前的費用和短期預測。

除了定期維護環境,也建議您制定長期成長策略。這項策略可讓您更妥善地規劃預算和資源,以便 Google Cloud足跡隨著業務需求自然成長。如要制定長期成長策略,請考量下列事項:

  • 業務規定。評估環境是否仍符合當初設計時要支援的業務需求。舉例來說,如果您預期某些業務領域的需求會增加,可以考慮擴充支援這些領域的環境。
  • 趨勢和模式。使用 Google Cloud Observability 評估與工作負載、資料和程序相關聯的監控、記錄和效能剖析資料。透過這項評估,您可以發現趨勢、推導需求和流量模式,並收集有關這些趨勢的實用洞察資料。
  • 永續成長。評估目前環境可承受的成長幅度,以及何時需要設計、佈建及設定額外環境。舉例來說,如果擴充現有環境的成本高於擴充帶來的效益,建議您改為佈建新環境。評估目前環境可承受的成長幅度時,請考量這項成長對環境碳足跡的影響。詳情請參閱「碳足跡」。

確立降低成本的需求和目標

預測 Google Cloud 足跡成長後,建議您建立下列項目:

  1. 降低成本需求。「需求」表示需要改進,不一定可以衡量。建立這些需求條件,即表示您要著重於降低成本的領域。
  2. 降低成本目標。目標是可評估的屬性,可能有助於達成一或多項需求。建立可評估的目標後,您就能評估降低成本的成效,並持續根據這些目標評估目前的狀況。

如要進一步瞭解需求和目標及其定義,請參閱「建立最佳化需求和目標」。

如要建立降低成本的需求,建議您先定義環境中需要改善的成本類型。舉例來說,降低成本的需求可能是降低運算服務的成本。

確立成本削減需求並驗證可行性後,請為每項需求定義可衡量的成本削減目標。與需求相關的目標組合應能讓您完整定義該需求的所有特性,並衡量達成該需求的進度。舉例來說,假設先前的降低成本需求是降低運算服務的成本。針對這項需求,您可以定義降低成本的目標,將 Compute Engine 執行個體的成本降低 5%。

確立降低成本的需求和目標後,建議您根據成本評估階段收集的資料,評估每項需求的可行性。舉例來說,您可以使用評估資料,評估先前將 Compute Engine 執行個體費用降低 5% 的成本削減目標是否可行。也就是說,請使用評估資料來評估是否可以透過對環境和程序進行小幅重構來達成該目標,或者是否需要大幅修改其設計。

實施成本管理和削減程序

在費用評估階段,您已收集目前和短期支出的相關資訊。接著,您確立了成本削減需求和目標,並規劃出降低成本的方法。這兩項活動都是制定長期策略的必要步驟,有助於降低成本、擴大 Google Cloud足跡,以及拓展支援的業務。不過,光是這些活動並無法解決實作問題。如要實作這些策略,您也需要成本控管和縮減程序。

請按照下列順序進行成本控管和縮減程序:

  1. 監控費用。
  2. 控管資源佈建作業。
  3. 降低成本。

監控費用

如要控管費用,請務必持續監控環境的帳單和費用趨勢。建議您採取下列做法:

  1. 定期查看帳單報表。Cloud Billing 提供內建報表,可查看使用費用、應付憑據和對帳單詳細資料、費用明細和價目表。為隨時掌握最新且全面的費用資訊,建議您定期查看這些帳單報表。如需取得內建 Cloud Billing 報表以外的深入分析,可以將帳單資料匯出至 BigQuery,進一步分析。
  2. 設定標籤和標記。 標籤和標記是可附加至 Google Cloud資源的鍵/值組合。您可以使用這些鍵/值組合,在 Cloud Billing 提供的功能之上,實作自己的成本追蹤和分析報表。例如,您可以依標籤細分費用,或依標記執行交易退單、稽核和其他費用分配分析。如要進一步瞭解標籤和標記的比較,請參閱「標記和標籤」。
  3. 設定預算快訊。預算和預算快訊可協助您追蹤實際費用,並與預估費用比較。為避免產生非預期費用,建議您設定預算和預算快訊,以便及時採取行動。

控管資源佈建作業

Google Cloud 支援多種資源佈建工具,例如 Google Cloud 控制台、Google Cloud SDK、Cloud API,以及 Terraform 供應商、模組和資源。貴組織的使用者可以使用這些工具,在環境中佈建資源。佈建額外的 Google Cloud 資源,或擴充/縮減現有資源,可能會導致支出變動。詳情請參閱各項資源的定價。

為避免支出失控和超出預期,建議您設計並實施控管資源佈建的程序。如要實作這些程序,請考量以下幾點:

  • 採用基礎架構即程式碼。以程式碼的形式管理基礎架構,就能像處理應用程式程式碼一樣,管理Google Cloud 資源的佈建和設定。您也可以善用現有的持續整合、持續部署和稽核程序。例如,您可以使用 Terraform 以程式碼形式管理基礎架構,並在持續整合管道中強制執行政策法規遵循。
  • 先查看變更再套用。為避免支出發生非預期的變化,無論您使用何種工具佈建及調度 Google Cloud 資源,建議您在套用變更前,先實施審查環境變更的程序。舉例來說,如果您採用基礎架構即程式碼,可以在對支援環境的 Google Cloud資源套用任何重大變更之前,加入強制性的人工審查步驟。
  • 記錄環境並偵測偏移。佈建及設定 Google Cloud 環境時,建議您為每個環境記錄下列事項:

    • 環境特性。
    • 您在該環境中佈建及設定的 Google Cloud 資源。
    • 每項資源的偏好狀態。

    記錄環境特徵,可讓您更輕鬆地稽核環境的目前狀態。此外,您也可以透過說明文件設計及實作程序,偵測與偏好狀態的任何偏差,並盡快採取修正措施。舉例來說,您可以使用 Cloud Asset Inventory 分析各項專案和服務中的所有 Google Cloud 資產。接著,您可以將分析結果與各環境的偏好狀態進行比較,主動停用任何未受管理的資源,並將受管理的資源恢復至偏好狀態。

  • 設定組織政策。如要設定控管機制和限制,規範組織資源的使用方式,並避免因濫用而產生不必要的費用,您可以使用組織政策服務強制執行限制。舉例來說,您可以限制特定 Google Cloud產品的使用,或限制特定資源的建立。如要進一步瞭解 Google Cloud 支援的限制,請參閱「組織政策限制」。

  • 設定配額。 Google Cloud 會使用配額限制您可使用的共用 Google Cloud 資源數量。如要限制特定資源的使用,您可以自行設定配額上限。舉例來說,您可以限制特定區域中可存在的 Compute Engine 執行個體數量,避免建立超過特定數量的 Compute Engine 執行個體。

  • 採用最小權限存取方法。為避免 Google Cloud 資源使用者提權並略過審查,建議您僅授予使用者和服務帳戶最低權限。例如,您可以使用 IAM 授予使用者和服務帳戶最低必要權限。

降低成本

監控環境成本並實施控管資源佈建的程序,有助於您:

  • 控管環境目前和預估的費用。
  • 避免產生非預期和無法控制的費用。
  • 提供成本基準,方便您設法降低成本。

在本文件中,「降低成本」是指設計及實作程序和機制,以達成降低成本的目標。您可以將這些程序設計為「被動」(因應其他動作或狀態變更而採取行動) 或「主動」(預期其他動作或狀態變更而採取行動)。本節中的建議通常適用於被動和主動程序。此外,許多降低成本的程序可以同時屬於這兩種類型。

如要設計及實施降低成本的程序,請參考下列建議:

  • 評估用量折扣。 Google Cloud 提供多種選項,可根據 Google Cloud資源的使用模式降低成本。舉例來說,只要承諾在指定期間內達到一定的資源用量,即可享有承諾使用折扣。部分 Google Cloud 服務會針對您使用一定時間或用量的資源提供折扣。舉例來說,如果資源在帳單週期內的使用時間超過特定時長,Compute Engine 會提供續用折扣。
  • 停用不必要的資源。隨著業務需求不斷變化,支援這些業務需求的環境也會隨之演變。在這個演變過程中,您的環境可能會出現不必要的資源,或資源擴充至不必要的層級。為降低不必要資源產生的使用費用,建議您評估每項不必要資源對費用的影響,以及停用這些資源對環境可能造成的影響。舉例來說,您可以查看並套用閒置資源建議和閒置 VM 建議,找出未使用的資源和 Compute Engine 執行個體,並最終將其停用。
  • 調整過度佈建資源的規模。為避免您佈建及設定的Google Cloud 資源未充分利用,建議您評估環境,判斷是否有資源需要調整大小。調整資源大小可能有助於降低成本。舉例來說,您可以使用 Google Cloud Observability 提供的資料,評估特定資源的使用量,以及是否有調整資源大小的空間。另一個調整資源規模的例子,是套用 Compute Engine 執行個體的機器類型建議。
  • 設定自動調度資源。許多 Google Cloud 服務都支援根據需求自動調度資源。自動調度資源 (又稱自動調度資源) 可根據目前需求調度 Google Cloud 資源,協助您降低成本。舉例來說,Compute Engine 提供自動調度資源功能,可根據負載自動在代管執行個體群組中新增及移除執行個體。
  • 遷移至代管服務。為降低營運成本並消除繁瑣工作,建議您從自行管理的服務遷移至 Google 代管服務。Google 累積了數十年營運全球規模、全球分散式系統的經驗,並在Google Cloud 客戶使用代管 Google Cloud服務時,提供這項專業知識。舉例來說,如果您在 Compute Engine 上執行自行管理的 Kubernetes 叢集,可以考慮遷移至 Google Kubernetes Engine (GKE)。遷移至 GKE 後,營運團隊可將釋出的資源用於其他工作,例如提高環境效率及降低成本。
  • 衍生模式。除了Google Cloud 提供的自動調度資源功能外,您也可以評估 Google Cloud Observability 提供的資料,推導出用量和流量模式,協助您建立資源需求模型。建立這些模型有助於您設計及實作主動降低成本的程序,充分運用這些模型提供的洞察資料。舉例來說,您可能會發現某些環境只在一天或一週內的特定時段有大量需求。因此,您可以主動在這些時段擴充環境,並在不需要時縮減環境。
  • 有效率地排定低優先順序工作負載。一般來說,並非所有在環境中執行的工作負載都具有高優先順序,且對業務至關重要。如要降低成本,可以善用這些工作負載的非關鍵性質。例如,您可以在不需要時關閉這些工作負載和相關資源。或者,您也可以在更實惠的執行階段環境 (例如 Spot VM) 中執行,而不是在 Compute Engine 或 GKE 中執行。
  • 管理資料生命週期。環境中儲存的資料量可能會在短時間內大幅增加。為協助您降低成本,建議您設計並實作程序,自動管理資料生命週期,就像管理Google Cloud 資源一樣。例如,您可以設計及實作刪除不必要資料的程序。或者,您也可以從更詳細的資料產生匯總資料,並僅將匯總資料移至長期儲存空間。您甚至可以考慮將不常使用的資料,移至專為不常存取而設計、成本較低的系統。此外,部分 Google Cloud 服務支援自動化物件生命週期管理。例如,Cloud Storage 提供物件生命週期管理功能,可自動執行物件的一般生命週期管理動作,並提供自動調整級別功能,可根據每個物件的存取模式,自動將物件移至適當的儲存空間級別。
  • 降低特定 Google Cloud 服務的成本。 Google Cloud 提供指引,協助您在使用 Compute Engine、GKE 和 Cloud Storage 等特定 Google Cloud 服務時,降低及最佳化成本。如要進一步瞭解如何最佳化特定 Google Cloud 產品的成本,請參閱「Google Cloud Well-Architected Framework:成本最佳化」。

無論Google Cloud 資源如何分布在各區域和可用區,上述建議都適用。如要瞭解如何降低單一區域和多區域環境的費用,請繼續閱讀本文。

降低單一區域環境的費用

在單一區域環境中, Google Cloud 資源通常只會分散在該區域的多個可用區。將資源分散在區域內的多個可用區,有助於降低可用區中斷的影響,進而盡可能減少這類中斷對業務的影響。舉例來說,如果您在 Compute Engine 執行個體上執行工作負載,而發生可用區中斷,影響到您佈建該執行個體的可用區,則該工作負載可能會受到中斷影響。如果該工作負載有多個副本,在不同區域的 Compute Engine 執行個體上執行,則該工作負載較不易受到可用區中斷的影響。一般來說,在多個可用區複製資源的費用,會高於在單一可用區佈建資源,但可能提供更高的可靠性。

詳情請參閱「跨 Google Cloud 區域遷移:在 Google Cloud上設計具備韌性的單一區域環境」。

設計單一區域環境時,建議您評估工作負載、程序和資料的可靠性需求。這項評估可協助您決定哪些 Google Cloud 資源需要複製並分散到區域內的多個可用區,以及哪些資源可容忍可用區中斷,並在單一可用區中正常運作。舉例來說,您可以考慮針對非重要業務的批次工作負載採用可用區部署,並針對更重要的工作負載、程序和資料採用多可用區複製和發布。

降低多區域環境的成本

在多區域環境中, Google Cloud 資源通常會分散在多個區域。將資源分散到多個區域,有助於降低區域性服務中斷的影響。舉例來說,如果您使用多區域 Cloud Storage bucket,資料會複製到多個區域,可用性比區域 bucket 更高。

除了本節中的建議外,也請考慮「降低單一區域環境的成本」一文中的建議,因為這些建議也適用於多區域環境。

如要降低多區域環境的費用,請考慮下列做法:

  • 多區域資源。多項 Google Cloud 產品支援在多個區域複製及發布資源,提高環境的可靠性。舉例來說,Cloud Storage 支援雙區域和多區域 bucket,可在多個區域複製資料。通常,跨區域複製及發布資源的費用,會高於在單一區域佈建資源。舉例來說, Google Cloud 對雙區域和多區域 Cloud Storage bucket 的計費價格與單一區域 bucket 不同,且會收取跨區域複製費用。

    為盡可能降低產品成本,建議您只在需要滿足工作負載、資料和程序的可靠性需求時,才考慮使用多區域複製和發布功能。舉例來說,您已確定要儲存在特定 Cloud Storage bucket 中的資料,不需要分散到多個區域,以減輕區域性服務中斷的影響。對於這類資料,您可以佈建單一區域 bucket 來儲存,而不是佈建雙區域或多區域 bucket,藉此節省費用。另一個節省成本的例子是,如果您的工作負載並非業務關鍵,不需要多區域部署提供的更高可靠性,您可以考慮將該工作負載部署至單一區域,甚至是單一可用區。

  • 區域專屬價格。您可以在多個區域佈建 Google Cloud資源。這些資源的價格可能因區域而異。舉例來說,Compute Engine 執行個體價格會因區域而異。如果資源符合下列條件,您或許可以將部分工作負載、資料和程序部署至費用最低的區域:

    • 這些工作負載、資料和程序可以容忍在其他區域佈建其依賴的資源時,所產生的額外延遲。
    • 這些工作負載、資料和程序不受法規要求約束,因此您不必在特定區域佈建這些資源。

    在其他區域佈建資源來降低費用之前,請先評估跨區域網路流量的費用,是否會抵銷使用區域專屬定價所降低的費用。

  • 網路輸出費用。 Google Cloud 會針對區域之間的網路流量收取輸出流量費用。為降低費用,建議您將需要交換資料且密切相關的 Google Cloud 資源集中在同一個區域,盡量減少跨區域網路流量。舉例來說,您在 Compute Engine 執行個體上部署的工作負載,需要存取儲存在 Cloud Storage bucket 中的資料。只要在值區複製資料的區域中佈建 Compute Engine 執行個體,即可避免跨區域流量。

盡可能降低跨 Google Cloud 區域遷移的成本

將環境和 Google Cloud 資源遷移至其他區域,有助於將環境擴展至多個區域,並遵守資源位置相關法規。

如要進一步瞭解如何跨區域遷移,請參閱「跨 Google Cloud 區域遷移:開始使用」

除了本節中的建議外,也請考慮「降低多區域環境的成本」一文所述的建議,因為這些建議也適用於降低跨Google Cloud 區域遷移的成本。

如要降低跨 Google Cloud 區域遷移的費用,請考慮下列事項:

  • 資料複製。評估將資料從一個區域遷移至另一個區域的選項時,建議您同時考慮自行管理的遷移作業,以及多項 Google Cloud產品支援的複製功能。舉例來說,您需要跨區域遷移儲存在區域 Cloud Storage bucket 中的資料。您可以評估並比較將資料遷移至目標區域中另一個單一區域 bucket 的費用,以及將資料遷移至多區域 bucket 並由 Cloud Storage 處理跨區域資料複製作業的費用。
  • 資料遷移策略。評估資料遷移策略,在 Google Cloud 區域之間遷移資料時,建議您考慮能盡量降低遷移成本的策略。例如,工作負載可能會採用 Y (寫入和讀取) 策略,開始將資料寫入來源區域和目標遷移區域。採用這項策略時,您只需要在遷移期間移轉歷來資料。

如要進一步瞭解如何跨 Google Cloud 區域遷移資料,請參閱「遷移至 Google Cloud:轉移大型資料集」。該文件說明如何將資料從其他雲端服務供應商和地端部署環境遷移至 Google Cloud ,但也適用於跨區域遷移資料。

採用雲端 FinOps 架構

本文件旨在引導您設計及實作機制和程序,以便監控及管理成本,並減少不必要的支出。您可以逐步遵循這些指引,控管雲端支出。

準備就緒後,即可採用雲端 FinOps 架構。採用這個架構是一項變革,可結合技術、財務和業務,提高財務可靠度,並加速實現業務價值。

如要進一步瞭解雲端 FinOps 架構,請參閱「開始在 Google Cloud採用 FinOps 做法」。

後續步驟

貢獻者

作者:Marco Ferrari | 雲端解決方案架構師