Configura la exportación de datos de la Facturación de Cloud de FOCUS a BigQuery

En este documento, se proporcionan todos los pasos necesarios para configurar la exportación de datos de Facturación de Cloud de costo de uso de FOCUS a BigQuery. La exportación de costos de uso de FOCUS es un conjunto de datos inmutable de BigQuery (conjunto de datos vinculado) que contiene tus datos detallados de costos de uso normalizados según los estándares de la FinOps Open Cost and Usage Specification (FOCUS).

Para habilitar la exportación de datos de Facturación de Cloud de costos de uso de FOCUS a BigQuery, sigue estos pasos:

  • Crea un proyecto en el que se almacenarán los datos exportados de la Facturación de Cloud y habilita la facturación en el proyecto (si aún no lo has hecho).
  • Configura los permisos en el proyecto y en la cuenta de Facturación de Cloud.
  • Habilita la exportación de facturación de costos de uso de FOCUS.

En este documento, se detallan cada uno de estos pasos.

Costos de uso de BigQuery con FOCUS Export

Se generan cargos por el uso de BigQuery cuando usas BigQuery para almacenar y analizar los datos de uso y costos de facturación. Los costos principales en BigQuery son el almacenamiento, para los datos que se almacenan en BigQuery, y el procesamiento, que se usa para el procesamiento de consultas.

Dado que la exportación de datos de facturación de FOCUS se proporciona como una exportación inmutable administrada por Google (con un conjunto de datos vinculado), no se te cobran costos de almacenamiento por tus datos de FOCUS. Sin embargo, se te cobrará cuando consultes los datos de FOCUS. Para obtener más información, consulta Costos de uso de BigQuery.

Acerca de la consola de Google Cloud

La consola de Google Cloud (consultar la documentación, abrir la consola) es una IU web que se usa para aprovisionar, configurar, administrar y supervisar los sistemas que usan productos deGoogle Cloud . Usa la consola de Google Cloud para configurar y administrar los recursos de Google Cloud y de la Facturación de Cloud.

Permisos necesarios para esta tarea

Para habilitar y configurar la exportación de FOCUS de los datos de costo de uso de la facturación de Google Cloud , necesitas los siguientes permisos:

Es posible que también necesites otros permisos del proyecto. Si eres miembro de una organización deGoogle Cloud , necesitas el rol de creador de proyectos en la organización o carpeta para crear el proyecto nuevo. En particular, para crear un proyecto nuevo, necesitas los siguientes permisos:

  • resourcemanager.organizations.get
  • resourcemanager.projects.create

Para obtener más información sobre los Google Cloud permisos, consulta los siguientes vínculos:

Habilitar la exportación de datos de la Facturación de Cloud a BigQuery.

Completa los tres pasos de esta sección para habilitar la exportación de costos de uso de FOCUS a BigQuery.

1. Selecciona o crea un proyecto

Los datos de la Facturación de Cloud exportados a BigQuery se encuentran en un conjunto de datos de BigQuery. Un conjunto de datos se encuentra dentro de un proyecto deGoogle Cloud que especificas.

Te recomendamos que crees y uses un proyecto de Google Cloud independiente para contener todas tus necesidades de FinOps y administración de facturación de una cuenta de Facturación de Cloud, incluidos tus datos exportados de Facturación de Cloud. Obtén más información sobre los beneficios de usar un proyecto enfocado en FinOps para tus casos de uso de administración de facturación.

En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .

Roles necesarios para seleccionar o crear un proyecto

  • Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
  • Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos (roles/resourcemanager.projectCreator), que contiene el permiso resourcemanager.projects.create. Obtén más información para otorgar roles.

Ir al selector de proyectos

Obtén más información sobre cómo crear y administrar proyectos.

2. Verifica que la facturación esté habilitada

Debes asegurarte de que la facturación esté habilitada en el proyecto de Google Cloud que seleccionaste para contener tu conjunto de datos y que el proyecto de Google Cloud está vinculado a la misma cuenta de Facturación de Cloud que contiene los datos que planeas exportar al conjunto de datos de BigQuery.

3. Habilita la exportación de costos de uso de FOCUS a BigQuery

Habilita las exportaciones de datos de Facturación de Cloud en la sección Facturación de la consola deGoogle Cloud .

La exportación de costos de uso de FOCUS usa un conjunto de datos inmutable de BigQuery proporcionado por Google para contener tus datos de costos de uso detallados normalizados con los estándares de FinOps Open Cost and Usage Specification (FOCUS). FOCUS es una especificación abierta que define requisitos claros para que los generadores de datos de facturación de tecnología produzcan conjuntos de datos de costos y uso coherentes. Las columnas de la exportación de FOCUS suelen asignarse a los campos de la exportación de costos de uso detallados.

Para habilitar que tus datos de Facturación de Cloud se exporten al conjunto de datos de BigQuery de FOCUS, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Exportación de la facturación.

    Ir a la página Exportación de la facturación

  2. En el mensaje, elige la cuenta de Facturación de Cloud de la que deseas exportar los datos de facturación. Se abrirá la página Exportación de la facturación de la cuenta de facturación seleccionada.

  3. En la pestaña Exportación de BigQuery, haz clic en Habilitar la exportación de FOCUS para configurar la exportación de FOCUS.

  4. En la lista Proyectos, selecciona el proyecto que configuraste para que contuviera el conjunto de datos de BigQuery.

    En BigQuery, el proyecto que selecciones se usará para almacenar los datos exportados en el conjunto de datos de FOCUS inmutable que proporciona Google.

    En la exportación de costos de uso de FOCUS, los datos de Facturación de Cloud incluyen datos de uso y costo de todos los proyectos deGoogle Cloud pagados por la misma cuenta de Facturación de Cloud.

  5. Se requiere la API de BigQuery para exportar datos a BigQuery. Si el proyecto que seleccionaste no tiene habilitada la API de BigQuery, se te solicitará que la habilites. Si es necesario, haz clic en Habilitar API de BigQuery para habilitarla.

  6. Selecciona una ubicación de datos para tu conjunto de datos de FOCUS. La ubicación de los datos especifica la multirregión o la región en la que se almacenan los datos. Todas las tablas dentro del conjunto de datos comparten esta ubicación.

    1. Selecciona el Tipo de ubicación, ya sea Multirregión (recomendado) o Región.
    2. Elige la ubicación para el tipo de ubicación especificado.

      Te recomendamos que selecciones una ubicación multirregional (EU o US) para tu exportación de costos de uso de FOCUS (y también para las exportaciones de datos de costos de uso estándar y detallados). La exportación de la Facturación de Cloud admite todas las ubicaciones multirregionales (EU o US). Sin embargo, solo un subconjunto de las ubicaciones regionales de conjuntos de datos es compatible con la exportación de la Facturación de Cloud a BigQuery.

      La ubicación que selecciones puede influir en si los datos del mes anterior se agregan de forma retroactiva al conjunto de datos. Revisa las limitaciones para obtener más información sobre las ubicaciones de los conjuntos de datos y la disponibilidad de datos.

      Después de crear el conjunto de datos, la ubicación no se puede cambiar. Más información sobre las ubicaciones.

  7. Haz clic en Guardar.

Conjunto de datos y tabla de datos de FOCUS

Poco después de habilitar la exportación de costos de uso de FOCUS, BigQuery Export crea un conjunto de datos y una tabla con tus datos de facturación en el conjunto de datos nuevo, según la configuración de exportación de FOCUS:

  • Se crea un conjunto de datos inmutable en el proyecto de Google Cloud que especificaste cuando habilitaste la exportación de FOCUS, con este patrón de nomenclatura:

    gcp_billing_immutable_<BILLING_ACCOUNT_ID>_<Location>

    El nombre del conjunto de datos consta de tres componentes:

    1. gcp_billing_immutable: Es el nombre del conjunto de datos para la exportación de FOCUS.
    2. Billing_account_ID: Es el ID de la cuenta de Facturación de Cloud en la que está habilitada la exportación de FOCUS.
    3. Location: Es la ubicación regional o multirregional específica que seleccionaste cuando habilitaste la exportación de FOCUS.

    Ejemplo de nombre de conjunto de datos: gcp_billing_immutable_010101_F0FFF0_61C528_us

  • Se crea una tabla de datos de facturación de FOCUS en el conjunto de datos de FOCUS, con el siguiente nombre:

    gcp_billing_export_focus_<BILLING_ACCOUNT_ID>

    Ejemplo de nombre de tabla: gcp_billing_export_focus_010101_F0FFF0_61C528

Actualiza la configuración de exportación de costos de uso de FOCUS

Después de habilitar la exportación de costos de uso de FOCUS a BigQuery, puedes cambiar varios parámetros de configuración de exportación de datos, por ejemplo:

  • Cambia el proyecto en el que se almacena tu conjunto de datos de FOCUS.
  • Cambia el parámetro de configuración de la región de tu conjunto de datos de FOCUS. Si cambias la configuración de la región, se creará un conjunto de datos nuevo e inmutable.
  • Inhabilitar la exportación de costos de uso de FOCUS

Antes de actualizar el proyecto o el conjunto de datos en el que se almacenan tus datos de facturación, o inhabilitar la exportación de FOCUS, revisa las limitaciones y los lineamientos de disponibilidad de datos para saber cómo estas actualizaciones podrían afectar tus datos de facturación de FOCUS exportados a BigQuery.

Inhabilitar la exportación de costos de uso de FOCUS

Para inhabilitar un tipo de datos de Facturación de Cloud que se exporta a BigQuery, haz lo siguiente:

  1. Selecciona Inhabilitar la exportación de FOCUS.
  2. Selecciona Confirmar para guardar la selección.

Si vuelves a habilitar la exportación de costos de uso de FOCUS más adelante, deberás volver a seleccionar la misma configuración de proyecto y ubicación para usar el mismo conjunto de datos inmutable que se creó cuando habilitaste la exportación de FOCUS por primera vez. No admitimos el reabastecimiento de datos que no se exportaron durante el período en el que se inhabilitó la exportación de FOCUS.

Vuelve a habilitar la exportación de costos de uso de FOCUS

Para volver a habilitar una exportación de FOCUS inhabilitada anteriormente, consulta Habilita la exportación de datos de Facturación de Cloud a BigQuery.

  • Para usar el mismo conjunto de datos inmutable que se creó cuando habilitaste la exportación de FOCUS por primera vez, vuelve a seleccionar la misma configuración de proyecto y región que usaste originalmente.
  • Si eliges un parámetro de configuración de proyecto o región diferente, se creará un nuevo conjunto de datos inmutable y tus datos de FOCUS se exportarán al nuevo conjunto de datos a partir de la fecha en que volviste a habilitar la exportación de FOCUS.

Cambia el proyecto o el conjunto de datos de la exportación de costos de uso de FOCUS

Para actualizar el proyecto o el conjunto de datos en el que se almacenan tus datos de facturación de FOCUS, haz lo siguiente:

  1. FOCUS usa un conjunto de datos inmutable que se crea cuando habilitas la exportación de costos de uso de FOCUS. Antes de editar la configuración de exportación de FOCUS, primero debes inhabilitar la exportación de FOCUS.
  2. Luego, selecciona Habilitar la exportación de FOCUS y elige la configuración de proyecto y ubicación para la exportación de FOCUS.
  3. Selecciona Guardar para confirmar la configuración de la exportación de FOCUS.

    Durante el proceso de habilitación, si seleccionas un proyecto o una región diferentes de tu configuración anterior, se creará un conjunto de datos inmutable nuevo en el proyecto seleccionado.

Acerca de los permisos del conjunto de datos

La exportación de la Facturación de Cloud a BigQuery usa una cuenta de servicio para administrar los permisos del conjunto de datos.

Después de habilitar la exportación de FOCUS a BigQuery, Google agrega automáticamente una cuenta de servicio como propietaria del conjunto de datos inmutable que proporciona Google. Las cuentas de servicio se ven de la siguiente manera:

billing-export-bigquery@

La cuenta de servicio es propiedad de Google, que también la administra, y proporciona los permisos necesarios para que nuestro proceso sin conexión cree el conjunto de datos y la tabla de FOCUS, y escriba en ella los registros de la Facturación de Cloud.

Consulta las limitaciones que podrían afectar la exportación de tus datos de facturación a BigQuery.

Tabla de datos de costos de uso de FOCUS

Poco después de habilitar la exportación de costos de uso de FOCUS, BigQuery crea un conjunto de datos inmutable y una tabla de datos de FOCUS en el conjunto de datos inmutable de BigQuery. Para obtener más información sobre el esquema de la tabla de FOCUS, consulta Estructura de la exportación de datos de FOCUS.

Frecuencia de cargas de datos

Cuando habilitas por primera vez la exportación de costos de uso de FOCUS a BigQuery, es posible que los datos de costos de Google Cloud tarden unas horas en propagarse a tu conjunto de datos de BigQuery. Los datos se exportan en orden cronológico. Si la exportación está configurada para incluir datos de forma retroactiva para el mes actual y el anterior, los datos exportados pueden tardar hasta cinco días en estar al día con tus datos de uso actuales.

Obtén más información sobre la frecuencia de las cargas de datos en tus tablas de BigQuery.

Limitaciones

La exportación de datos de Facturación de Cloud a BigQuery está sujeta a las siguientes limitaciones.

Esquema de tabla para las exportaciones de datos de Facturación de Cloud

El esquema de la tabla para cualquiera de las exportaciones de datos de Facturación de Cloud puede cambiar.

Cuando cambia el esquema de la tabla, como cuando se agregan campos nuevos a un esquema de tabla de BigQuery para una exportación de datos de Facturación de Cloud, es posible que fallen las consultas que hacen referencia directa a las columnas exportadas. Para resolver este problema, te recomendamos crear vistas de BigQuery que consulten las tablas exportadas y presenten la información en la estructura que prefieras.

Luego, puedes ajustar las consultas que realizan el feed de tus informes y paneles para extraer de las vistas, en lugar de las tablas exportadas. Con las vistas, puedes estandarizar la estructura de los datos que se usan en tus consultas y paneles.

Las vistas que crees deben normalizar los datos para que todas las tablas relevantes presenten el mismo esquema en tus consultas. Esto te protege de cambios futuros en el esquema, lo que te permite modificar la consulta subyacente de la vista en esos casos en los que cambia el esquema de datos.

Exportación de FOCUS y retención de datos

Los datos de facturación exportados a la exportación de BigQuery en FOCUS proporcionada por Google están sujetos a una política de tiempo de actividad (TTL) de 2 años. Los datos con más de dos años se borran automáticamente de la tabla de exportación de FOCUS proporcionada en el conjunto de datos de BigQuery. Si necesitas conservar el historial de datos de facturación de FOCUS por más de dos años, copia los datos de FOCUS en una tabla de almacenamiento a largo plazo de tu propiedad.

Ubicaciones de conjuntos de datos de BigQuery y disponibilidad de los datos

Ubicaciones de conjuntos de datos de BigQuery compatibles con los datos de Facturación de Cloud:

Los conjuntos de datos de BigQuery están configurados para usar una ubicación, ya sea una ubicación multirregional (EU o US) o una ubicación regional. La ubicación del conjunto de datos se establece en el momento de la creación. Después de crear un conjunto de datos, su ubicación no se puede cambiar.

La exportación de datos de la Facturación de Cloud admite todas las ubicaciones multirregionales (EU o US), pero solo un subconjunto de ubicaciones regionales. Cuando estableces la configuración de exportación de la Facturación de Cloud, si creas o seleccionas un conjunto de datos configurado para usar una ubicación regional no compatible, cuando intentes guardar la configuración de exportación, verás un error de Región del conjunto de datos no válida.

En la siguiente tabla, se enumeran las ubicaciones multirregionales y las ubicaciones regionales compatibles con los conjuntos de datos de BigQuery que contienen datos de Facturación de Cloud.

América Asia-Pacífico Europa Oriente Medio

Multirregión: US

Regiones:

  • northamerica-northeast1 (Montreal)
  • southamerica-east1 (São Paulo)
  • us-central1 (Iowa)
  • us-east1 (Carolina del Sur)
  • us-east4 (Virginia del Norte)
  • us-west1 (Oregón)
  • us-west2 (Los Ángeles)
  • us-west3 (Salt Lake City)
  • us-west4 (Las Vegas)

Regiones:

  • asia-east1 (Taiwán)
  • asia-east2 (Hong Kong)
  • asia-northeast1 (Tokio)
  • asia-northeast2 (Osaka)
  • asia-northeast3 (Seúl)
  • asia-south1 (Bombay)
  • asia-southeast1 (Singapur)
  • asia-southeast2 (Yakarta)
  • australia-southeast1 (Sídney)

Multirregión: EU

Regiones:

  • europe-central2 (Varsovia)
  • europe-north1 (Finlandia)
  • europe-west1 (Bélgica)
  • europe-west2 (Londres)
  • europe-west3 (Fráncfort)
  • europe-west4 (Países Bajos)
  • europe-west6 (Zúrich)

Regiones:

  • me-central1 (Doha)
  • me-central2 (Dammam)
  • me-west1 (Tel Aviv)

Ubicaciones y disponibilidad de los datos:

  • Para los conjuntos de datos de BigQuery que contienen datos de costos de uso de FOCUS, datos de costos de uso estándar o datos de costos de uso detallados, el tipo de ubicación que configuras en el conjunto de datos influye en el tiempo en que los datos de facturación de Google Cloud se exportan al conjunto de datos:

    • Si configuras el conjunto de datos para usar una ubicación multirregional (UE o EE.UU.), el conjunto de datos incluye los datos de facturación de Google Cloud incurridos desde el inicio del mes anterior a partir del momento en que habilitaste la exportación por primera vez, a menos que vuelvas a habilitar la exportación. Es decir, los datos de facturación deGoogle Cloud se agregan de forma retroactiva solo para el mes actual y el anterior. En el caso del reabastecimiento inicial de datos exportados, es posible que los datos de la Facturación de Cloud tarden hasta cinco días en terminar de exportarse antes de que comiences a ver los datos de uso actuales.
    • Si tu conjunto de datos está configurado para usar una ubicación regional compatible, tus datos de costos de uso de FOCUS, datos de costos de uso estándar y datos de costos de uso detallados solo reflejan los datos de facturación de Google Cloud generados desde la fecha de habilitación de la exportación de Facturación de Cloud en adelante. Es decir, los datos de facturación de Google Cloud no se agregan de forma retroactiva para las ubicaciones de conjuntos de datos que no son multirregionales, por lo que no verás los datos de Facturación de Cloud antes de habilitar la exportación.

    • Para obtener más detalles, consulta Disponibilidad de los datos.

  • Tus conjuntos de datos de BigQuery que contienen datos de precios solo recopilan datos de facturación de Google Cloud que se generaron a partir de la fecha en que configuraste la exportación de la Facturación de Cloud en adelante. Es decir, los datos de precios deGoogle Cloud no se agregan de forma retroactiva, por lo que no verás datos de precios de Facturación de Cloud de fechas previas a la habilitación de la exportación. Para obtener más detalles, consulta Disponibilidad de los datos.

Inhabilita, vuelve a habilitar o edita la configuración de exportación

Si inhabilitas, vuelves a habilitar o editas la configuración de exportación para actualizar el proyecto o el conjunto de datos en el que se almacenan los datos de facturación exportados, los datos de facturación exportados con anterioridad no se reabastecen en el conjunto de datos nuevo. Para incluir los datos de facturación que se exportaron antes de cambiar a un proyecto o conjunto de datos diferente, debes unir de forma manual el conjunto de datos nuevo con el anterior. Para obtener más información, consulta Operación de unión.

Encriptación de conjuntos de datos

Los conjuntos de datos de BigQuery se configuran para usar la encriptación en reposo estableciendo una opción de clave de encriptación cuando creas el conjunto de datos, ya sea una Google-owned and Google-managed encryption keyo una clave de encriptación administrada por el cliente (CMEK). Puedes editar el parámetro de configuración de encriptación después de crear un conjunto de datos.

