開始使用 Azure 優化引擎
Azure 優化引擎 (AOE) 是一種可延伸的解決方案,其設計目的是為您的 Azure 環境產生優化建議。 查看它就像完全可自定義的 Azure Advisor。
必要條件
以下是部署 AOE 的需求:
- 支援的 Azure 訂用帳戶(請參閱 常見問題)
- 具有所選訂用帳戶擁有者許可權的用戶帳戶,讓自動化受控識別獲得訂用帳戶的必要許可權(讀取者)和部署資源群組 (記憶體 Blob 數據參與者)
- Azure PowerShell 9.0.0+
- 選擇性的身分識別和 Azure 角色型訪問控制 (RBAC) (RBAC_治理) Microsoft.Graph.Authentication 和 Microsoft.Graph.Identity.DirectoryManagement PowerShell 模組 (2.4.0+版)。
- 適用於身分識別和 Azure RBAC 治理的選擇性 。 至少需要具有 Microsoft Entra 租使用者的特殊許可權角色管理員許可權的用戶帳戶,讓受控識別獲得透過 Microsoft Entra ID (全域讀取者) 所需的許可權。
- 選擇性,適用於 Azure 承諾深入解析。 需要具有 Enterprise 合約 (企業註冊系統管理員) 或 Microsoft 客戶合約 (帳單配置檔擁有者) 的系統管理許可權的用戶帳戶。 需要帳戶,才能將受控識別授與取用合約所需的許可權。
在部署期間,系統會詢問幾個問題。 您必須規劃下列專案:
- 決定是否要重複使用現有的Log Analytics工作區,或是否要建立新的工作區。
重要
在理想情況下,您應該重複使用 VM 已傳送效能計量的工作區(
Perf
數據表),否則您將不會完全運用增強的正確大小建議功能。 如果基於某些原因而無法/想要這樣做,您仍然可以管理使用多個工作區(請參閱 設定工作區)。 - 需要部署解決方案的 Azure 訂用帳戶。 如果您要重複使用 Log Analytics 工作區,則必須部署至工作區所在的相同訂用帳戶。
- 建立的 Azure 資源需要唯一的名稱前置詞。 如果您有特定的命名需求,您也可以在部署期間選擇資源名稱。
- Azure 區域
- 選擇性,適用於 Azure 承諾深入解析。 需要 Enterprise 合約 計費帳戶標識碼(EA/Microsoft 客戶合約 (MCA) 客戶)和帳單配置檔標識碼(MCA 客戶)。
為什麼是優化引擎?
Azure 優化引擎 (AOE) 最初是開發來增強來自 Azure Advisor 且具有更多計量和屬性的虛擬機正確大小建議。 您可以閱讀部落格系列,以 瞭解如何擴增 Azure Advisor 成本建議以進行自動化持續優化 – 第 1 部分。 它已演變成由社群所開發之各種架構啟發式優化之 妥善架構的泛型架構。 除了 Azure Advisor 所產生的建議之外,AOE 還包含數個自定義建議,主要來自成本支柱,並允許新建議的快速開發。 AOE 會以更優化的深入解析來補充 Azure Advisor 和其他第一方 Azure 服務,並允許進行完整自定義。
福利
除了收集 所有 Azure Advisor 建議之外,AOE 還包含您可以根據您的需求量身打造的其他自定義建議,例如:
- 成本
- 擴增建議程式虛擬機 (VM) 適當重設大小的成本建議,並根據虛擬機客體OS計量(由 Azure 監視器代理程式收集)和 Azure 屬性進行適當分數
- 使用量過低的 Azure 虛擬機器擴展集、進階 SSD 磁碟、App Service 方案和 Azure SQL 資料庫(僅限 DTU 型 SKU)
- 孤立的磁碟和公用IP
- 沒有後端集區的標準負載平衡器或應用程式閘道
- 自很久以前就解除分配的 VM (忘記的 VM)
- 未備妥保留原則的記憶體帳戶
- 不含任何應用程式的App Service 方案
- 已停止 (未解除分配) 虛擬機
- 高可用性
- 虛擬機高可用性 (使用非受控磁碟時的可用性區域計數、可用性設定組、受控磁碟、記憶體帳戶散發)
- 虛擬機器擴展集 高可用性(可用性區域計數、受控磁碟)
- 可用性設定群組結構 (容錯/更新網域計數)
- 效能
- 虛擬機器擴展集 因缺乏計算資源而受到限制
- 受資源不足所限制的 SQL 資料庫(僅限以 DTU 為基礎的 SKU)
- App Service 方案受限於缺乏計算資源
- 安全性
- 沒有到期日的服務主體認證/憑證
- 參考空/未存在子網、孤立/已移除 NIC 和孤立/移除公用IP的 NSG 規則
- 卓越營運
- 沒有後端集區的基本負載平衡器
- 服務主體認證/憑證已過期或即將到期
- 接近 Azure RBAC 指派上限的訂用帳戶和管理群組
- 接近資源群組上限的訂用帳戶
- 具有低可用IP空間或太多IP空間浪費的空子網和子網
- 孤立的 NIC
除了每周產生的自定義建議之外,AOE 還包含下列 Azure 活頁簿,提供下列深入解析:
- Azure 承諾用量折扣 (保留和節省方案 - 使用 Azure 優化引擎取得 Azure 保留和節省方案見解)
- Azure 記憶體使用量
- 成本異常
- 身分識別和 Azure RBAC 治理(指尖處的 Azure 身分識別和角色治理儀錶板)
- Azure 原則 合規性
包含哪些項目
AOE 包含下列資源:
- 用來保存所有原始數據導出的記憶體帳戶
- 內嵌和處理數據的Log Analytics工作區,以產生建議和深入解析
- Azure 自動化 實例來管理數據擷取和建議產生邏輯
- Azure SQL 資料庫可保存最多一年的建議歷程記錄、擷取控制數據和建議隱藏記錄
- 下列 Azure 活頁簿位於 Log Analytics 數據之上:
- 優點模擬
- 優點使用方式
- 區塊 Blob 記憶體使用量
- 成本增長
- 身分識別和角色
- 原則相容性
- 建議
- 保留潛力
- 保留使用量
- 資源清查
- 節省方案使用量
- 具有最新建議的Power BI報表
部署和初始擷取和建議產生自動化完成之後,通常是在三小時之後,您可以透過 Azure 活頁簿或 Power BI 的協助回報數據。
部署 AOE
安裝 AOE 的最簡單、最快和建議方法是使用 Azure Cloud Shell (PowerShell)。 您只需要遵循下列步驟:
- 開啟 Azure Cloud Shell (PowerShell)
git clone https://github.com/microsoft/finops-toolkit.git
執行cd finops-toolkit/src/optimization-engine
執行git checkout main
執行- (選擇性)執行
Install-Module Microsoft.Graph.Authentication,Microsoft.Graph.Identity.DirectoryManagement
- 此步驟需要將全域讀取者角色授與自動化受控識別,Microsoft Identity 和 RBAC 治理功能所使用的 Entra ID。 ./Deploy-AzureOptimizationEngine.ps1
執行- 輸入您的部署選項,並讓部署完成 (需要不到五分鐘的時間)
如果部署因為某些原因而失敗,您可以重複部署,因為它是等冪的。 如果您想要使用最新版本的存放庫升級先前的部署,則相同。 您只需要保留相同的部署選項。 部署文本會保存您先前的部署選項,並可讓您重複使用它。
如果您不想使用 Azure Cloud Shell,而是想要從工作站的文件系統執行部署,您必須先安裝 Azure PowerShell ,以及 Microsoft.Graph 模組。
或者,您可以使用輸入參數,指定您想要指派給 AOE 資源的 ResourceTags
標記集。 例如:
$tags = @{"Service"="aoe";"Environment"="Demo"}
.\Deploy-AzureOptimizationEngine.ps1 -ResourceTags $tags
開始使用 AOE
部署 AOE 之後,有數種方式可供您開始使用(您必須在看到數據之前至少等候三個小時):
- 探索數個可用的 Azure 活頁簿,從一
Recommendations
開始。 AOE 活頁簿可從安裝期間選擇的 Log Analytics 工作區內取得(檢查Workbooks
工作區內的視窗)。 如需詳細資訊,請參閱 報表。 - 開啟內建的 Power BI 報表,以取得建議的更深入見解,並根據您的需求加以自定義。 如需詳細資訊,請參閱 報表。
- 藉由擴大引擎的範圍或根據您的需求調整閾值,來自定義 AOE。 您可以在部署後立即執行。 如需所有可用的自定義詳細數據,請檢查 [自定義]。
- 如需更豐富的虛擬機大小建議,您可以將機器的效能記錄新增至 AOE 的範圍。 檢查 設定工作區。
每周都會根據您環境的目前狀態更新 AOE 建議。
相關內容
相關的 FinOps 功能:
相關產品:
相關解決方案: