Passaggio 4: configura i componenti

Questa pagina descrive il quarto passaggio per il deployment di Cortex Framework Data Foundation, il componente principale di Cortex Framework. In questo passaggio configurerai i serviziGoogle Cloud richiesti da implementare.

Attiva i servizi Google Cloud

In questa sezione abiliti i seguenti servizi Google Cloud nel tuo progettoGoogle Cloud :

  • Istanza e set di dati BigQuery
  • API Cloud Build
  • Bucket Cloud Storage
  • Service account
  • API Cloud Resource Manager
  • API Data Catalog (se viene implementato Datamesh)
  • Esecuzioni del workflow (se esegui il deployment di Cortex per Meridian)
  • Piattaforma AI (se esegui il deployment di Cortex for Meridian)

Attiva questi Google Cloud servizi utilizzando Cloud Shell:

  1. Copia e incolla il seguente 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 \
                          datacatalog.googleapis.com \
                          workflowexecutions.googleapis.com \
                          workflows.googleapis.com \
                          aiplatform.googleapis.com
    

    Sostituisci SOURCE_PROJECT con l'ID del progetto di origine.

  2. Verifica che i servizi Google Cloud siano attivi se ricevi un messaggio di conferma.

(Facoltativo) Puoi attivare i seguenti servizi Google Cloud nel tuo progettoGoogle Cloud :

  • Cloud Composer per l'elaborazione di Change Data Capture (CDC), l'appiattimento della gerarchia (solo SAP) e la replica dei dati (solo non SAP) tramite grafi aciclici diretti (DAG). Per configurare un'istanza, consulta la documentazione di Cloud Composer.
  • Looker per la connessione ai modelli di report.
  • I set di dati collegati di BigQuery sharing (in precedenza Analytics Hub) vengono utilizzati per alcune origini esterne, ad esempio il DAG Meteo. Puoi scegliere di compilare questa struttura con qualsiasi altra origine disponibile a tua scelta per scenari avanzati.
  • Dataflow: Strumento di integrazione per molti set di dati di marketing come Google Ads.
  • Catalogo universale Dataplex: utilizzato per creare un mesh di dati. Per ulteriori informazioni, consulta la Guida dell'utente di Data Mesh.
  • Per Cortex Framework con Meridian:
    • Colab Enterprise: esecuzione del notebook Colab Enterprise durante l'esecuzione con accesso a quanto segue:
    • Il notebook e il file di configurazione su Cloud Storage.
    • Esegui query su tabelle e viste BigQuery pertinenti.
    • Scrivi i risultati in Cloud Storage.
    • Workflows: esecuzione del flusso di lavoro e di Cloud Build per attivare le esecuzioni dei notebook Colab Enterprise.

Concedere autorizzazioni all'utente che esegue l'operazione

Concedi le seguenti autorizzazioni all'utente che esegue l'operazione, utilizzando la consoleGoogle Cloud o Google Cloud CLI, per eseguire il deployment nel progetto in cui viene attivato Cloud Build:

  • Consumer utilizzo dei servizi (roles/serviceusage.serviceUsageConsumer)
  • Storage Object Viewer (roles/storage.objectViewer)
  • Amministratore Storage (roles/storage.admin)
  • Editor Cloud Build (roles/cloudbuild.builds.editor)
  • Lettore progetto (roles/reader)
  • Utente job BigQuery (roles/bigquery.jobUser)
  • Editor dati BigQuery (roles/bigquery.dataEditor)

Console

  1. Apri la pagina IAM nella console Google Cloud :

    Apri la pagina IAM

  2. Seleziona il progetto e fai clic su Continua.

  3. Fai clic su Concedi accesso.

  4. Inserisci l'indirizzo email dell'utente che esegue l'azione.

  5. Seleziona i seguenti ruoli dal menu a discesa:

    • Consumer utilizzo dei servizi (roles/serviceusage.serviceUsageConsumer)
    • Storage Object Viewer (roles/storage.objectViewer)
    • Amministratore Storage (roles/storage.admin)
    • Editor Cloud Build (roles/cloudbuild.builds.editor)
    • Lettore progetto (roles/reader)
    • Utente job BigQuery (roles/bigquery.jobUser)
    • Editor dati BigQuery (roles/bigquery.dataEditor)
  6. Fai clic su Salva.

gcloud

Per concedere un ruolo a un utente, esegui il comando add-iam-policy-binding:

  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/serviceusage.serviceUsageConsumer"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/storage.objectViewer"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/storage.admin"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/cloudbuild.builds.editor"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/reader"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/bigquery.jobUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="user:USER_EMAIL" \
    --role="roles/bigquery.dataEditor"

Sostituisci quanto segue:

  • SOURCE_PROJECT con l'ID progetto di origine.
  • USER_EMAIL con l'email dell'utente che esegue l'operazione. Ad esempio, user:my-user@example.com. Per un elenco completo dei tipi di entità o member, consulta il riferimento Policy Binding.

Crea e configura l'account di servizio Cloud Build

Cloud Build utilizza un account di servizio per eseguire le build per tuo conto. Questa sezione ti guida nella creazione di un account di servizio dedicato per i deployment di Cortex Framework e nella concessione delle autorizzazioni necessarie al account di servizio Cloud Build.

Crea un nuovo service account

Crea un account di servizio dedicato per il deployment di Cortex Framework per una maggiore sicurezza e controllo. Dopo aver creato il nuovo account di servizio, puoi specificare questo service account durante la procedura di deployment utilizzando il parametro di sostituzione _BUILD_ACCOUNT.

Prima di iniziare, devi abilitare l'API IAM, configurare l'autenticazione e comprendere gli account di servizio e i ruoli IAM. Per maggiori informazioni, vedi Creare service account.

Crea questo nuovo account di servizio utilizzando la Google Cloud console o Google Cloud CLI.

Console

  1. Vai alla pagina Service account.

    Service account

    I passaggi rimanenti vengono visualizzati nella console Google Cloud .

  2. Seleziona un Google Cloud progetto.

  3. Inserisci un account di servizio e un nome visualizzato, con descrizione e nella console Google Cloud . La console Google Cloud genera un ID account di servizio in base a questo nome. Modifica l'ID, se necessario. Non potrai modificare l'ID in un secondo momento. Utilizza i seguenti valori predefiniti per il account di serviziot:

    • Name: "cortex-deployer".
    • Descrizione: "Cortex Deployer Service Account".
    • Nome visualizzato: "Cortex Deployer".
  4. Concedi agli utenti l'accesso a questo account di servizio.

    1. Aggiungi l'ID di tutti gli utenti (incluso il tuo) che possono eseguire il deployment tramite ilaccount di serviziot.
    2. Assegna il ruolo Creatore token account di servizio. Per ulteriori informazioni su questo ruolo, vedi Ruoli del service account.
  5. Fai clic su Fine per completare la creazione del service account.

Se hai già un account di servizio, segui questi passaggi:

  1. Vai ad Account di servizio.
  2. Seleziona l'account di servizio.
  3. Fai clic sulla scheda Autorizzazioni.
  4. Fai clic su Concedi l'accesso.
    1. Aggiungi l'ID di tutti gli utenti (incluso il tuo) che possono eseguire il deployment tramite ilaccount di serviziot.
    2. Assegna il ruolo Creatore token account di servizio.

gcloud

  1. Crea un account di servizio tramite una policy IAM con il seguente comando:

    gcloud iam service-accounts create cortex-deployer \
    --description="Cortex Deployer Service Account" \
    --display-name="Cortex Deployer"
    
  2. Aggiungi il criterio IAM al tuo Google Cloud progetto con il seguente comando:

    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role="roles/cloudbuild.builds.editor"
    
  3. Aggiungi l'ID di tutti gli utenti (incluso il tuo) che possono eseguire il deployment tramite il account di servizio e assegna loro il ruolo Creatore token service account con questo comando:

    gcloud iam service-accounts add-iam-policy-binding cortex-deployer\
    --member="user:USER_EMAIL" \
    --role="roles/iam.serviceAccountTokenCreator"
    

    Sostituisci quanto segue:

    • SOURCE_PROJECT con il progetto di origine per il deployment di Cortex Framework Data Foundation.
    • USER_EMAIL con l'email dell'utente che esegue l'azione.

Per ulteriori informazioni sulla creazione di un nuovo account di servizio, vedi Creare un service account.

Concedi le autorizzazioni

Il account di servizio Cloud Build richiede autorizzazioni specifiche nel progetto di origine (e nel progetto di destinazione se il deployment viene eseguito in un progetto separato). Concedi i seguenti ruoli utilizzando la console Google Cloud o Google Cloud CLI:

  • Account di servizio Cloud Build (roles/cloudbuild.builds.builder)
  • Service Account User (roles/iam.serviceAccountUser)
  • Editor dati BigQuery (roles/bigquery.dataEditor)
  • Utente job BigQuery (roles/bigquery.jobUser)
  • Writer log (roles/logging.logWriter)
  • Amministratore Colab Enterprise (roles/aiplatform.colabEnterpriseAdmin, se esegui il deployment di Cortex for Meridian)
  • Storage Object User (roles/storage.objectUser - se viene implementato Cortex for Meridian)
  • Editor di workflow (roles/workflows.editor, se viene eseguito il deployment di Cortex per Meridian)

Console

  1. Nella console Google Cloud vai alla pagina IAM.

    Vai a IAM

  2. Seleziona il progetto di origine.

  3. Fai clic su Concedi l'accesso.

  4. Aggiungi il account di servizio Cloud Build predefinito del passaggio precedente come nuova entità.

  5. Nel menu a discesa Seleziona un ruolo, cerca Service account Cloud Build, quindi fai clic su Service account Cloud Build.

  6. Ripeti il passaggio precedente per aggiungere gli altri ruoli:

    • Utente service account
    • Editor dati BigQuery
    • Utente job BigQuery
    • Writer log
    • Amministratore Colab Enterprise (se esegui il deployment di Cortex for Meridian)
    • Storage Object User (se esegui il deployment di Cortex for Meridian)
    • Editor di workflow (se viene eseguito il deployment di Cortex for Meridian)
  7. Fai clic su Salva.

  8. Verifica che il account di servizio e i ruoli corrispondenti siano elencati nella pagina IAM. Hai assegnato correttamente un ruolo IAM.

gcloud

Utilizza questo comando per concedere i ruoli al account di servizio 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"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/logging.logWriter"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/aiplatform.colabEnterpriseAdmin"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/storage.objectUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:CLOUD_BUILD_SA" \
      --role="roles/workflows.editor"

Sostituisci quanto segue:

  • SOURCE_PROJECT con l'ID progetto di origine.
  • CLOUD_BUILD_SA con il account di servizio Cloud Build, nel formato CLOUD_BUILD_SA@SOURCE_PROJECT.gserviceaccount.com.

Per ulteriori informazioni, consulta Concedere un ruolo all'account di servizio Cloud Build utilizzando la pagina IAM e Impostare e gestire i criteri IAM sui bucket.

Crea un account di servizio aggiuntivo per Cortex per Meridian

Per Meridian è necessario un account di servizio separato quando viene eseguito il deployment di Cortex Framework. Se non esegui il deployment per Meridian, puoi saltare questo passaggio. Per quanto segue è necessario un account di servizio separato:

  • Esecuzione del flusso di lavoro e di Cloud Build per attivare le esecuzioni dei blocchi note di Colab Enterprise.
  • Esecuzione del notebook Colab Enterprise con accesso a:
    • Il notebook e il file di configurazione su Cloud Storage.
    • Esegui query su tabelle e viste BigQuery pertinenti.
    • Scrivi i risultati in Cloud Storage.

Utilizza questo comando per creare un account di servizio per Cortex for Meridian:


 gcloud iam service-accounts create cortex-meridian-colab-runner --project= PROJECT_ID \
        --description="Cortex for Meridian Colab Runner Service Account" \
        --display-name="Cortex Meridian Runner"

Sostituisci quanto segue:

  • PROJECT_ID con l'ID progetto in cui è stato eseguito il deployment di Cortex for Meridian.
  • cortex-meridian-colab-runner: se vuoi, puoi utilizzare un ID account di servizio diverso. Tieni presente che cortex-meridian-colab-runner è l'impostazione predefinita e la sua modifica potrebbe richiedere aggiustamenti ad altri comandi.

I ruoli minimi richiesti per un account di servizio dedicato per Cortex per Meridian sono i seguenti:

  • Visualizzatore dati BigQuery (roles/bigquery.dataViewer)
  • Utente job BigQuery (roles/bigquery.jobUser)
  • BigQuery Read Session User (roles/bigquery.readSessionUser)
  • Editor Cloud Build (roles/cloudbuild.builds.editor)
  • Amministratore Colab Enterprise (roles/aiplatform.colabEnterpriseAdmin)
  • Writer log (roles/logging.logWriter)
  • Notebook Runtime Admin (aiplatform.notebookRuntimeAdmin)
  • Amministratore Storage (roles/storage.admin)
  • Storage Object User (roles/storage.objectUser)
  • Vertex AI Colab Service Agent (roles/aiplatform.colabServiceAgent)

