Azure 优化引擎设置选项
本文介绍设置或升级 Azure 优化引擎(AOE)的先进方案。
使用本地存储库
如果选择从自己的本地存储库部署所有依赖项,则必须将解决方案文件发布到可公开访问的 URL 中。 必须确保整个 AOE 项目结构在同一基 URL 中可用。 不支持基于存储帐户 SAS 令牌的 URL。
.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri <URL to the Bicep file (e.g., https://contoso.com/azuredeploy.bicep)> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]
# Example - Deploying from a public endpoint
.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri "https://contoso.com/azuredeploy.bicep"
# Example 2 - Deploying from a public endpoint, using resource tags
$tags = @{"CostCenter"="FinOps";"Environment"="Production"}
.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri "https://contoso.com/azuredeploy.bicep" -ResourceTags $tags
无提示部署
(可选)还可以使用 SilentDeploymentSettingsPath
输入参数以更自动化的方式部署 AOE。
引用文件应是一个 JSON 文件,其中包含定义的所需属性(除非指定所有必需 属性)。
此类无提示部署文件的内容示例如下:
{
"SubscriptionId": "<<SubscriptionId>>",
"NamePrefix": "<<CustomNamePrefix>>", // prefix for all resources. Fill in 'EmptyNamePrefix' to specify the resource names
"WorkspaceReuse": "n", // y = reuse existing workspace, n = create new workspace
"ResourceGroupName": "<<CustomName>>-rg", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"StorageAccountName": "<<CustomName>>sa", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"AutomationAccountName": "<<CustomName>>-auto", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"SqlServerName": "<<CustomName>>-sql", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"SqlDatabaseName": "<<CustomName>>-db", // mandatory if NamePrefix is set to 'EmptyNamePrefix'
"WorkspaceName": "<<ExistingName>>", // mandatory if WorkspaceReuse is set to 'n'
"WorkspaceResourceGroupName": "<<ExistingName>>", // mandatory if workspaceReuse is set to 'n'
"DeployWorkbooks": "y", // y = deploy the workbooks, n = don't deploy the workbooks
"TargetLocation": "westeurope",
"DeployBenefitsUsageDependencies": "y", // deploy the dependencies for the Azure commitments workbooks (EA/MCA customers only + agreement administrator role required)
"CustomerType": "MCA", // mandatory if DeployBenefitsUsageDependencies is set to 'y', MCA/EA
"BillingAccountId": "<guid>:<guid>_YYYY-MM-DD", // mandatory if DeployBenefitsUsageDependencies is set to 'y', MCA or EA Billing Account ID
"BillingProfileId": "ABCD-DEF-GHI-JKL", // mandatory if CustomerType is set to 'MCA"
"CurrencyCode": "EUR" // mandatory if DeployBenefitsUsageDependencies is set to 'y'
}
在以无提示方式部署 AOE 时(通常在自动化持续部署工作流中发生),可能需要对 Azure SQL 参数使用 Microsoft Entra 身份验证。 例如,若要将 SQL 管理员角色授予具有工作流自动化服务主体成员Microsoft Entra ID 组。 下面是一个示例:
.\Deploy-AzureOptimizationEngine.ps1 -SilentDeploymentSettingsPath "<path to deployment settings file>" -SqlAdminPrincipalType Group -SqlAdminPrincipalName "<Group Name>" -SqlAdminPrincipalObjectId "<Group Object GUID>"
注意
使用非用户标识(服务主体)部署 AOE 时,必须确保向 AOE SQL Server 分配系统标识,并在 Microsoft Entra ID 中向其授予 Directory Readers
角色。 按照 Azure SQL Microsoft Entra 服务主体中的步骤操作。
启用 Azure 承诺工作簿
若要使用工作簿来分析 Azure 承诺使用情况(Benefits Usage
和Savings Plans Usage
Reservations Usage
)或估计其他消耗承诺的影响(Benefits Simulation
以及Reservations Potential
),需要配置 AOE 并在消耗协议级别(EA 或Microsoft 客户协议(MCA)授予其托管标识的权限。 如果在设置/升级期间无法执行此操作,仍可以执行这些额外的配置步骤,前提是用户既是 AOE 资源组中的参与者,又具有对消耗协议 的管理权限(适用于 EA 的企业注册管理员或 MCA 计费配置文件所有者)。 只需使用以下语法来使用 Setup-BenefitsUsageDependencies.ps1
脚本并回答输入请求:
./Setup-BenefitsUsageDependencies.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]
如果遇到 Azure 价目表引入问题(由于 CVS 导出大),可以创建以下Azure 自动化变量,以在价目表区域中进行筛选:AzureOptimization_PriceSheetMeterRegions
设置为虚拟机的逗号分隔计费区域。 例如, 欧盟西部、欧盟和北部。
预留使用情况工作簿具有几个“未使用的预留”磁贴,这些磁贴要求 AOE 在 EA/MCA 范围(而不是默认订阅范围)导出消耗数据。 可以通过创建/更新 AzureOptimization_ConsumptionScope
自动化变量 BillingAccount
(EA/MCA,需要手动向 AOE 托管标识授予另一个计费帐户读取者角色)或 BillingProfile
(MCA)作为值来切换到 EA/MCA 范围消耗。 此选项可以生成大量的单个消耗导出,这可能会导致由于内存不足而导致错误(这反过来又需要 使用混合辅助角色部署 AOE)。
升级 AOE
如果有以前版本的 AOE 并想要升级,则只需重新运行部署脚本即可。 使用在初始部署中选择的资源命名选项。 它重新部署 ARM 模板,添加新资源并更新现有资源。
但是,如果以前自定义的组件(如自动化变量或计划),使用混合辅助角色改进作业执行性能,或者使用专用链接强化解决方案,则应使用DoPartialUpgrade
开关运行部署脚本,例如:
.\Deploy-AzureOptimizationEngine.ps1 -DoPartialUpgrade
DoPartialUpgrade
使用开关时,部署将仅:
- 添加新存储容器
- 更新/添加自动化 Runbook
- 更新/添加自动化模块
- 添加新的自动化计划
- 添加新的自动化变量
- 升级 SQL 数据库模型
- 更新 Log Analytics 工作簿
某些客户还可以自定义 SQL Server 部署,例如,从SQL 数据库迁移到SQL 托管实例。 没有可用于帮助迁移的工具,但在手动完成数据库迁移后,AOE 升级脚本支持在开关上(跳过 SQL Server 命名/存在验证)进行将来 DoPartialUpgrade
的升级 IgnoreNamingAvailabilityErrors
。
相关内容
相关的 FinOps 功能:
相关产品:
相关解决方案: