Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este documento se proporciona un resumen detallado de lo que se incluye en la plantilla de implementación de FinOps Hubs. Puede usarlo como guía para ajustar la implementación o para informar a las personalizaciones que puede realizar en la plantilla para satisfacer sus necesidades organizativas. En este documento se explican los requisitos previos necesarios para implementar la plantilla, los parámetros de entrada que puede personalizar, los recursos que se implementarán y las salidas de la plantilla. Las salidas de plantilla se pueden usar para conectar con instancias de su centro en Power BI, Data Explorer u otras herramientas.
FinOps Hubs incluye muchos recursos para ofrecer una plataforma finOps segura y escalable. Entre los principales recursos con los que interactuará se incluyen:
- Explorador de datos (Kusto) como almacén de datos escalable para análisis avanzados (opcional).
- Cuenta de almacenamiento (Data Lake Storage Gen2) como área de almacenamiento provisional para la ingesta de datos.
- Instancia de Data Factory para administrar la ingesta y limpieza de datos.
Importante
Para usar la plantilla, debe crear exportaciones de Cost Management para publicar datos en el contenedor de msexports en la cuenta de almacenamiento incluida. Para obtener más información, consulte Creación de un nuevo centro.
Requisitos previos
Asegúrese de que se cumplen los siguientes requisitos previos antes de implementar la plantilla:
Debe tener los permisos siguientes para crear los recursos implementados.
Recurso RBAC mínimo de Azure Implementación y configuración de Data Factory¹ Colaborador de Factoría de datos Implementación de Key Vault (solo centro de conectividad remoto)¹ Colaborador de Key Vault Configuración de secretos de Key Vault (solo centro de conectividad remoto)¹ Administrador de Key Vault Creación de una identidad administrada¹ Colaborador de identidad administrada Implementación y configuración de storage¹ Colaborador de la cuenta de almacenamiento Asignar identidad administrada a recursos¹ Operador de identidad administrada Crear scripts de implementación¹ Rol personalizado que solo contiene los Microsoft.Resources/deploymentScripts/writepermisos yMicrosoft.ContainerInstance/containerGroups/writecomo acciones permitidas o, como alternativa, Colaborador, que incluye estos permisos y todos los roles anterioresAsignar permisos a identidades administradas¹ Administrador de control de acceso basado en roles o, como alternativa, propietario, que incluye este rol y todos los roles anteriores Crear una exportación de costes de suscripción o grupo de recursos² Colaborador de Cost Management Crea una exportación de costes de facturación de EA Lector de empresa, Lector de departamento o Propietario de la cuenta de suscripción (Obtener más información) Crea una exportación de costes de facturación de MCA Colaborador Lectura de datos de blobs en el almacenamiento³ Colaborador de datos de blobs de almacenamiento ¹ Es suficiente asignar permisos para la implementación de recursos de centros en el ámbito del grupo de recursos.
²Los permisos de Cost Management deben asignarse en el ámbito desde el que desea exportar los costes.
Se requieren permisos de datos de Blob para acceder a los datos de costos exportados desde Power BI u otras herramientas cliente.Debe tener permisos para asignar los siguientes roles a identidades administradas como parte de la implementación:
Rol RBAC de Azure Notas Colaborador de Factoría de datos Asignado a la identidad del administrador de desencadenadores de implementación para iniciar automáticamente los desencadenadores de Data Factory. Lector Asignado a Data Factory para administrar los datos en el almacenamiento. Colaborador de la cuenta de almacenamiento Asignado a Data Factory para administrar los datos en el almacenamiento. Colaborador de datos de blobs de almacenamiento Asignado a Data Factory y data Explorer para administrar datos en el almacenamiento. Colaborador con privilegios de datos de archivos de almacenamiento Asignado a la identidad de carga del archivo de implementación que carga los archivos en el contenedor de configuración. Administrador de acceso de usuario Asignado a Data Factory para administrar los datos en el almacenamiento. El proveedor de recursos Microsoft.EventGrid debe estar registrado en la suscripción. Para más información, consulte Registro de un proveedor de recursos.
Importante
Si olvida este paso, la implementación se completará con éxito, pero el desencadenador de la canalización no se iniciará y los datos no estarán disponibles. Para más información, consulte Solución de problemas de informes de Power BI.
Parámetros
Estos son los parámetros que puede usar para personalizar la implementación:
| Parámetro | Tipo | Descripción | Valor por defecto |
|---|---|---|---|
| hubName | Cadena | Opcional. Nombre del centro. Se usa para garantizar nombres de recursos únicos. | finops-hub |
| ubicación | Cadena | Opcional. Ubicación de Azure donde se deben crear todos los recursos. Consulte https://aka.ms/azureregions. | Igual que el despliegue |
| storageSku | Cadena | Opcional. SKU de almacenamiento que se va a usar. LRS = Costo más bajo, ZRS = Alta disponibilidad. Nota Las SKU estándar no están disponibles para el almacenamiento de Data Lake Gen2. Se permite: Premium_LRS, Premium_ZRS. |
"Premium_LRS" |
| dataExplorerName | Cadena | Opcional. Nombre del clúster de Azure Data Explorer que se va a usar para el análisis avanzado. Si está vacío, Azure Data Explorer no se implementará. Es necesario utilizarlas con Power BI si usted tiene más de 2-5 millones de dólares/mes en costes supervisados. Valor predeterminado: "" (no se usa). | |
| dataExplorerSkuName | Cadena | Opcional. Nombre de la SKU de Azure Data Explorer. Valor predeterminado: "Dev(No SLA)_Standard_E2a_v4". | |
| dataExplorerSkuTier | Cadena | Opcional. Nivel de SKU para el clúster de Azure Data Explorer. Use Básico para el costo más bajo sin Acuerdo de Nivel de Servicio (debido a un único nodo). Use Estándar para lograr una alta disponibilidad y mejorar el rendimiento. Valores permitidos: Básico, Estándar. Valor predeterminado: "Básico". | |
| dataExplorerSkuCapacity | Int | Opcional. Número de nodos que se van a usar en el clúster. Valores permitidos: 1 para el nivel de SKU básica y 2-1000 para Standard. Valor predeterminado: 1. | |
| etiquetas | Objeto | Opcional. Etiquetas que se aplicarán a todos los recursos. También agregaremos la etiqueta cm-resource-parent para mejorar las agregaciones de costos en la Gestión de Costos. |
|
| tagsByResource | Objeto | Opcional. Etiquetas que se aplicarán a los recursos en función de su tipo de recurso. Las etiquetas específicas del tipo de recurso se combinarán con etiquetas para todos los recursos. | |
| scopesToMonitor | Matriz | Opcional. Lista de identificadores de ámbito para supervisar e ingerir costes. | |
| exportRetentionInDays | Int | Opcional. Número de días de datos que se conservarán en el contenedor msexports. | 0 |
| retenciónDeIngestaEnMeses | Int | Opcional. Número de meses de datos que se conservarán en el contenedor de ingesta. | 13 |
| retenciónDeLogsEnDíasDataExplorer | Int | Opcional. Número de días de datos que se conservarán en las tablas *_log del Explorador de Datos. | 0 |
| RetenciónFinalDeDataExplorerEnMeses | Int | Opcional. Número de meses de datos que se conservarán en las tablas *_final_v* del Explorador de datos. | 13 |
| remoteHubStorageUri | Cadena | Opcional. Cuenta de almacenamiento para enviar datos para la ingesta en un centro remoto. | |
| remoteHubStorageKey | Cadena | Opcional. Clave de cuenta de almacenamiento que se usará al insertar datos en un centro remoto. | |
| habilitarAccesoPúblico | cadena | Opcional. Deshabilite el acceso público al lago de datos (firewall de almacenamiento). | Cierto |
| virtualNetworkAddressPrefix | Cadena | Opcional. Intervalo de direcciones IP para la red virtual privada utilizada por los centros de FinOps.
/26 es recomendado para evitar desperdiciar direcciones IP. Internamente, se crearán las siguientes subredes: /28 para puntos de conexión privados, otra subred /28 para scripts de implementación temporales (instancias de contenedor) y /27 para Azure Data Explorer, si está habilitado. |
'10.20.30.0/26' |
Recursos
Los siguientes recursos se crean en el grupo de recursos de destino durante la implementación.
Los recursos usan la siguiente convención de nomenclatura: <hubName>-<purpose>-<unique-suffix>. Los nombres se ajustan para tener en cuenta las restricciones de longitud y caracteres.
<unique-suffix> se usa para garantizar que los nombres de recursos sean únicos globalmente cuando sea necesario.
-
<hubName>store<unique-suffix>cuenta de almacenamiento (Data Lake Storage Gen2)- Contenedores de blobs:
-
msexports– Almacena temporalmente las exportaciones de Cost Management. -
ingestion: almacena los datos ingeridos. -
config: almacena los metadatos del centro y los valores de configuración. Archivos:-
settings.json– Configuración del concentrador. -
schemas/focuscost_1.0.json: Definición de esquema FOCUS 1.0 para la conversión de parquet. -
schemas/focuscost_1.0-preview(v1).json: Definición de esquema FOCUS 1.0-preview para la conversión de parquet. -
schemas/pricesheet_2023-05-01_ea.json: Definición de esquema de EA de la Hoja de precios, versión 2023-05-01, para la conversión de Parquet. -
schemas/pricesheet_2023-05-01_mca.json: Definición de esquema de MCA de la Hoja de precios, versión 2023-05-01, para la conversión de Parquet. -
schemas/reservationdetails_2023-03-01.json: Definición de esquema de detalles de reserva, versión 2023-03-01, para la conversión de Parquet. -
schemas/reservationrecommendations_2023-05-01_ea.json: Definición de esquema de EA para recomendaciones de reserva, versión 2023-05-01, para la conversión a Parquet. -
schemas/reservationrecommendations_2023-05-01_mca.json: Definición de esquema de MCA para recomendaciones de reserva, versión 2023-05-01, para la conversión a Parquet. -
schemas/reservationtransactions_2023-05-01_ea.json: Definición de esquema de EA para transacciones de reserva, versión 2023-05-01, para la conversión a Parquet. -
schemas/reservationtransactions_2023-05-01_mca.json: Definición de esquema de MCA para transacciones de reserva, versión 2023-05-01, para la conversión a Parquet.
-
-
- Contenedores de blobs:
-
Cuenta de almacenamiento
<hubName>script<unique-suffix>(Data Lake Storage Gen2) para scripts de implementación. -
<hubName>-engine-<unique-suffix>Instancia de Data Factory- Tuberías:
-
config_InitializeHub: inicializa (o actualiza) la instancia del centro de FinOps después de la implementación. -
config_ConfigureExports: Crea exportaciones de Cost Management para todos los ámbitos. -
config_StartBackfillProcess: Ejecuta el trabajo de reposición para cada mes en función de la configuración de retención. -
config_RunBackfillJob: crea y desencadena exportaciones para todos los ámbitos definidos para el intervalo de fechas especificado. -
config_StartExportProcess: obtiene una lista de todas las exportaciones de Cost Management configuradas para este centro en función de los ámbitos definidos en settings.json y, a continuación, ejecuta cada exportación mediante la canalización de config_RunExportJobs. -
config_RunExportJobs: ejecuta las exportaciones de Cost Management especificadas. -
msexports_ExecuteETL: Coloca en cola la canalizaciónmsexports_ETL_ingestionpara tener en cuenta los límites del desencadenador de canalización de Data Factory. -
msexports_ETL_ingestion: Convierte las exportaciones de Cost Management al formato parquet y elimina los datos históricos duplicados en la exportación de cada día. -
ingestion_ExecuteETL: Coloca en cola la canalizacióningestion_ETL_dataExplorerpara tener en cuenta los límites del desencadenador de canalización de Data Factory. -
ingestion_ETL_dataExplorer: Ingiere datos de Parquet en un clúster de Azure Data Explorer.
-
- Desencadenantes:
-
config_SettingsUpdated– desencadena laconfig_ConfigureExportspipeline cuando se actualiza settings.json. -
config_DailySchedule: desencadena la canalizaciónconfig_RunExportJobsdiariamente para los datos de coste del mes actual. -
config_MonthlySchedule: Activa la canalizaciónconfig_RunExportJobsmensualmente para los datos de costes del mes anterior. -
msexports_ManifestAdded: Desencadena la canalizaciónmsexports_ExecuteETLcuando se completan las exportaciones de Cost Management. -
ingestion_ManifestAdded: activa la canalización deingestion_ExecuteETLcuando se agregan archivos manifest.json (gestionados mediante la canalización demsexports_ETL_ingestion).
-
- Puntos de conexión privados administrados
-
<hubName>store<unique-suffix>: punto de conexión privado administrado para la cuenta de almacenamiento. -
<hubName>-vault-<unique-suffix>: punto de conexión privado administrado para Azure Key Vault.
-
- Tuberías:
-
<hubName>-vault-<unique-suffix>Instancia de Key Vault (solo se incluye cuando se implementa como un centro remoto)- Secretos:
- Identidad administrada del sistema de Data Factory
- Secretos:
- Clúster de explorador de datos
<dataExplorerName>- Base de datos
Hub: funciones orientadas al público para abstraer los elementos internos.- Incluye 2 conjuntos de funciones:
- Funciones específicas de datos para la versión FOCUS compatible más reciente (por ejemplo,
Costs,Prices). - Funciones específicas del conjunto de datos para cada versión de FOCUS compatible (por ejemplo,
Costs_v1_0para FOCUS 1.0). Estas funciones se proporcionan para la compatibilidad con versiones anteriores. Todas las funciones devuelven todos los datos alineados con la versión FOCUS de destino.
- Funciones específicas de datos para la versión FOCUS compatible más reciente (por ejemplo,
- Los conjuntos de datos incluyen:
Costs,Prices. - Entre las versiones de FOCUS admitidas se incluyen:
v1_0.
- Incluye 2 conjuntos de funciones:
-
Ingestionbase de datos: almacena los datos ingeridos.- Configuración:
-
HubSettingsLogtabla: almacena un historial de cambios de configuración de alto nivel (por ejemplo, versiones, ámbitos). - Función
HubSettings: obtiene la versión más reciente de la configuración de la instancia del concentrador. -
Función
HubScopes: obtiene los ámbitos configurados actualmente para esta instancia del centro de operaciones.
-
- Abrir datos:
-
Tabla
PricingUnits: archivo de asignación PricingUnits del kit de herramientas de FinOps. Se usa para la normalización y limpieza de datos. -
Regionstabla – archivo de asignación de regiones del kit de herramientas de FinOps. Se usa para la normalización y limpieza de datos. -
Tabla
ResourceTypes: archivo de asignación ResourceTypes del kit de herramientas de FinOps. Se usa para la normalización y limpieza de datos. -
Tabla
Services: archivo de asignación Services del kit de herramientas de FinOps. Se usa para la normalización y limpieza de datos. -
Función
resource_type: función simple para asociar los identificadores internos de tipo de recurso con los nombres mostrados, basados en el archivo de asignación ResourceTypes.- Use esta función para asignar valores únicos y combinarlos con la tabla
ResourceTypespara actualizar muchas filas o asignar otros valores.
- Use esta función para asignar valores únicos y combinarlos con la tabla
-
Tabla
- Conjuntos de datos:
- Tabla
<dataset>_raw– Datos sin procesar procedentes directamente del origen de ingesta. Usa un esquema de unión para los datos de varios orígenes. -
<dataset>_transform_vX_Yfunción: normaliza y limpia los datos sin procesar para alinearse con la versión FOCUS de destino mediante tablas de datos abiertas según sea necesario. -
Tabla
<dataset>_final_vX_Y: versión depurada de la tabla sin procesar correspondiente alineada con la versión FOCUS de destino. Rellenada a través de una directiva de actualización que usa la función de transformación correspondiente cuando los datos se ingieren en tablas sin procesar.
- Tabla
- Configuración:
- Base de datos
Además de la información anterior, se crean los siguientes recursos para automatizar el proceso de implementación. Los scripts de implementación se deben eliminar automáticamente. Sin embargo, no elimine las identidades administradas, ya que podría provocar errores al actualizar a la próxima versión.
- Identidades administradas:
-
<storage>_blobManager(Colaborador de datos de Storage Blob): carga el archivo settings.json. -
<datafactory>_triggerManager(Colaborador de Data Factory): detiene los desencadenadores antes de la implementación y los inicia después de la implementación.
-
- Scripts de implementación (eliminados automáticamente después de una implementación correcta):
-
<datafactory>_deleteOldResources: elimina los recursos no utilizados de las implementaciones anteriores de FinOps Hubs. -
<datafactory>_stopTriggers: Detiene todos los desencadenadores del centro mediante la identidad triggerManager. -
<datafactory>_startTriggers: Inicia todos los desencadenadores del centro mediante la identidad triggerManager. -
<storage>_uploadSettings: carga el archivo settings.json mediante la identidad de BlobManager.
-
Salidas
Estas son las salidas generadas por la implementación:
| Salida | Tipo | Descripción | Valor |
|---|---|---|---|
| nombre | Cadena | Nombre del grupo de recursos. | |
| ubicación | Cadena | Los recursos de ubicación de recursos de Azure se implementaron en. | |
| dataFactoryName | Cadena | Nombre de la Fábrica de Datos | |
| storageAccountId | Cadena | Identificador de recurso de la cuenta de almacenamiento implementada. | |
| storageAccountName | Cadena | Nombre de la cuenta de almacenamiento creada para la instancia del centro. Esto se debe usar al conectar informes de Power BI del kit de herramientas de FinOps a los datos. | |
| URL de almacenamiento para Power BI | Cadena | Dirección URL que se usará al conectar informes personalizados de Power BI a los datos. | |
| clusterId | Cadena | Identificador de recurso del clúster de Data Explorer. | |
| clusterUri | Cadena | URI del clúster de Data Explorer. | |
| ingestionDbName | Cadena | Nombre de la base de datos del Explorador de datos usada para la ingesta de datos. | |
| hubDbName | Cadena | Nombre de la base de datos del Explorador de datos usada para consultar datos. | |
| managedIdentityId | Cadena | ID de objeto de la identidad administrada de Data Factory. Esto será necesario al configurar exportaciones administradas. | |
| managedIdentityTenantId | Cadena | Identificador de inquilino de Azure AD. Esto será necesario al configurar exportaciones administradas. |
Proporcionar comentarios
Déjanos saber cómo lo estamos haciendo con una breve revisión. Usamos estas revisiones para mejorar y expandir herramientas y recursos de FinOps.
Si busca algo específico, vote por una idea existente o cree una idea nueva. Comparta ideas con otros usuarios para obtener más votos. Nos centramos en las ideas con la mayoría de los votos.