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 devi abilitare 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 flusso di lavoro (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 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 connettersi 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 l'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 il 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 il processo di deployment utilizzando il parametro di sostituzione _BUILD_ACCOUNT.

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

Crea questo nuovo account di servizio utilizzando la console Google Cloud 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 l'account di servizio:

    • 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 saperne di più su questo ruolo, vedi Ruoli dei 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 Entità con accesso.
  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 la policy 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@SOURCE_PROJECT.iam.gserviceaccount.com \
    --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 saperne di più 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 esegui il deployment 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 esegui il deployment di Cortex for Meridian)
  • Editor di workflow (roles/workflows.editor, se esegui il deployment di Cortex for 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 viene eseguito il deployment di Cortex for Meridian)
    • Storage Object User (se esegui il deployment di Cortex for Meridian)
    • Editor di workflow (se esegui il deployment di Cortex per 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:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --role="roles/cloudbuild.builds.builder"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --role="roles/iam.serviceAccountUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --role="roles/bigquery.dataEditor"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --role="roles/bigquery.jobUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --role="roles/logging.logWriter"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --role="roles/aiplatform.colabEnterpriseAdmin"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --role="roles/storage.objectUser"
  gcloud projects add-iam-policy-binding SOURCE_PROJECT \
      --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
      --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 for 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=SOURCE_PROJECT \
        --description="Cortex for Meridian Colab Runner Service Account" \
        --display-name="Cortex Meridian Runner"

Sostituisci quanto segue:

  • SOURCE_PROJECT 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 è il valore predefinito e la sua modifica potrebbe richiedere aggiustamenti ad altri comandi.

I ruoli minimi richiesti per un account di servizio dedicato per Cortex for 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 SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/bigquery.dataViewer'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/bigquery.jobUser'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/bigquery.readSessionUser'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/cloudbuild.builds.editor'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/aiplatform.colabEnterpriseAdmin'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/logging.logWriter'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/aiplatform.notebookRuntimeAdmin'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/storage.admin'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/storage.objectUser'

gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:cortex-meridian-colab-runner@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role='roles/aiplatform.colabServiceAgent'

Sostituisci quanto segue:

  • SOURCE_PROJECT con l'ID progetto in cui è stato eseguito il deployment di Cortex for Meridian.
  • cortex-meridian-colab-runner con il tuo service account per Cortex per Meridian.

È 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 al service account che hai creato. Per maggiori informazioni, consulta Imposta una nuova condizione per un bucket: console.

gcloud

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

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

    Sostituisci quanto segue:

    • COMPOSER_DAG_BUCKET 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://COMPOSER_DAG_BUCKET \
        --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
        --role=roles/storage.objectCreator
    

    Sostituisci quanto segue:

    • cortex-deployer con il account di servizio Cloud Build.
    • COMPOSER_DAG_BUCKET 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 al service account che hai creato. Per maggiori informazioni, consulta Imposta 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:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \
        --role=roles/storage.objectAdmin
    

    Sostituisci quanto segue:

    • cortex-deployer con il account di servizio predefinito di Cloud Build.
    • LOGS_BUCKET_NAME con il nome del nuovo bucket.

Passaggi facoltativi

Per una migliore personalizzazione del deployment, valuta la possibilità di seguire questo passaggio facoltativo:

Passaggi successivi

Dopo aver completato questo passaggio, passa ai 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. Configura il deployment.
  6. Esegui il deployment.