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


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

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

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

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

Внимание

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


Предварительные требования

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


Параметры

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

Параметр Тип Описание Значение по умолчанию
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 Объект Необязательно. Теги для применения к ресурсам на основе их типа ресурса. Теги конкретного типа ресурсов будут объединены с тегами для всех ресурсов.
области для мониторинга Массив Необязательно. Список идентификаторов областей применения для отслеживания и учета затрат.
exportRetentionInDays int Необязательно. Количество дней хранения данных в контейнере msexports. 0
сохранениеДанныхВМесяцах 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/reservationdetails_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 конвейер в очередь для учета ограничений на триггеры конвейеров в Data Factory.
      • msexports_ETL_ingestion — преобразует экспорт управления затратами в формат Parquet и удаляет дублирующиеся исторические данные из каждого ежедневного экспорта.
      • ingestion_ExecuteETL — ставит ingestion_ETL_dataExplorer конвейер в очередь для учета ограничений на триггеры конвейеров в Data Factory.
      • 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 (только при развертывании в качестве удаленного концентратора)
    • Секреты:
      • Управляемое удостоверение системы Data Factory
  • 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. Используется для нормализации и очистки данных.
        • функция resource_type — простая функция для сопоставления идентификаторов внутренних типов ресурсов с отображением имен на основе файла сопоставления ResourceTypes.
          • Эта функция используется для сопоставления отдельных значений и соединения с таблицей ResourceTypes для обновления множества строк или сопоставления других значений.
      • Наборы данных:
        • таблица <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.

Выходные данные

Ниже приведены выходные данные, созданные развертыванием:

Выходные данные Тип Описание Значение
имя Строка Имя группы ресурсов.
расположение Строка Местоположения ресурсов Azure, куда были развернуты ресурсы.
dataFactoryName Строка Имя фабрики данных.
storageAccountId Строка Идентификатор ресурса развернутой учетной записи хранения.
Имя учетной записи хранилища Строка Имя учетной записи хранения, созданной для экземпляра концентратора. Это необходимо использовать при подключении отчетов Power BI к данным набора средств FinOps.
URL хранилища для PowerBI Строка URL-адрес, используемый при подключении пользовательских отчетов Power BI к данным.
clusterId Строка Идентификатор ресурса кластера Data Explorer.
clusterUri Строка URI кластера Исследователь данных.
ingestionDbName Строка Имя базы данных Обозревателя данных, используемой для приема данных.
hubDbName Строка Имя базы данных Обозревателя данных, используемой для запроса данных.
managedIdentityId Строка Идентификатор объекта управляемого удостоверения фабричной системы данных. Это потребуется при настройке управляемых экспортов.
managedIdentityTenantId Строка Идентификатор клиента Azure AD. Это потребуется при настройке управляемых экспортов.

Оставить отзыв

Сообщите нам ваше мнение о нашей работе, оставив краткий отзыв. Эти отзывы используются для улучшения и расширения средств и ресурсов FinOps.

Если вы ищете что-то конкретное, проголосуйте за существующую или создайте новую идею. Поделитесь идеями с другими пользователями, чтобы получить больше голосов. Мы сосредоточимся на идеях с большинством голосов.


Подробнее