Шаблон концентратора FinOps
В этом документе приведены подробные сведения о том, что входит в шаблон развертывания Центров FinOps. Это можно использовать в качестве руководства по настройке развертывания или информированию о настройке шаблона в соответствии с потребностями организации. В этом документе описываются необходимые условия для развертывания шаблона, входные параметры, которые можно настроить, ресурсы, которые будут развернуты, и выходные данные шаблона. Выходные данные шаблона можно использовать для подключения к экземплярам концентратора в Power BI, Data Explorer или других средствах.
Центры FinOps включают множество ресурсов для обеспечения безопасной и масштабируемой платформы FinOps. Основные ресурсы, с которыми вы будете взаимодействовать, включают:
- Обозреватель данных (Kusto) в качестве масштабируемого хранилища данных для расширенной аналитики (необязательно).
- Учетная запись хранения (Data Lake Storage 2-го поколения) в качестве промежуточной области приема данных.
- Экземпляр Фабрики данных для управления приемом и очисткой данных.
Внимание
Чтобы использовать шаблон, необходимо создать экспорт управления затратами для публикации данных в контейнере msexports
в включенной учетной записи хранения. Дополнительные сведения см. в статье "Создание нового концентратора".
Необходимые компоненты
Перед развертыванием шаблона убедитесь, что выполнены следующие предварительные требования:
Для создания развернутых ресурсов необходимо иметь следующие разрешения.
Ресурс Минимальное значение Azure RBAC Развертывание и настройка Фабрики данных Участник фабрики данных Развертывание Key Vault¹ Участник Key Vault Настройка секретов Key Vault Администратор хранилища ключей Создание управляемого удостоверения Участник управляемого удостоверения Развертывание и настройка хранилища Участник учетной записи хранения Назначение управляемого удостоверения ресурсам Оператор управляемого удостоверения Создание скриптов развертывания Пользовательская роль, содержащая только Microsoft.Resources/deploymentScripts/write
разрешенные действия иMicrosoft.ContainerInstance/containerGroups/write
разрешения или, кроме того, участник, который включает эти разрешения и все указанные выше роли.Назначение разрешений для управляемых удостоверений Роль на основе контроль доступа администратор или, кроме того, владелец, который включает эту роль и все указанные выше роли. Создание подписки или экспорта затрат на группу ресурсов Участник службы "Управление затратами" Создание экспорта затрат на выставление счетов EA Корпоративный читатель, читатель отдела или владелец учетной записи регистрации (дополнительные сведения) Создание экспорта затрат на выставление счетов MCA Участник Чтение данных BLOB-объектов в хранилище Участник данных хранилища BLOB-объектов 1. Достаточно назначить разрешения развертывания ресурсов концентраторов в области группы ресурсов.
Разрешения управления затратами должны быть назначены в области, из которой вы хотите экспортировать затраты.
Для доступа к экспортируемым данным о затратах из Power BI или других клиентских средств требуются разрешения на данные данных больших двоичных объектов.Поставщик ресурсов Microsoft.EventGrid должен быть зарегистрирован в вашей подписке. Дополнительные сведения см. в разделе "Регистрация поставщика ресурсов".
Внимание
Если вы забыли этот шаг, развертывание завершится успешно, но триггер конвейера не будет запущен, и данные не будут готовы. Дополнительные сведения см. в разделе "Устранение неполадок с отчетами Power BI".
Параметры
Ниже приведены параметры, которые можно использовать для настройки развертывания:
Параметр | Тип | Описание | Default value |
---|---|---|---|
hubName | Строка | Необязательно. Имя концентратора. Используется для обеспечения уникальных имен ресурсов. | "finops-hub" |
расположение | Строка | Необязательно. Расположение Azure, в котором должны быть созданы все ресурсы. См. раздел https://aka.ms/azureregions. | То же, что и развертывание |
storageSku | Строка | Необязательно. Номер SKU хранилища для использования. LRS = низкая стоимость, ZRS = высокий уровень доступности. Обратите внимание, что артикулы SKU уровня "Стандартный" недоступны для хранилища Data Lake второго поколения. Разрешено: Premium_LRS , Premium_ZRS . |
"Premium_LRS" |
dataExplorerName | Строка | Необязательно. Имя кластера Azure Data Explorer для использования для расширенной аналитики. Если поле пусто, Azure Data Explorer не будет установлен. Требуется использовать с Power BI, если вы отслеживаете затраты более чем на 2-5 миллионов долларов в месяц. Значение по умолчанию: "" (не используется). | |
dataExplorerSkuName | Строка | Необязательно. Название SKU для Azure Data Explorer. Значение по умолчанию: "Dev(No SLA)_Standard_E2a_v4". | |
dataExplorerSkuTier | Строка | Необязательно. Уровень SKU для кластера Azure Data Explorer. Используйте Basic для минимальных затрат, но без SLA (из-за одного узла). Используйте стандарт "Стандартный" для обеспечения высокой доступности и повышения производительности. Допустимые значения: "Базовый", "Стандартный". Значение по умолчанию: "Базовый". | |
dataExplorerSkuCapacity | int | Необязательно. Количество узлов, используемых в кластере. Допустимые значения: 1 для уровня SKU "Базовый" и 2-1000 для категории "Стандартный". Значение по умолчанию: 1. | |
теги | Объект | Необязательно. Теги для применения ко всем ресурсам. Мы также добавим тег cm-resource-parent для улучшения агрегации затрат в Управлении затратами. |
|
tagsByResource | Объект | Необязательно. Теги для применения к ресурсам на основе их типа ресурса. Теги конкретного типа ресурсов будут объединены с тегами для всех ресурсов. | |
scopesToMonitor | Массив | Необязательно. Список идентификаторов областей для отслеживания и приема затрат. | |
exportRetentionInDays | Int | Необязательно. Количество дней хранения данных в контейнере msexports. | 0 |
приемretentionInMonths | Int | Необязательно. Количество месяцев хранения данных в контейнере приема. | 13 |
Срок хранения журнала в днях в Data Explorer | Int | Необязательно. Количество дней хранения данных в таблицах *_log в Data Explorer. | 0 |
Итоговый срок хранения в месяцах в Data Explorer | Int | Необязательно. Количество месяцев хранения данных в таблицах *_final_v* обозревателя данных. | 13 |
remoteHubStorageUri | Строка | Необязательно. Учетная запись хранения для отправки данных для приема в удаленный концентратор. | |
remoteHubStorageKey | Строка | Необязательно. Ключ учетной записи хранения, используемый при отправке данных в удаленный концентратор. | |
enablePublicAccess | строка | Необязательно. Отключите общедоступный доступ к озеру данных (брандмауэр хранилища). | Ложный |
префиксАдресаВиртуальнойСети | Строка | Необязательно. Диапазон IP-адресов для частной виртуальной сети, используемой центрами FinOps.
/26 рекомендуется для предотвращения растраты IP-адресов. Внутри системы будут созданы следующие подсети: /28 для частных конечных точек, другую /28 подсеть для временных сценариев развертывания (экземпляры контейнеров) и /27 для Azure Data Explorer при включении. |
'10.20.30.0/26' |
Ресурсы
Следующие ресурсы создаются в целевой группе ресурсов во время развертывания.
Ресурсы используют следующее соглашение об именовании: <hubName>-<purpose>-<unique-suffix>
Имена корректируются для учета ограничений длины и символов. Используется <unique-suffix>
для обеспечения глобальных уникальных имен ресурсов, где это необходимо.
-
<hubName>store<unique-suffix>
учетная запись хранения (Data Lake Storage 2-го поколения)- Контейнеры BLOB-объектов:
-
msexports
— временно сохраняет экспорт управления затратами. -
ingestion
— хранит данные приема.Примечание.
В будущем мы будем использовать этот контейнер для этапов внешних данных за пределами управления затратами. -
config
— хранит метаданные и параметры конфигурации концентратора. Файлы.-
settings.json
— параметры концентратора. -
schemas/focuscost_1.0.json
— определение схемы FOCUS 1.0 для преобразования parquet. -
schemas/focuscost_1.0-preview(v1).json
— определение схемы focus 1.0-preview для преобразования parquet. -
schemas/pricesheet_2023-05-01_ea.json
— определение схемы ЦЕН EA версии 2023-05-01 для преобразования parquet. -
schemas/pricesheet_2023-05-01_mca.json
– определение схемы ценовой таблицы MCA версии 2023-05-01 для преобразования в parquet. -
schemas/reservationdeatils_2023-03-01.json
— определение схемы сведений о резервировании версии 2023-03-01 для преобразования Parquet. -
schemas/reservationrecommendations_2023-05-01_ea.json
— рекомендации по определению резервирования схемы EA версии 2023-05-01 для преобразования в формат Parquet. -
schemas/reservationrecommendations_2023-05-01_mca.json
— рекомендации по резервированию схемы MCA версии 2023-05-01 для преобразования в формат parquet. -
schemas/reservationtransactions_2023-05-01_ea.json
— версия определения схемы EA для транзакций резервирования 2023-05-01 для преобразования в формат "parquet". -
schemas/reservationtransactions_2023-05-01_mca.json
— транзакции резервирования по определению схемы MCA версии 2023-05-01 для преобразования в формат Parquet.
-
-
- Контейнеры BLOB-объектов:
-
<hubName>script<unique-suffix>
аккаунт хранилища (Data Lake Storage 2-го поколения) для скриптов развертывания. -
<hubName>-engine-<unique-suffix>
Экземпляр фабрики данных- Трубопроводов:
-
config_InitializeHub
— инициализирует (или обновляет) экземпляр концентратора FinOps после развертывания. -
config_ConfigureExports
— создает экспорт управления затратами для всех областей. -
config_StartBackfillProcess
— выполняет задание резервной заполнения для каждого месяца на основе параметров хранения. -
config_RunBackfillJob
— создает и активирует экспорт для всех определенных областей для указанного диапазона дат. -
config_StartExportProcess
— Получает список всех экспортов управления затратами, настроенных для этого концентратора на основе областей, определенных в settings.json, а затем выполняет каждый экспорт с помощью конвейера config_RunExportJobs. -
config_RunExportJobs
— выполняет указанный экспорт управления затратами. -
msexports_ExecuteETL
— помещаетmsexports_ETL_ingestion
конвейер в очередь для учета ограничений триггера конвейера фабрики данных. -
msexports_ETL_ingestion
— преобразует экспорт управления затратами в parquet и удаляет исторические данные, повторяющиеся в экспорте каждого дня. -
ingestion_ExecuteETL
— помещаетingestion_ETL_dataExplorer
конвейер в очередь для учета ограничений триггера конвейера фабрики данных. -
ingestion_ETL_dataExplorer
— загружает данные Parquet в кластер Azure Data Explorer.
-
- Триггеры:
-
config_SettingsUpdated
— активируетconfig_ConfigureExports
конвейер при обновлении settings.json. -
config_DailySchedule
— активируетconfig_RunExportJobs
конвейер ежедневно для данных о затратах текущего месяца. -
config_MonthlySchedule
— активируетconfig_RunExportJobs
конвейер ежемесячно для данных о затратах предыдущего месяца. -
msexports_ManifestAdded
— активируетmsexports_ExecuteETL
конвейер после завершения экспорта службы "Управление затратами". -
ingestion_ManifestAdded
— активирует конвейерingestion_ExecuteETL
при добавлении manifest.json файлов (обрабатывается конвейеромmsexports_ETL_ingestion
).
-
- Управляемые частные конечные точки
-
<hubName>store<unique-suffix>
— управляемая частная конечная точка для учетной записи хранения. -
<hubName>-vault-<unique-suffix>
— управляемая частная конечная точка для Azure Key Vault.
-
- Трубопроводов:
-
<hubName>-vault-<unique-suffix>
Экземпляр Key Vault- Секреты:
- Управляемое удостоверение системы фабрики данных
- Секреты:
- кластер
<dataExplorerName>
Data Explorer-
Hub
базе данных — общедоступные функции для абстрактных внутренних элементов.- Включает 2 набора функций:
- Функции для конкретного набора данных для последней поддерживаемой версии FOCUS (например,
Costs
,Prices
). - Функции для конкретного набора данных для каждой поддерживаемой версии FOCUS (например,
Costs_v1_0
для FOCUS 1.0). Эти функции предоставляются для обратной совместимости. Все функции возвращают все данные, соответствующие целевой версии FOCUS.
- Функции для конкретного набора данных для последней поддерживаемой версии FOCUS (например,
- Наборы данных включают:
Costs
,Prices
. - Поддерживаемые версии FOCUS включают:
v1_0
.
- Включает 2 набора функций:
-
Ingestion
базе данных — хранит загруженные данные.- Параметры:
- В таблице
HubSettingsLog
хранится журнал изменений конфигурации верхнего уровня (например, версий, областей). - функция
HubSettings
— получает последнюю версию настроек экземпляра хаба. - функция
HubScopes
— получает настроенные в данный момент области для этого экземпляра концентратора.
- В таблице
- Открытые данные:
- таблица
PricingUnits
— файл сопоставления PricingUnits из набора средств FinOps. Используется для нормализации и очистки данных. - Таблица
Regions
— файл сопоставления регионов из набора средств FinOps. Используется для нормализации и очистки данных. - Таблица
ResourceTypes
— файл сопоставления ResourceTypes из набора инструментов FinOps. Используется для нормализации и очистки данных. - Таблица
Services
— файл сопоставления служб из набора средств FinOps. Используется для нормализации и очистки данных.
- таблица
- Наборы данных:
- таблица
<dataset>_raw
— необработанные данные непосредственно из источника приема. Использует схему объединения для данных из нескольких источников. - функция
<dataset>_transform_vX_Y
— нормализует и очищает необработанные данные, чтобы привести их в соответствие с целевой версией «FOCUS» с использованием открытых таблиц данных по мере необходимости. -
<dataset>_final_vX_Y
таблица — очищенная версия соответствующей необработанной таблицы, соответствующая целевой версии FOCUS. Заполняется политикой обновления, которая использует соответствующую функцию преобразования при приеме данных в необработанные таблицы.
- таблица
- Параметры:
-
Помимо предыдущих сведений, для автоматизации процесса развертывания создаются следующие ресурсы. Скрипты развертывания следует удалять автоматически. Однако не удаляйте управляемые удостоверения, так как это может привести к ошибкам при обновлении до следующего выпуска.
- Управляемые удостоверения:
- Скрипты развертывания (автоматически удаляются после успешного развертывания):
-
<datafactory>_deleteOldResources
— удаляет неиспользуемые ресурсы из предыдущих развертываний Центров FinOps. -
<datafactory>_stopTriggers
— останавливает все триггеры в концентраторе с помощью удостоверения triggerManager. -
<datafactory>_startTriggers
— запускает все триггеры в концентраторе с помощью удостоверения triggerManager. -
<storage>_uploadSettings
— отправляет файл settings.json с помощью удостоверения BLOBManager.
-
Выходные данные
Ниже приведены выходные данные, созданные развертыванием:
Выходные данные | Тип | Описание | Значение |
---|---|---|---|
name | Строка | Имя группы ресурсов. | |
расположение | Строка | Ресурсы расположения ресурсов Azure были развернуты в. | |
dataFactorytName | Строка | Имя фабрики данных. | |
storageAccountId | Строка | Идентификатор ресурса развернутой учетной записи хранения. | |
storageAccountName | Строка | Имя учетной записи хранения, созданной для экземпляра концентратора. Это необходимо использовать при подключении отчетов Power BI к данным набора средств FinOps. | |
storageUrlForPowerBI | Строка | URL-адрес, используемый при подключении пользовательских отчетов Power BI к данным. | |
clusterId | Строка | Идентификатор ресурса кластера Data Explorer. | |
clusterUri | Строка | Универсальный код ресурса (URI) кластера Data Explorer. | |
ingestionDbName | Строка | Имя базы данных Обозревателя данных, используемой для приема данных. | |
hubDbName | Строка | Имя базы данных Обозревателя данных, используемой для запроса данных. | |
managedIdentityId | Строка | Идентификатор объекта управляемого удостоверения фабрики данных. Это потребуется при настройке управляемых экспортов. | |
managedIdentityTenantId | Строка | Идентификатор клиента Azure AD. Это потребуется при настройке управляемых экспортов. |