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


Шаблон концентратора FinOps

В этом документе приведены подробные сведения о том, что входит в шаблон развертывания Центров FinOps. Это можно использовать в качестве руководства по настройке развертывания или информированию о настройке шаблона в соответствии с потребностями организации. В этом документе описываются необходимые условия для развертывания шаблона, входные параметры, которые можно настроить, ресурсы, которые будут развернуты, и выходные данные шаблона. Выходные данные шаблона можно использовать для подключения к экземплярам концентратора в Power BI, Data Explorer или других средствах.

Центры FinOps включают множество ресурсов для обеспечения безопасной и масштабируемой платформы FinOps. Основные ресурсы, с которыми вы будете взаимодействовать, включают:

  • Обозреватель данных (Kusto) в качестве масштабируемого хранилища данных для расширенной аналитики (необязательно).
  • Учетная запись хранения (Data Lake Storage 2-го поколения) в качестве промежуточной области приема данных.
  • Экземпляр Фабрики данных для управления приемом и очисткой данных.

Внимание

Чтобы использовать шаблон, необходимо создать экспорт управления затратами для публикации данных в контейнере msexports в включенной учетной записи хранения. Дополнительные сведения см. в статье "Создание нового концентратора".


Необходимые компоненты

Перед развертыванием шаблона убедитесь, что выполнены следующие предварительные требования:


Параметры

Ниже приведены параметры, которые можно использовать для настройки развертывания:

Параметр Тип Описание 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.
  • <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.
      • Наборы данных включают: Costs, Prices.
      • Поддерживаемые версии FOCUS включают: v1_0.
    • 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. Заполняется политикой обновления, которая использует соответствующую функцию преобразования при приеме данных в необработанные таблицы.

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

  • Управляемые удостоверения:
    • <storage>_blobManager (Участник данных BLOB-объектов хранилища) — отправляет файл settings.json.
    • <datafactory>_triggerManager (Участник фабрики данных) — останавливает триггеры перед развертыванием и запускает их после развертывания.
  • Скрипты развертывания (автоматически удаляются после успешного развертывания):
    • <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. Это потребуется при настройке управляемых экспортов.