Поделиться через


Параметры настройки подсистемы оптимизации Azure

В этой статье описаны предварительные сценарии настройки или обновления подсистемы оптимизации Azure (AOE).


Использование локального репозитория

Если вы решили развернуть все зависимости из собственного локального репозитория, необходимо опубликовать файлы решения в общедоступный URL-адрес. Необходимо убедиться, что вся структура проекта AOE доступна по одному базовому URL-адресу. URL-адреса на основе маркеров SAS учетной записи хранения не поддерживаются.

.\Deploy-AzureOptimizationEngine.ps1 -TemplateUri <URL to the Bicep file (for example, 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, которое обычно происходит в рабочих процессах автоматического непрерывного развертывания, может понадобиться использовать аутентификацию Microsoft Entra для параметров Azure SQL. Например, чтобы предоставить роль администратора 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 и предоставить этому удостоверению Directory Readers роль в Microsoft Entra ID. Выполните шаги, изложенные в принципах службы Microsoft Entra для Azure SQL.


Включение рабочих книг обязательств Azure

Чтобы использовать рабочие книги, которые позволяют анализировать использование обязательств Azure (Benefits Usage, Reservations Usage, и Savings Plans Usage) или оценивать влияние других обязательств по потреблению (Benefits Simulation и Reservations Potential), необходимо настроить AOE и предоставить привилегии управляемой учетной записи на уровне вашего соглашения о потреблении (EA или Клиентского соглашения Майкрософт (MCA)). Если вы не смогли сделать это во время установки или обновления, вы по-прежнему можете выполнить эти дополнительные действия конфигурации, предоставив это пользователю, который является участником в группе ресурсов AOE и иметь права администратора по соглашению о потреблении (администратор регистрации предприятия для EA или владельца профиля выставления счетов для MCA). Вам просто нужно использовать Setup-BenefitsUsageDependencies.ps1 скрипт с помощью следующего синтаксиса и ответить на входные запросы:

./Setup-BenefitsUsageDependencies.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]

При возникновении проблем с приемом листа цен Azure (из-за большого размера экспорта CSV) можно создать следующую переменную автоматизации Azure, чтобы отфильтровать регионы в таблице цен: AzureOptimization_PriceSheetMeterRegions задайте для регионов выставления счетов, разделённых запятыми, виртуальных машин. Например, Запад ЕС, ЕС и Север.

Рабочая тетрадь "Использование резервирований" содержит несколько элементов "Неиспользуемые резервирования", которые требуют, чтобы AOE мог экспортировать данные о потреблении на уровне EA/MCA (вместо уровня подписки по умолчанию). Вы можете переключиться на использование области EA/MCA, создав или обновив AzureOptimization_ConsumptionScope переменную автоматизации со значением BillingAccount (EA/MCA, для этого необходимо вручную предоставить управляемому удостоверению AOE роль Читатель учетной записи выставления счетов) или BillingProfile (только MCA). Этот параметр может создать экспорт данных о крупном единичном потреблении, что может привести к ошибкам из-за нехватки памяти (в этом случае потребуется развертывание AOE с гибридным рабочим).


Обновление AOE

Если у вас есть предыдущая версия AOE и требуется обновить, это так же просто, как повторное выполнение скрипта развертывания. Используйте параметры именования ресурсов, выбранные при первоначальном развертывании. Он повторно развертывает шаблон ARM, добавляя новые ресурсы и обновляя существующие.

Однако, если вы ранее настраивали такие компоненты, как переменные автоматизации или расписания, улучшали производительность выполнения заданий с помощью гибридных рабочих или усилили безопасность решения с помощью Private Link, то вам следует запустить сценарий развертывания с параметром DoPartialUpgrade, например:

.\Deploy-AzureOptimizationEngine.ps1 -DoPartialUpgrade

С помощью DoPartialUpgrade переключателя развертывание будет только так:

  • Добавить новые контейнеры хранилища
  • Обновление и добавление модулей Runbook службы автоматизации
  • Обновление/добавление модулей автоматизации
  • Добавление новых расписаний автоматизации
  • Добавить новые переменные автоматизации
  • Обновление модели базы данных SQL
  • Обновление рабочих книг Log Analytics

Некоторые клиенты также могут настроить развертывание SQL Server, например переход с База данных SQL на Управляемый экземпляр SQL. Нет доступных инструментов для помощи в миграции, но после ручного выполнения миграции базы данных скрипт обновления AOE поддерживает будущие DoPartialUpgrade обновления при включенном переключателе IgnoreNamingAvailabilityErrors (пропускает проверку имен и существования SQL Server).


Связанные возможности FinOps:

Связанные продукты:

Связанные решения: