Paso 4: Configura los componentes

En esta página, se describe el cuarto paso para implementar Cortex Data Foundation, el núcleo de Cortex Framework. En este paso, configurarás los serviciosGoogle Cloud necesarios para la implementación.

En esta sección, habilitarás los siguientes servicios Google Cloud en tu proyectoGoogle Cloud :

  • Instancia y conjuntos de datos de BigQuery
  • API de Cloud Build
  • Depósitos de Cloud Storage
  • Cuenta de servicio (opcional)
  • API de Cloud Resource Manager

Habilita estos Google Cloud servicios con Cloud Shell:

  1. Copia y pega el siguiente comando:

    gcloud config set project SOURCE_PROJECT
    
    gcloud services enable bigquery.googleapis.com \
                          cloudbuild.googleapis.com \
                          composer.googleapis.com \
                          storage-component.googleapis.com \
                          cloudresourcemanager.googleapis.com \
                          dataflow.googleapis.com
    

    Reemplaza SOURCE_PROJECT por el ID de tu proyecto de origen.

  2. Asegúrate de que los servicios de Google Cloud estén habilitados si recibes un mensaje de éxito.

Opcional. Puedes habilitar los siguientes Google Cloud servicios en tu Google Cloud proyecto:

  • Cloud Composer para el procesamiento de la captura de datos modificados (CDC), la aplanación de jerarquías (solo para SAP) y la replicación de datos (solo para no SAP) a través de grafos acíclicos dirigidos (DAG) Para configurar una instancia, consulta la documentación de Cloud Composer.
  • Looker para conectarse a plantillas de informes
  • Los conjuntos de datos vinculados de Analytics Hub se usan para algunas fuentes externas, como el DAG del clima. Puedes completar esta estructura con cualquier otra fuente disponible que elijas para situaciones avanzadas.
  • Dataflow: Es una herramienta de integración para muchos de los conjuntos de datos de marketing, como Google Ads.
  • Dataplex: Se usa para compilar una malla de datos. Para obtener más información, consulta la Guía del usuario de Data Mesh.

Otorga permisos al usuario que ejecuta el comando

Para ejecutar la implementación en el proyecto en el que se activa Cloud Build, otorga los siguientes permisos al usuario que la ejecuta:

  • Consumidor de Service Usage
  • Visualizador de objetos de almacenamiento para el bucket predeterminado de Cloud Build o el bucket de registros
  • Object Writer a los buckets de salida
  • Editor de Cloud Build
  • Visualizador de proyectos o Visualizador de objetos de almacenamiento

Para obtener más información sobre cómo otorgar estos permisos, consulta la siguiente documentación:

Configura la cuenta de Cloud Build

Cloud Build usa una cuenta de servicio para ejecutar compilaciones en tu nombre. Otorga permisos a la cuenta de servicio de Cloud Build para implementar Cortex Framework con los siguientes pasos.

Para otorgar permisos a la cuenta de servicio de Cloud Build para implementar Cortex Framework, usa los siguientes comandos.

  1. Para encontrar la cuenta de servicio predeterminada de Cloud Build, abre Cloud Shell y ejecuta el siguiente comando:

    gcloud builds get-default-service-account --project PROJECT_ID
    
  2. Recibir una respuesta con el siguiente formato:

    # Response one
    `serviceAccountEmail: projects/PROJECT_NUMBER/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com`
    # Response two
    `serviceAccountEmail: projects/PROJECT_NUMBER/serviceAccounts/PROJECT_NUMBER@cloudbuild.gserviceaccount.com`
    

    La respuesta reemplazaría PROJECT_NUMBER por el número de proyecto. Cualquiera de los correos electrónicos de la cuenta de servicio anterior es tu cuenta de servicio de Cloud Build predeterminada.

  3. Identifica esta cuenta de servicio en IAM analizando la cuenta @developer.gserviceaccount.com o la cuenta @cloudbuild.gserviceaccount.com en IAM.

  4. Otorga los siguientes permisos a la cuenta de servicio de Cloud Build en el proyecto de origen (y al proyecto de destino si se implementa en un destino independiente) a través de la consola o Google Cloud CLI:

    • Cuenta de servicio de Cloud Build (roles/cloudbuild.builds.builder)
    • Usuario de la cuenta de servicio (roles/iam.serviceAccountUser)
    • Editor de datos de BigQuery (roles/bigquery.dataEditor)
    • Usuario de trabajo de BigQuery (roles/bigquery.jobUser)

    Console

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM

    2. Selecciona tu proyecto de origen.

    3. Haz clic en Grant access.

    4. Agrega la cuenta de servicio predeterminada de Cloud Build del paso anterior como un principal nuevo.

    5. En el menú desplegable Seleccionar un rol, busca Cuenta de servicio de Cloud Build y, luego, haz clic en Cuenta de servicio de Cloud Build.

    6. Repite el paso anterior para agregar el resto de los permisos: Usuario de la cuenta de servicio, Editor de datos de BigQuery y Usuario de trabajo de BigQuery.

    7. Haz clic en Guardar.

    8. Verifica que la cuenta de servicio y los roles correspondientes aparezcan en la página de IAM. Otorgaste correctamente un rol de IAM.

    gcloud

    Usa el siguiente comando para otorgar los roles a la cuenta de servicio de Cloud Build:

    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/cloudbuild.builds.builder"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/iam.serviceAccountUser"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/bigquery.dataEditor"
    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
        --member="serviceAccount:CLOUD_BUILD_SA" \
        --role="roles/bigquery.jobUser"
    

    Reemplaza los valores de marcador de posición en el comando por los siguientes:

    • SOURCE_PROJECT por el ID del proyecto de origen.
    • CLOUD_BUILD_SA con la cuenta de servicio predeterminada de Cloud Build.

    Para obtener más información, consulta Cómo otorgar un rol a la cuenta de servicio de Cloud Build con la página de IAM y Cómo configurar y administrar políticas de IAM en buckets.

Pasos opcionales

Para personalizar mejor tu implementación, considera seguir estos pasos opcionales:

Se requiere un bucket de almacenamiento para almacenar las secuencias de comandos de procesamiento de DAG y otros archivos temporales generados durante la implementación. Estas secuencias de comandos deben trasladarse de forma manual a una instancia de Cloud Composer o Apache Airflow después de la implementación.

Puedes crear el bucket de almacenamiento desde Google Cloud CLI o la consola de Google Cloud con los siguientes pasos.

Console

  1. Ve a Cloud Storage.

    Cloud Storage

  2. Crea un bucket en la misma región que tus conjuntos de datos de BigQuery.

  3. Selecciona el bucket creado.

  4. Ve a la pestaña Permissions.

  5. Otorga el permiso Storage Object Creator al ID de usuario que ejecuta el comando Build o a la cuenta de servicio que creaste. Para obtener más información, consulta Establece una nueva condición en un bucket: Console.

gcloud

  1. Crea un bucket desde Cloud Shell con el siguiente comando:

    gcloud storage buckets create gs://DAG_BUCKET_NAME -l REGION/MULTI_REGION
    

    Reemplaza lo siguiente:

    • DAG_BUCKET_NAME por el nombre del bucket nuevo.
    • REGION/MULTI_REGION con la misma región que tus conjuntos de datos de BigQuery.
  2. Usa el siguiente comando para asignar el permiso Storage Object Creator a la cuenta de servicio:

    gsutil iam ch serviceAccount:CLOUD_BUILD_SA:roles/storage.objectCreator gs://DAG_BUCKET_NAME
    

    Reemplaza lo siguiente:

    • CLOUD_BUILD_SA con la cuenta de servicio predeterminada de Cloud Build
    • DAG_BUCKET_NAME por el nombre del bucket nuevo.

Crea un bucket de almacenamiento para los registros

Puedes crear un bucket específico para que el proceso de Cloud Build almacene los registros. Esto es útil si quieres restringir los datos que se pueden almacenar en registros a una región específica. Puedes crear el bucket de almacenamiento para los registros desde Google Cloud CLI o la consola de Google Cloud.

Console

Para crear un bucket específico para los registros, sigue estos pasos:

  1. Ve a Cloud Storage.

    Cloud Storage

  2. Crea un bucket en la misma región en la que se ejecutaría la implementación.

  3. Selecciona el bucket creado.

  4. Ve a la pestaña Permissions.

  5. Otorga el permiso Storage Object Admin al ID de usuario que ejecuta el comando Build o a la cuenta de servicio que creaste. Para obtener más información, consulta Establece una nueva condición en un bucket: Console.

gcloud

Para crear un bucket específico para los registros, usa los siguientes comandos.

  1. Crea un bucket desde Cloud Shell con el siguiente comando:

    gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGION
    

    Reemplaza lo siguiente:

    • REGION/MULTI_REGION con la región elegida para crear el bucket.
    • LOGS_BUCKET_NAME por el nombre del bucket nuevo.
  2. Usa el siguiente comando para asignar el permiso Storage Object Admin a la cuenta de servicio:

    gsutil iam ch serviceAccount:CLOUD_BUILD_SA:roles/storage.objectAdmin gs://LOGS_BUCKET_NAME
    

    Reemplaza lo siguiente:

    • CLOUD_BUILD_SA con la cuenta de servicio predeterminada de Cloud Build
    • LOGS_BUCKET_NAME por el nombre del bucket nuevo.

Próximos pasos

Después de completar este paso, continúa con los siguientes pasos de implementación:

  1. Establece cargas de trabajo.
  2. Clona el repositorio.
  3. Determina el mecanismo de integración.
  4. Configura los componentes (esta página).
  5. Configura la implementación.
  6. Ejecuta la implementación.