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

En esta guía, se proporcionan todos los pasos de configuración necesarios para habilitar la exportación de datos de la Facturación de Cloud a BigQuery.

Para exportar datos de la Facturación de Cloud a BigQuery, sigue estos pasos:

  • Crea un proyecto en el que se almacenarán los datos 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 API del Servicio de transferencia de datos de BigQuery (obligatorio para exportar tus datos de precios).
  • Crea un conjunto de datos de BigQuery en el que se almacenen los datos
  • Habilita la exportación de la Facturación de Cloud de datos de costos y datos de precios al conjunto de datos.

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

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 de Google 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 los datos de costo de uso de la facturación de Google Cloud a un conjunto de datos de BigQuery, necesitas los siguientes permisos:

  • En la Facturación de Cloud, necesitas el rol de administrador de costos de cuentas de facturación o el de administrador de cuentas de facturación en la cuenta de Facturación de Cloud de destino.
  • En BigQuery, necesitas el rol de usuario de BigQuery para el proyecto de Google Cloud que contiene el conjunto de datos de BigQuery que se usará a fin de almacenar los datos de la Facturación de Cloud.

Además, para habilitar y configurar la exportación de datos de precios de Facturación de Cloud, necesitas los siguientes permisos:

  • En la Facturación de Cloud, necesitas el rol Administrador de cuentas de facturación para la cuenta de facturación de Cloud de destino.
  • En BigQuery, necesitas el rol de administrador de BigQuery para el proyecto de Google Cloud que contiene el conjunto de datos de BigQuery que se usará a fin de almacenar los datos de precios de la Facturación de Cloud.
  • Para el proyecto de Google Cloud que contiene el conjunto de datos de destino, necesitas el permiso resourcemanager.projects.update. Este permiso se incluye en el rol roles/editor.

Es posible que también necesites otros permisos del proyecto. Si eres miembro de una organización de Google Cloud, para crear un proyecto nuevo necesitas el rol de creador de proyectos en la organización o carpeta. 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 permisos de Google Cloud, consulta las siguientes páginas:

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

Completa los 5 pasos detallados en esta sección para habilitar la exportación de tus datos de la Facturación de Cloud a BigQuery.

Para obtener una introducción rápida a la habilitación de la exportación de datos de facturación y la ejecución de consultas de muestra de datos de la Facturación de Cloud en BigQuery, sigue este instructivo interactivo para la exportación de datos de facturación.

Si eres revendedor, puedes configurar una exportación específica del revendedor de tus datos de facturación de Servicios de canal con Partner Sales Console. Para hacerlo, sigue los pasos del 1 al 4 de esta página para crear tu proyecto y el conjunto de datos de BigQuery. Luego, en el paso 5, consulta Exporta datos de servicios de canal a BigQuery para habilitar la exportación.

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 de Google Cloud que especificas.

Recomendación sobre los proyectos: Recomendamos que crees un proyecto de Google Cloud para contener todas tus necesidades de administración de facturación, incluidos los datos exportados de la Facturación de Cloud. También puedes usar este proyecto de Google Cloud de administración de facturación a fin de acceder a las APIs de Cloud Billing, los canales de Pub/Sub para notificaciones de presupuesto programáticas y otras tareas administrativas de Facturación de Cloud.

Importante: El proyecto de Cloud que seleccionas para contener tu conjunto de datos debe estar vinculado a la misma cuenta de la Facturación de Cloud que contiene los datos que planeas. exportar al conjunto de datos de BigQuery. Un proyecto de Google Cloud está vinculado a exactamente una cuenta de Facturación de Cloud a la vez. Una cuenta de Facturación de Cloud está vinculada a uno o más proyectos.

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

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. Habilitar la API del Servicio de transferencia de datos de BigQuery.

Si planeas exportar tus datos de precios de la Facturación de Cloud a BigQuery, debes habilitar la API del Servicio de transferencia de datos de BigQuery. Si no planeas exportar tus datos de precios de la Facturación de Cloud, puedes omitir el Paso 4. Cree un conjunto de datos de BigQuery.

La API del Servicio de transferencia de datos de BigQuery debe estar habilitada en el mismo proyecto de Google Cloud que usas para contener los conjuntos de datos de BigQuery. Si seguiste la recomendación en la sección de proyecto, este es tu proyecto de administración de la facturación de Google Cloud.

Para habilitar la API del Servicio de transferencia de datos de BigQuery, haz lo siguiente:

  1. Accede a la consola de Google Cloud y ve a la página de la API.

    Ir a la página de la API del Servicio de transferencia de datos de BigQuery

  2. En la parte superior izquierda de la página, selecciona un proyecto. Debes habilitar la API de BigQuery Data Transfer Service en el mismo proyecto que usas para contener el conjunto de datos de BigQuery. Si seguiste la recomendación en la sección de proyecto, este es tu proyecto de administración de la facturación de Google Cloud.

  3. En la página de la API del Servicio de transferencia de datos de BigQuery, haz clic en Habilitar para habilitar la API en el proyecto seleccionado.

Para obtener más información sobre cómo habilitar las API, consulta Cómo habilitar e inhabilitar servicios.

4. Cree un conjunto de datos de BigQuery

Antes de habilitar los datos de Facturación de Cloud para exportar a BigQuery, debes crear al menos un conjunto de datos de BigQuery a fin de administrar los datos exportados. Puedes usar el mismo conjunto de datos para contener tus datos de los costos de uso estándar, tus datos de costos de uso detallados y tus datos de precios.

Un conjunto de datos se encuentra dentro de un proyecto de Google Cloud que especificas. Los conjuntos de datos son contenedores de nivel superior que se usan para organizar y controlar el acceso a tus tablas y vistas. Las tablas y las vistas deben pertenecer a un conjunto de datos, por lo que debes crear al menos un conjunto de datos antes de cargar datos en BigQuery.

Si usas un conjunto de datos existente, revisa las limitaciones que podrían afectar la exportación de tus datos de facturación a BigQuery, como la imposibilidad de exportar datos a los conjuntos de datos configurados para usar la encriptación de claves administradas por el cliente o la imposibilidad de usar un conjunto de datos configurado con una región no compatible.

Para crear un conjunto de datos de BigQuery, debes seguir estos pasos:

  1. Accede a la consola de Google Cloud y ve a la página BigQuery.

    Ir a la página BigQuery

  2. En la lista desplegable project ( Mi proyecto ) en la parte superior de la página de la consola de Google Cloud, selecciona el proyecto que configuraste contienen tu conjunto de datos. Toma nota del ID del proyecto, ya que lo usarás en los siguientes pasos.

  3. En el panel Explorador, en la sección proyectos fijados, haz clic en your-project-ID para expandir el proyecto a fin de ver los conjuntos de datos y consultas guardadas existentes.

  4. Junto al ID del proyecto, haz clic en el menú Ver acciones () y, luego, en Crear conjunto de datos. Se abrirá el panel Crear conjunto de datos.

    1. Ingresa un ID del conjunto de datos. Recomendamos un ID que abarque proyectos, como all_billing_data, en lugar de un ID específico del proyecto.
    2. Selecciona una ubicación de datos. 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 de este conjunto de datos comparten esta ubicación.

      Recomendamos que selecciones una ubicación multirregional (EU o US). Para las exportaciones de datos de costo de uso estándar y costo de uso detallado, la ubicación que selecciones puede influir en si se agregan los datos del mes anterior a los un conjunto de datos de forma retroactiva. Revisa las limitaciones para obtener más información sobre las ubicaciones de los conjuntos de datos y la disponibilidad de datos.

      Ten en cuenta que 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. Revisa las limitaciones para obtener más información sobre las ubicaciones de los conjuntos de datos.

      Una vez que se crea el conjunto de datos, la ubicación no se puede cambiar. Más información sobre las ubicaciones.

    3. Asegúrate de que la opción Habilitar vencimiento de la tabla no esté activada.

      Si habilitas el vencimiento de la tabla y, luego, ingresas una cantidad de días, cualquier tabla nueva que se cree en este conjunto de datos se borrará de manera automática una vez que pase la cantidad especificada de días a partir de la creación. Importante: Si borras las tablas que contienen los registros de datos exportados de la Facturación de Cloud, esos registros ya no están, y no podemos reabastecer los registros borrados.

    4. En la sección Opciones avanzadas, asegúrate de que la configuración seleccionada para Encriptación sea Clave de encriptación administrada por Google.

      No uses la opción Clave de encriptación administrada por el cliente (CMEK). La encriptación de CMEK no es compatible con la exportación de registros de datos de Facturación de Cloud a BigQuery.

    5. Para guardar, haz clic en Crear conjunto de datos.

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

Si eres un revendedor, puedes volver a usar el mismo proyecto y el mismo conjunto de datos que acabas de crear cuando habilitas la exportación de datos de facturación de servicios de canal específicos del revendedor.

5. Habilita la exportación de la Facturación de Cloud al conjunto de datos de BigQuery

Habilita la exportación de datos de la Facturación de Cloud en la sección la Facturación de Cloud de la consola de Google Cloud. Estos son los tipos de datos que puedes habilitar para exportar:

  • Datos de costos de uso estándar: Contienen información de uso de los costos de la cuenta de Facturación de Cloud estándar, como el ID de la cuenta, la fecha de la factura, los servicios, los SKU, los proyectos, las etiquetas, las ubicaciones, el costo, el uso, los créditos, los ajustes y la moneda.

    Usa la exportación de uso estándar para analizar las tendencias generales en los datos de costos.

  • Datos de costos de uso detallados: Contienen información detallada del costo de uso de la cuenta de Facturación de Cloud. Incluye todo lo de los datos de costos de uso estándar y los datos de costos a nivel de recursos, como una máquina virtual o SSD que genere uso de servicios.

    Usa la exportación detallada para analizar los costos a nivel de recurso y, también, identificar los recursos específicos que podrían aumentar los costos.

    La exportación detallada incluye de forma automática información a nivel de recursos sobre Compute Engine. Para ver un desglose de los costos del clúster de Google Kubernetes Engine (GKE) en una exportación de datos detallada, también debes habilitar la asignación de costos para GKE.

  • Datos de precios: Contienen información de precios de las cuentas de Facturación de Cloud, como el ID de la cuenta, los servicios, los SKU, los productos, los metadatos geográficos, las unidades de precios, la moneda, la agregación y los niveles.

Para habilitar que tus datos de costos de uso o precios de Facturación de Cloud se exporten a BigQuery, 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 Editar configuración para cada tipo de datos que quieras exportar. Cada tipo de datos se configura por separado.

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

    El proyecto que selecciones se usará para almacenar los datos exportados de la Facturación de Cloud en el conjunto de datos de BigQuery.

    En las exportaciones de datos de costos de uso estándar y detallados, los datos de Facturación de Cloud incluyen datos de uso o costo de todos los proyectos de Google Cloud pagados por la misma cuenta de Facturación de Cloud

    Para la exportación de datos de precios, los datos de Facturación de Cloud incluyen solo los datos específicos de la cuenta de Facturación de Cloud vinculada al proyecto de conjunto de datos seleccionado.

  5. En el campo ID del conjunto de datos, selecciona el conjunto de datos que configuraste para que contenga tus datos de Facturación de Cloud exportados.

    Para todos los tipos de datos de Facturación de Cloud exportados a BigQuery, se aplica lo siguiente:

    • 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. Haz clic en Habilitar API de BigQuery para habilitarla.
    • Si el proyecto que seleccionaste no contiene ningún conjunto de datos de BigQuery, se te solicitará que crees uno. Si es necesario, sigue estos pasos para crear un conjunto de datos nuevo.
    • Si usas un conjunto de datos existente, revisa las limitaciones que podrían afectar la exportación de tus datos de facturación a BigQuery, como la imposibilidad de exportar datos a los conjuntos de datos configurados para usar la encriptación de claves de encriptación administradas por el cliente (CMEK) o la imposibilidad de usar un conjunto de datos configurado con una región no compatible.

    En el caso de la exportación de datos de precios, es necesaria la API de BigQuery Data Transfer Service para exportar los datos a BigQuery. Si el proyecto que seleccionaste no tiene habilitada la API de BigQuery Data Transfer Service, se te solicitará que la habilites. Si es necesario, sigue estos pasos para habilitar la API.

  6. Haz clic en Guardar.

Actualiza los datos de Facturación de Cloud para exportarlos

Después de habilitar los datos de Facturación de Cloud para exportar a BigQuery, puedes cambiar los datos que se exportan si inhabilitas o habilitas los diferentes tipos.

Antes de inhabilitar alguna exportación de datos, revisa las limitaciones y los lineamientos de disponibilidad de datos para saber cómo podría afectar los datos de facturación exportados a BigQuery.

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

  1. Selecciona Inhabilitar exportación estándar, Inhabilitar exportación detallada o Inhabilitar exportación de precios según corresponda.
  2. Selecciona Confirmar para guardar la selección.

Para habilitar un tipo actualmente inhabilitado de Facturación de Cloud que se exporta a BigQuery, consulta Habilita la exportación de datos de Facturación de Cloud a BigQuery.

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 la Facturación de Cloud a BigQuery, Google agrega automáticamente una cuenta de servicio como propietario al conjunto de datos que especificas. Las cuentas de servicio se ven de la siguiente manera:

  • Para los conjuntos de datos de costos de uso estándar y detallados: billing-export-bigquery@system.gserviceaccount.com
  • Para el conjunto de datos de precios: cloud-account-pricing@cloud-account-pricing.iam.gserviceaccount.com

Las cuentas de servicio son propiedad de Google, que también las administra, y proporcionan los permisos necesarios para que nuestro proceso sin conexión cree una tabla 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.

Tablas de datos de facturación

Poco después de habilitar la exportación de la Facturación de Cloud a BigQuery, las tablas de datos de facturación se crean de forma automática en el conjunto de datos de BigQuery. Para obtener más información sobre estas tablas de BigQuery y los esquemas de tablas, consulta Información sobre las tablas de datos creadas de forma automática en BigQuery.

Frecuencia de cargas de datos

  • Cuando habilitas por primera vez la exportación estándar o detallada de los costos de uso a BigQuery, es posible que tome algunas horas comenzar a ver que los datos de costos de Google Cloud se propagan 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 5 días en estar al día con tus datos de uso actuales.
  • La primera vez que habilitas la exportación de precios a BigQuery, es posible que transcurran hasta 48 horas comenzar a ver los datos de precios de Google Cloud.

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.

  • 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. Una vez que se crea 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 se usan para contener datos de Facturación de Cloud.

    América Asia-Pacífico Europa

    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)

  • Para los conjuntos de datos de BigQuery que contienen 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, el conjunto de datos refleja los datos de facturación de Google Cloud incurridos desde el inicio del anterior mes 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 de Google 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 5 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 estándar y tus 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 en 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 la 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 de Google Cloud no se agregan de forma retroactiva, por lo que no verás datos 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.

  • Cuando exportas datos detallados de costos de uso, la exportación detallada incluye de forma automática información sobre los recursos a nivel de Compute Engine. Para ver un desglose de los costos del clúster de Google Kubernetes Engine (GKE) en una exportación de datos detallada, también debes habilitar la asignación de costos para GKE.

  • Encriptación del conjunto de datos: Las claves de encriptación administradas por el cliente (CMEK) no son compatibles cuando exportas datos de facturación a BigQuery. Si habilitas la encriptación de CMEK para el conjunto de datos de datos de facturación, este tipo de encriptación impide que la Facturación de Cloud escriba datos de facturación en las tablas correspondientes dentro de ese conjunto de datos. En su lugar, debes habilitar el conjunto de datos para usar una clave de encriptación administrada por Google.

  • 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@system.gserviceaccount.com 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@system.gserviceaccount.com')
    FILTER USING (TRUE);
    
  • 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 de política 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 los siguientes recursos:

    • Instancias de Compute Engine
    • Instancias de Spanner
    • Servicios de Cloud Run
    • Repositorios de Artifact Registry
  • Si usas los Controles del servicio de VPC, es posible que se bloqueen las exportaciones de BigQuery. Para resolver este problema, debes eximir de forma manual la VPC.

Informes de costos y precios disponibles en la consola de Google Cloud