Si ya habilitaste la exportación de datos de Facturación de Cloud a BigQuery y tu conjunto de datos está configurado para usar una Google-managed encryption key, puedes actualizar el conjunto de datos y sus tablas para usar una CMEK. Para actualizar el conjunto de datos y sus tablas, completa los siguientes pasos:

  1. Configura una clave predeterminada para el conjunto de datos. Establecer una clave predeterminada garantiza que cualquier tabla nueva que se cree en el conjunto de datos se proteja automáticamente con la CMEK.
  2. Usa la herramienta de línea de comandos de bq para habilitar las CMEK en cada tabla existente del conjunto de datos. Cambiar la clave predeterminada del conjunto de datos no vuelve a encriptar automáticamente las tablas existentes.

Obtén más información para habilitar las CMEK en las tablas de BigQuery.

Políticas de la organización de CMEK

Puedes usar las políticas de la organización de CMEK para aplicar el uso de CMEK en tus recursos de BigQuery, incluidas las exportaciones de facturación, o para exigir que la CMEK resida en un proyecto aprobado. Sin embargo, aplicar las políticas de la organización de CMEK puede tener los siguientes efectos inesperados:

  • Es posible que el proceso de exportación falle en los conjuntos de datos existentes: Cuando habilitas una nueva restricción de la política de la organización, esta no se aplica a los conjuntos de datos existentes. Esto significa que puedes tener conjuntos de datos que aún existan, aunque ya no estén permitidos. Sin embargo, la próxima vez que intentes exportar a ese conjunto de datos, el proceso de exportación fallará si no puede crear tablas nuevas debido a una política de la organización aplicada recientemente.

    Para evitar esta situación, revisa de forma proactiva los parámetros de configuración de exportación de facturación existentes cada vez que actualices las políticas de la organización y actualiza la configuración del conjunto de datos según sea necesario para cumplir con las restricciones de restrictNonCmekServices y restrictCmekCryptoKeyProjects.

  • Aplicación incoherente de las políticas de la organización: Las políticas de la organización no se aplican cuando creas un conjunto de datos vacío. Esto significa que puedes aplicar la restricción restrictNonCmekServices para exigir que los recursos de BigQuery usen una CMEK para su encriptación, pero, luego, crear correctamente un conjunto de datos de BigQuery que esté configurado para usar Google-owned and Google-managed encryption keys. Sin embargo, la exportación de facturación que usa ese conjunto de datos fallará porque la política de la organización no te permitirá crear una tabla no protegida por CMEK mientras se aplique la restricción restrictNonCmekServices para BigQuery.

    Para resolver esta situación, actualiza la encriptación de tu conjunto de datos para establecer una clave predeterminada del conjunto de datos que cumpla con tus restricciones restrictNonCmekServices y restrictCmekCryptoKeyProjects.

Seguridad a nivel de fila

Si quieres usar seguridad a nivel de las filas de BigQuery en la tabla que contiene los datos exportados, debes otorgar a la cuenta de servicio de exportación de Facturación de Cloud billing-export-bigquery@ acceso completo a la tabla con el filtro TRUE de BigQuery. El siguiente comando otorga acceso a la cuenta de servicio de Facturación de Cloud:

CREATE ROW ACCESS POLICY cloud_billing_export_policy
ON `__project_id__.__dataset_id__.__table_id__`
GRANT TO ('serviceAccount:billing-export-bigquery@')
FILTER USING (TRUE);

Datos de costos de uso detallados o de FOCUS y GKE

Cuando exportas datos de costos de uso de FOCUS o datos detallados de costos de uso, la exportación incluye automáticamente información a nivel de recurso sobre Compute Engine y otros servicios. Sin embargo, para los datos de Google Kubernetes Engine (GKE), si quieres ver un desglose de los costos del clúster de GKE en una exportación de datos de FOCUS o detallada, también debes habilitar la asignación de costos para GKE.

Etiquetas a nivel de recurso

Las etiquetas a nivel de recurso pueden tardar hasta una hora en propagarse a las exportaciones de BigQuery. Si se agregó o quitó una etiqueta en un plazo de una hora, o si existe un recurso durante menos de una hora, es posible que no aparezca en la exportación.

Las etiquetas a nivel de recurso están disponibles para varios recursos en la exportación de costos de uso estándar y la exportación de costos de uso detallados.