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


Параметры настройки подсистемы оптимизации 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 для параметров SQL Azure. Например, чтобы предоставить роль администратора 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. Выполните действия, описанные в субъектах-службах Microsoft Entra с помощью SQL Azure.


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

Чтобы использовать книги, позволяющие анализировать использование обязательств Azure (, Reservations Usageи) или оценивать влияние других обязательств по потреблению (Benefits SimulationBenefits UsageиReservations Potential), необходимо настроить AOE и предоставить привилегии управляемому удостоверению на уровне соглашения о потреблении (EA или Клиентское соглашение Майкрософт (MCASavings Plans Usage)). Если вы не смогли сделать это во время установки или обновления, вы по-прежнему можете выполнить эти дополнительные действия конфигурации, предоставив это пользователю, который является участником в группе ресурсов 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 (вместо области подписки по умолчанию). Вы можете переключиться на использование области EA/MCA, создав или обновив AzureOptimization_ConsumptionScope переменную BillingAccount службы автоматизации с помощью (EA/MCA, требуя другую роль читателя учетной записи выставления счетов вручную, предоставленную управляемому удостоверению AOE) или BillingProfile (только MCA) в качестве значения. Этот параметр может создать большой экспорт одного потребления, который может привести к ошибкам из-за нехватки памяти (в свою очередь потребуется развертывание AOE с гибридной рабочей ролью).


Обновление AOE

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

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

.\Deploy-AzureOptimizationEngine.ps1 -DoPartialUpgrade

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

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

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


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

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

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