Utilizza questo comando per concedere i ruoli al account di servizio dedicato per Cortex per Meridian:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.dataViewer'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.jobUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/bigquery.readSessionUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/cloudbuild.builds.editor'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.colabEnterpriseAdmin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/logging.logWriter'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.notebookRuntimeAdmin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/storage.admin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/storage.objectUser'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
    --role='roles/aiplatform.colabServiceAgent'

Sostituisci quanto segue:

  • PROJECT_ID con l'ID progetto in cui è stato eseguito il deployment di Cortex for Meridian.
  • SERVICE_ACCOUNT_EMAIL con il tuo service account per Cortex per Meridian.

Passaggi facoltativi

Per una migliore personalizzazione del deployment, valuta la possibilità di seguire questi passaggi facoltativi:

È necessario un bucket di archiviazione per archiviare gli script DAG di elaborazione e altri file temporanei generati durante il deployment. Questi script devono essere spostati manualmente in un'istanza Cloud Composer o Apache Airflow dopo il deployment.

Puoi creare il bucket di archiviazione da Google Cloud CLI o dalla console Google Cloud con i seguenti passaggi.

Console

  1. Vai a Cloud Storage.

    Cloud Storage

  2. Crea un bucket nella stessa regione dei tuoi set di dati BigQuery.

  3. Seleziona il bucket creato.

  4. Vai alla scheda Permissions.

  5. Concedi l'autorizzazione Storage Object Creator all'ID utente che esegue il comando Build o all'account di servizio che hai creato. Per maggiori informazioni, vedi Impostare una nuova condizione per un bucket: console.

gcloud

  1. Crea un bucket da Cloud Shell con il seguente comando:

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

    Sostituisci quanto segue:

    • DAG_BUCKET_NAME con il nome del nuovo bucket.
    • REGION/MULTI_REGION con la stessa regione dei tuoi set di dati BigQuery.
  2. Utilizza questo comando per assegnare l'autorizzazione Storage Object Creator all'account di servizio:

    gcloud storage buckets add-iam-policy-binding gs://DAG_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectCreator
    

    Sostituisci quanto segue:

    • CLOUD_BUILD_SA con il account di servizio predefinito di Cloud Build.
    • DAG_BUCKET_NAME con il nome del nuovo bucket.

Crea un bucket Cloud Storage per i log

Puoi creare un bucket specifico per il processo Cloud Build per archiviare i log. Questa opzione è utile se vuoi limitare i dati che possono essere archiviati nei log a una regione specifica. Puoi creare il bucket di archiviazione per i log da Google Cloud CLI o dalla console Google Cloud .

Console

Per creare un bucket specifico per i log:

  1. Vai a Cloud Storage.

    Cloud Storage

  2. Crea un bucket nella stessa regione in cui verrà eseguito il deployment.

  3. Seleziona il bucket creato.

  4. Vai alla scheda Permissions.

  5. Concedi l'autorizzazione Storage Object Admin all'ID utente che esegue il comando Build o all'account di servizio che hai creato. Per maggiori informazioni, vedi Impostare una nuova condizione per un bucket: console.

gcloud

Per creare un bucket specifico per i log, utilizza i seguenti comandi.

  1. Crea un bucket da Cloud Shell con il seguente comando:

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

    Sostituisci quanto segue:

    • REGION/MULTI_REGION con la regione scelta per creare il bucket.
    • LOGS_BUCKET_NAME con il nome del nuovo bucket.
  2. Utilizza questo comando per assegnare l'autorizzazione Storage Object Admin all'account di servizio:

    gcloud storage buckets add-iam-policy-binding gs://LOGS_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectAdmin
    

    Sostituisci quanto segue:

    • CLOUD_BUILD_SA con il account di servizio predefinito di Cloud Build.
    • LOGS_BUCKET_NAME con il nome del nuovo bucket.

Passaggi successivi

Dopo aver completato questo passaggio, procedi con i seguenti passaggi di deployment:

  1. Stabilire i carichi di lavoro.
  2. Clona il repository.
  3. Determinare il meccanismo di integrazione.
  4. Configura i componenti (questa pagina).
  5. Configurare il deployment.
  6. Esegui il deployment.