設定消費護欄的建議
適用於此 Azure 架構完善的架構成本優化檢查清單建議:
CO:04 | 設定支出護欄。 護欄應包括發行閘道、治理原則、資源限制和存取控制。 排定平臺自動化的優先順序超過手動程式。 |
---|
本指南說明設定消費護欄的建議。 支出護欄是控制和管理指定預算內成本的措施。 它們有助於防止非預期或過度的支出,並提升資源的成本效益使用率。 若沒有花費護欄,您的工作負載成本可能會超過預算,導致非計劃性費用可能會造成財務資源緊張。
定義
詞彙 | 定義 |
---|---|
治理原則 | 一組規則,可強制執行合規性並啟用工作負載資源的稽核。 |
治理 | 一組原則、流程和控件,可協助確保工作負載能有效、安全地且符合組織和法規需求。 |
基礎結構即程式碼 (IaC) | 定義和部署基礎結構的描述性模型,包括網路、虛擬機、負載平衡器和聯機拓撲。 |
發行閘道 | 發行管線中必須滿足的條件或檢查點,才能繼續部署。 發行閘道有助於確保發行軟體之前符合特定準則。 |
關鍵設計策略
藉由實作措施來控制和管理指定預算內的成本,以設定支出防護措施。 這些措施包括治理原則、訪問控制、發行閘道、預算閾值和警示。 自動化可降低人為錯誤的風險、提高效率,並協助持續應用支出護欄。 排定平臺自動化的優先順序超過手動程式。 平臺提供的自動化工具和服務可以簡化資源布建、設定和管理。
使用治理原則
治理原則可作為資源的各種層面的支出防護措施,例如資源類型、組態、標籤、位置和數據管理。 許多雲端平臺都有一項服務,可將治理原則的強制執行自動化。 使用自動化原則來控制資源使用量、強制執行責任,以及消除限制資源類型的支出。 以下是您應該考慮強制執行的一些原則:
受限制的資源類型:原則可以指定組織內允許或不允許的資源類型。 例如,組織可能會有一個原則,限制使用某些昂貴的資源類型來控制成本。
資源限制:設定資源限制以控制成本並防止過度布建。 包含可布建的資源數目、資源大小,以及原則中資源使用量的持續時間限制。 這些限制可協助您避免過度花費並優化資源使用率。 例如,資源限制可以將與密碼編譯採礦相關的未經授權帳戶缺口的影響降到最低。
定義的資源組態:原則可以定義資源的特定組態。 您可以強制執行資源上的設定,以提升成本優化,例如自動調整和數據封存
限制的位置:您可以使用原則來限制資源部署到特定區域或位置。 請考慮限制位置以避免昂貴的數據傳輸費用,並維持數據主權法規的合規性。
受控數據:使用原則來強制執行有助於優化成本的數據管理做法。 例如,您可以實作需要針對較不常存取的數據使用低成本儲存層的原則,或定義數據保留到期規則的原則。
強制執行的元數據:建立原則,以強制使用特定元數據,以提供更好的追蹤和成本配置。 您也可以在自動化或手動檢閱中使用元數據。 例如,使用元數據來使用備份標記將資源備份自動化。 一致的元數據原則有助於將成本與支出防護措施保持一致。
有限的閑置資源:使用原則來識別閑置的資源,以便刪除或重新用途。 請考慮設定原則,以在未使用時自動關閉實例。
風險:如果您實作自動調整,請根據測試設定最大調整閾值。 最大閾值可協助您避免造成成本超支的大規模調整尖峰,但設定太低的閾值可能會對效能造成負面影響。 如需詳細資訊,請參閱 優化調整成本的建議。
設定存取控制
設定訪問控制來設定限制,以防止超支,並協助確保只有已授權的個人可以取用資源。 訪問控制有助於降低意外或不必要的變更對成本優化造成負面影響的風險。 若要實作成本優化訪問控制,請遵循下列步驟:
識別必要的控制件。 識別需要訪問控制的資源和服務。
定義存取原則。 根據最低許可權存取原則定義存取原則,只授與使用者執行其工作所需的許可權。 例如,某些使用者可能只需要讀取許可權,而另一些使用者可能也需要寫入或刪除許可權。
實作驗證。 實作驗證方法,例如使用者名稱/密碼、多重要素驗證或與識別提供者整合,以協助確保只有授權的使用者才能存取資源。
使用角色型訪問控制 (RBAC)。 設定 RBAC,根據使用者的工作職責將角色和許可權指派給使用者。 使用 RBAC 可協助您有效地管理資源存取。
檢閱和更新控制件。 定期檢閱和更新訪問控制,以確保它們符合組織不斷變化的需求。 拿掉不必要的訪問許可權,並視需要調整存取層級。
使用發行閘道
發行閘道是發行或部署前必須符合的檢查點或條件。 使用發行閘道來協助確保發行符合成本效益,並符合優化目標。 發行閘提供結構化的方法,用於識別和實施節省成本的措施。 若要實作工作負載成本優化的發行閘道,請考慮下列步驟:
建立發行閘道準則。 建立發行或部署資源之前必須符合的條件或準則。 包括支出限制、資源使用率閾值或專案里程碑等因素。
併入發行閘道。 將發行閘道併入部署管線。 您可以使用自動化工具或自訂腳本來確保資源部署受限於已定義的準則。
監視消費。 根據定義的準則持續監視支出和資源使用量。 如果組織超過消費閾值,發行網關應該會防止進一步部署,直到問題解決為止。
設定成本警示
請務必設定預算、成本異常和承諾型計劃使用率的警示,以將成本優化。 這些警示可讓您瞭解您的雲端費用,並啟用主動式成本管理。 請小心管理警示的通知收件者,並讓收件者清單保持在最新狀態,並具有目前的責任和存取權。 您可能會建立以優化成本的一些警示包括:
預算警示:設定預算警示,以根據預先定義的閾值追蹤您的支出。 您可以建立每月預算、計費帳戶或資源群組,以監視您的成本,並在接近或超過預算金額時接收通知。 預算警示可協助您隨時掌握費用,並採取預防性動作來控制成本。
成本異常警示:異常警示會通知您非預期的成本變化,這些變化可能表示效率不佳或異常支出模式。 您可以設定這些警示,以識別實際或預測成本中的異常狀況。 使用成本異常警示來調查成本變化的根本原因,並在必要時採取更正動作。
以承諾用量為基礎的計劃使用率警示:實作以承諾為基礎的計劃使用率警示,以監視您的計劃使用量。 如果您有以承諾為基礎的方案,設定計劃使用率的警示可協助您有效地管理及最大化這些承諾的價值。 如果承諾式資源使用率低於所需的閾值,您可以設定這些警示來通知項目關係人。 優化以承諾為基礎的資源,並確定您使用承諾的優點。
使用 IaC
基礎結構即程式代碼是使用程式碼來管理和布建基礎結構資源的做法,通常是以組態檔的形式。 實作此策略,以使用程式代碼型範本來定義和自動化基礎結構資源的部署和設定,例如虛擬機、網路和記憶體。
IaC 策略提供結構化且可重複的方法來管理及控制基礎結構資源。 IaC 可協助您視需要部署資源、刪除資源而不持續執行資源,並藉由確保您根據預先定義的規則部署和設定資源,以優化成本。 請遵循下列步驟,使用 IaC 進行成本優化:
建立 IaC 範本。 建立程式代碼型範本語言,以定義您的基礎結構資源及其組態。 這些範本可讓您以宣告式方式指定基礎結構資源的預期狀態。 在基礎結構程式代碼中實作成本優化的最佳作法。 請考慮使用保留實例或節省方案來調整資源大小。 使用符合成本效益的記憶體選項,並套用資源元數據以進行成本配置和追蹤。
儲存範本。 將 IaC 範本儲存在版本控制系統中,以追蹤變更及管理不同的版本。 您可以使用版本控制來維護基礎結構設定的歷程記錄,並促進小組成員之間的共同作業。
使用參數。 使用範本中的參數,使其可重複使用且可設定。 藉由使用參數,您可以輕鬆地針對不同的環境或案例自定義基礎結構部署。
使用暫時環境。 使用暫時環境進行開發、測試和預備,以將成本優化。 暫時環境只應該在必要時執行。 使用 IaC 工具建立這些環境,並在完成時刪除環境。
使用 IaC 工具。 使用 IaC 工具和架構,將基礎結構資源的部署和設定自動化。 根據您的定義原則,使用自動化以一致且可靠地部署資源。
監視已部署的資源。 定期監視您的資源及其成本,以確保符合您的消費原則。 使用監視和警示工具來識別所定義護欄的任何偏差,並視需要採取更正動作。 檢查未使用的資源並加以刪除,最好使用自動化。
Azure 便利化
使用治理原則:使用 Azure 原則 來定義並強制執行符合成本優化目標的治理原則。 您可以使用 Azure 原則 來設定管理群組、訂用帳戶和資源群組的規則。 這些原則可以規範資源布建、使用量限制和成本配置。 使用原則來提升資源許可權、識別和消除閑置或使用量過低的資源,並鼓勵使用符合成本效益的服務與架構。
Azure 提供適用於常見使用案例的內建原則,可提供標準化且有效率的方式,在您的 Azure 資源中強制執行規則和指導方針。 建議您定義自己的自定義原則,以符合 Azure 內建原則未涵蓋的獨特商務需求或特定產業法規。 如需詳細資訊,請參閱 Azure 原則 內建原則定義。
Azure 可讓您設定限制或配額,以防止非預期的成本。 除了資源使用量的大小和持續時間之外,您還可以定義可布建的資源數目限制。 設定這些限制,以協助防止過度布建及控制成本。
識別未使用或閑置的資源。 藉由識別閑置和使用量過低的資源,使用 Azure Advisor 來優化並降低整體 Azure 成本。 從 Advisor 儀錶板中的成本區段接收成本建議。
新增資源元數據。 使用 Azure 治理來實作資源標記和分類。 使用相關的元數據標記資源,以追蹤和配置成本給不同的部門、專案或成本中心。 成本歸因的可見度可協助您識別高支出區域、優化資源配置,以及協助更好的成本管理。
設定訪問控制:使用 Azure RBAC 來管理資源的存取權。 您可以使用 RBAC,根據其角色,將許可權授與使用者、群組或應用程式。 實作 RBAC 以協助確保只有授權的用戶能夠存取資源,降低未經授權的資源使用量和潛在成本影響的風險。
使用發行閘道:使用 Azure Pipelines 發行管理來定義並強制執行發行閘道。 您可以設定手動或自動化檢查點,以協助確保您符合特定準則,例如安全性檢查、合規性需求和成本閾值。
使用基礎結構即程序代碼。 您可以使用 Azure 工具和服務,使用程式碼來部署和管理基礎結構資源。 您可以使用 Azure Resource Manager (ARM) 範本、Azure Bicep 和 Azure DevOps 等工具,以宣告式方式定義及部署基礎結構資源。 Azure 針對每個 Azure 資源都有 Bicep、Azure Resource Manager 和 Terraform 範本 。
使用 Azure Pipelines 或其他持續整合和持續傳遞 (CI/CD) 工具,將建置、測試和部署程式自動化。 Teams 可以使用管線來定義一系列步驟和動作,每當對程式代碼基底進行變更時,就會自動執行。 將這些程式自動化,以減少手動工作、確保一致性,並加速軟體的傳遞。
請考慮針對暫時或非生產環境使用低成本的資源,以將成本優化。 Azure 提供各種資源定價層。 Azure DevTest Labs 定價和 Azure 保留是您可以探索暫時環境的成本節省方法。
Git 存放庫,例如 Azure Repos 和 GitHub,提供版本控制功能來管理程式碼和基礎結構組態。 Teams 和開發人員可以使用自動化存放庫來共同作業、追蹤變更,以及維護其程式代碼基底的歷程記錄。
Azure 部署環境 可讓開發小組使用建立一致性和最佳做法的專案型範本,以快速且輕鬆地建立應用程式基礎結構,同時將安全性最大化。 依需求存取安全環境,會以符合規範且符合成本效益的方式加速軟體開發生命周期的階段。
Azure 開發人員 CLI 是開放原始碼工具,可加速您將應用程式從本機開發環境到 Azure 所需的時間。 無論您在終端機、集成開發環境 (IDE) 或 CI/CD 中工作,Azure 開發人員 CLI 都提供適用於開發人員的命令,以對應至工作流程中的關鍵階段。
設定成本警示:使用 Microsoft成本管理 將成本優化,並強制執行支出防護。 您可以使用成本管理功能來設定預算和警示、使用 Power BI 之類的工具將成本資訊可視化,以及分析成本模式和效能瓶頸。
組織一致性
中央小組應使用 雲端採用架構 指引來設定整個組織的支出護欄,讓工作負載小組瞭解中央小組可以提供什麼。
我們鼓勵組織採用原則驅動的護欄。 如需範例實作,請參閱採用原則驅動的護欄。
相關連結
成本優化檢查清單
請參閱一組完整的建議。