遷移至 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 中的資料,因為 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 SDKCloud API,以及 Terraform 供應商、模組和資源。貴機構的使用者可以透過這些工具,在環境中佈建資源。如果佈建額外 Google Cloud 資源,或擴大/縮小現有資源,支出可能會隨之變動。詳情請參閱各項資源的定價

為避免支出不受控且超出預期,建議您設計及實作程序,控管資源佈建作業。如要實作這些程序,請考慮下列事項:

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

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

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

  • 設定機構政策。如要設定機構資源的使用方式控管和限制,並避免因誤用而產生非預期費用,可以使用 Organization Policy Service 強制執行限制。舉例來說,您可以限制特定 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 提供的資料,推導出有助於建構資源需求模型的用量和流量模式。建立這些模型有助於您設計及實作主動降低成本的程序,並善用這些模型提供的洞察資料。舉例來說,您可能會發現某些環境只會在一天或一週的特定時段出現大量需求。因此,您可以預先擴充這些環境,以因應這些時期,並在不需要時縮減環境。
  • 有效率地排定低優先順序的工作負載。通常,環境中執行的工作負載並非全都是高優先順序和業務關鍵。為降低成本,您可以善用這些工作負載的非關鍵性質。舉例來說,您可以在不需要這些工作負載和相關資源時將其關閉。或者,您也可以在更經濟實惠的執行階段環境 (例如搶占型 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 架構完善架構:成本最佳化

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

降低單一區域環境的成本

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

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

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

降低多區域環境的成本

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

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

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

  • 多區域資源。多項 Google Cloud 產品支援跨多個區域複製及散布資源,以提高環境的可靠性。舉例來說,Cloud Storage 支援雙區域和多區域值區,可跨多個區域複製資料。通常,跨區域複製及分配資源的成本,會高於在單一區域中佈建資源。舉例來說, Google Cloud 雙區域和多區域 Cloud Storage 值區的計費方式與單一區域值區不同,且會收取跨區域複製費用。

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

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

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

    在其他區域佈建資源以降低費用前,請先評估產生的區域間網路流量費用,是否會抵銷使用區域專屬價格帶來的費用減免。

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

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

將環境和 Google Cloud 資源跨區域遷移 ,有助於將環境擴展至多個區域,並符合規定資源所在位置的法規要求。

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

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

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

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

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

採用雲端 FinOps 架構

本文件中的指引旨在設計及實作機制和程序,以監控及控管成本,並減少支出效率不彰的情況。這些指引的設計方式,可讓您逐步遵循,進而控管雲端支出。

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

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

後續步驟

貢獻者

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