Plantilla de FinOps Hub
En segundo plano, vea lo que constituye la plantilla del centro de FinOps, incluidas las entradas y salidas.
Esta plantilla crea una nueva instancia de FinOps Hub .
Los centros de FinOps incluyen:
- Data Lake Storage para hospedar datos de costos.
- Data Factory para el procesamiento y la orquestación de datos.
- Key Vault para almacenar secretos.
Importante
Para usar la plantilla, debe crear una exportación de Cost Management que publique datos de costos en el msexports
contenedor 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.
Resource RBAC mínimo de Azure Implementación y configuración de Data Factory¹ Colaborador de Factoría de datos Implementación de Key Vault¹ Colaborador de almacén de claves Configuración de secretos de Key Vault¹ 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/write
permisos yMicrosoft.ContainerInstance/containerGroups/write
como 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 Creación de una suscripción o exportación de costos de grupo de recursos² Colaborador de Cost Management Creación de una exportación de costos de facturación de EA² Lector de empresa, Lector de departamento o Propietario de la cuenta de inscripción (más información) Crear una exportación de costos de facturación de MCA² Colaborador Lectura de datos de blobs en storage³ Colaborador de datos de blobs de almacenamiento ¹ Es suficiente asignar permisos de implementación de recursos de concentradores en el ámbito del grupo de recursos.
Los permisos de Cost Management ² deben asignarse en el ámbito desde el que desea exportar los costos.
Se requieren permisos de datos de blobs para acceder a los datos de costos exportados desde Power BI u otras herramientas de cliente.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 realizará correctamente, pero el desencadenador de canalización no se iniciará y los datos no estarán listos. 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 | Default value |
---|---|---|---|
hubName | string | Opcional. Nombre del centro. Se usa para garantizar nombres de recursos únicos. | "finops-hub" |
ubicación | string | Opcional. Ubicación de Azure donde se deben crear todos los recursos. Vea https://aka.ms/azureregions. | Igual que la implementación |
skipEventGridRegistration | bool | Indica si el proveedor de recursos de Event Grid ya estaba registrado (por ejemplo, en una implementación del centro anterior). Se requiere el registro de RP de Event Grid. Si no se establece, se crea un espacio de nombres temporal de Event Grid para registrar automáticamente el proveedor de recursos. | false (registrar RP) |
EventGridLocation | string | Opcional. Ubicación de Azure que se usará para un espacio de nombres temporal de Event Grid para registrar el proveedor de recursos Microsoft.EventGrid si no se admite la ubicación principal. El espacio de nombres se elimina y no se usa para la operación del centro. | Igual que location . |
storageSku | Cadena | Opcional. SKU de almacenamiento que se va a usar. LRS = Costo más bajo, ZRS = Alta disponibilidad. Las SKU estándar no están disponibles para el almacenamiento de Data Lake Gen2. Permitido: Premium_LRS , Premium_ZRS . |
"Premium_LRS" |
etiquetas | objeto | Opcional. Etiquetas que se aplicarán a todos los recursos. La cm-resource-parent etiqueta también se agrega para acumulaciones de costos mejoradas en Cost Management. |
|
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 combinan con etiquetas para todos los recursos. | |
scopesToMonitor | array | Opcional. Lista de identificadores de ámbito para supervisar e ingerir costos. | |
exportRetentionInDays | int | Opcional. Número de días de datos de costo que se conservarán en el contenedor ms-cm-export. | 0 |
ingestionRetentionInMonths | int | Opcional. Número de meses de datos de costo que se conservarán en el contenedor de ingesta. | 13 |
remoteHubStorageUri | string | Opcional. Cuenta de almacenamiento para insertar datos en para la ingesta en un centro remoto. | |
remoteHubStorageKey | string | Opcional. Clave de cuenta de almacenamiento que se usará al insertar datos en un centro remoto. |
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.Nota:
En el futuro, usaremos este contenedor para almacenar provisionalmente datos externos fuera de Cost Management. -
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.
- Contenedores de blobs:
<hubName>-engine-<unique-suffix>
Instancia de Data Factory- Tuberías:
msexports_ExecuteETL
: pone en cola lamsexports_ETL_ingestion
canalización para tener en cuenta los límites del desencadenador de canalización de Data Factory.msexports_ETL_transform
– Convierte las exportaciones de Cost Management en parquet y elimina los datos históricos duplicados en la exportación de cada día.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
: desencadena el proceso de ingesta para las exportaciones de Cost Management para tener en cuenta los límites de desencadenadores de canalización de Data Factory.msexports_ETL_transform
– Convierte las exportaciones de Cost Management en parquet y elimina los datos históricos duplicados en la exportación de cada día.
- Desencadenantes:
config_SettingsUpdated
: desencadena laconfig_ConfigureExports
canalización cuando se actualiza settings.json.config_DailySchedule
: desencadena laconfig_RunExportJobs
canalización diariamente para los datos de costo del mes actual.config_MonthlySchedule
: desencadena laconfig_RunExportJobs
canalización mensual para los datos de costos del mes anterior.msexports_FileAdded
: desencadena lamsexports_ExecuteETL
canalización cuando se completan las exportaciones de Cost Management.
- Tuberías:
<hubName>-vault-<unique-suffix>
Instancia de Key Vault- Secretos:
- Identidad administrada del sistema de Data Factory
- Secretos:
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:
Output | Tipo | Descripción | Valor |
---|---|---|---|
name | Cadena | Nombre de la instancia del centro de conectividad implementada. | |
ubicación | Cadena | Los recursos de ubicación de recursos de Azure se implementaron en. | location |
dataFactorytName | Cadena | Nombre de Data Factory. | dataFactory.name |
storageAccountId | Cadena | Identificador de recurso de la cuenta de almacenamiento creada para la instancia del centro. Debe usarse al crear la exportación de Cost Management. | storage.outputs.resourceId |
storageAccountName | Cadena | Nombre de la cuenta de almacenamiento creada para la instancia del centro. Debe usarse al conectar informes de Power BI del kit de herramientas de FinOps a los datos. | storage.outputs.name |
storageUrlForPowerBI | Cadena | Dirección URL que se usará al conectar informes personalizados de Power BI a los datos. | 'https://${storage.outputs.name}.dfs.${environment().suffixes.storage}/${storage.outputs.ingestionContainer}' |
managedIdentityId | Cadena | Id. de objeto de la identidad administrada de Data Factory. Esta salida es necesaria al configurar exportaciones administradas. | dataFactory.identity.principalId |
managedIdentityTenantId | Cadena | Identificador de inquilino de Microsoft Entra. Esta salida es necesaria al configurar exportaciones administradas. | tenant().tenantId |