Passaggio 4: configura i componenti
Questa pagina descrive il quarto passaggio per eseguire il deployment di Cortex Framework Data Foundation, il nucleo di Cortex Framework. In questo passaggio, configurerai i servizi richiesti Google Cloud per il deployment.
Abilita Google Cloud servizi
In questa sezione abiliterai i seguenti Google Cloud servizi nel tuo Google Cloud progetto:
- Istanza e set di dati BigQuery
- API Cloud Build
- Bucket Cloud Storage
- Service account
- API Resource Manager
- Esecuzioni del flusso di lavoro (se esegui il deployment di Cortex per Meridian)
- AI Platform (se esegui il deployment di Cortex per Meridian)
Abilita questi Google Cloud servizi utilizzando Cloud Shell:
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.comSostituisci
SOURCE_PROJECTcon l'ID del progetto di origine.Verifica che Google Cloud i servizi siano abilitati se ricevi un messaggio di riuscita.
(Facoltativo) Puoi abilitare i seguenti Google Cloud servizi nel tuo Google Cloud progetto:
- Managed Airflow per l'elaborazione di Change Data Capture (CDC), l'appiattimento della gerarchia (solo SAP), e la replica dei dati (solo non SAP) tramite grafici aciclici diretti (DAG). Per configurare un'istanza, consulta la documentazione di Managed Airflow.
- 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 di tua scelta per scenari avanzati.
- Dataflow: strumento di integrazione per molti set di dati di marketing come Google Ads.
- 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 in Cloud Storage.
- Esegui query su viste e tabelle BigQuery pertinenti.
- Scrivi i risultati di nuovo in Cloud Storage.
- Workflows: esecuzione di Workflow e Cloud Build per attivare le esecuzioni dei notebook Colab Enterprise.
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 account di servizio
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 specificarlo
service account
durante la procedura di deployment utilizzando il parametro di sostituzione _BUILD_ACCOUNT.
Crea questo nuovo account di servizio utilizzando la Google Cloud console o Google Cloud CLI.
Console
Vai alla pagina Service account.
I passaggi rimanenti vengono visualizzati nella Google Cloud console.
Seleziona un Google Cloud progetto.
Inserisci un account di servizio e un nome visualizzato, con descrizione e nella Google Cloud console. La Google Cloud console genera un ID account di servizio in base a questo nome. Modifica l'ID, se necessario. Non puoi modificare l'ID in un secondo momento. Utilizza i seguenti valori predefiniti per il account di servizio:
- Nome: "cortex-deployer".
- Descrizione: "Service account di deployment di Cortex".
- Nome visualizzato: "Cortex Deployer".
Concedi agli utenti l'accesso a questo account di servizio.
- Aggiungi l'ID di tutti gli utenti (incluso il tuo) che possono eseguire il deployment tramite il account di servizio.
- Assegna il ruolo Creatore token account di servizio. Per saperne di più su questo ruolo, consulta Ruoli dei service account.
Fai clic su Fine per completare la creazione del account di servizio.
Se hai già un account di servizio, segui questi passaggi:
- Vai a Service account.
- Seleziona il service account.
- Fai clic sulla scheda Entità con accesso.
- Fai clic su Concedi l'accesso.
- Aggiungi l'ID di tutti gli utenti (incluso il tuo) che possono eseguire il deployment tramite il account di servizio.
- Assegna il ruolo Creatore token account di servizio.
gcloud
Crea un account di servizio tramite un criterio IAM con il seguente comando:
gcloud iam service-accounts create cortex-deployer \ --description="Cortex Deployer Service Account" \ --display-name="Cortex Deployer"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"Aggiungi l'ID di tutti gli utenti (incluso il tuo) che possono eseguire il deployment tramite il service account e assegna loro il ruolo Creatore token account di servizio con il seguente 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_PROJECTcon il progetto di origine per il deployment di Cortex Framework Data Foundation.USER_EMAILcon l'indirizzo email dell'utente che esegue l'operazione.
Per saperne di più sulla creazione di un nuovo account di servizio, consulta 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 Google Cloud console o Google Cloud CLI:
- Account di servizio Cloud Build (
roles/cloudbuild.builds.builder) - Utente service account (
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 per Meridian) - Utente oggetti Storage (
roles/storage.objectUser- se esegui il deployment di Cortex per Meridian) Editor flussi di lavoro (
roles/workflows.editor- se esegui il deployment di Cortex per Meridian)
Console
Nella Google Cloud console vai alla pagina IAM.
Seleziona il progetto di origine.
Fai clic su Concedi l'accesso.
Aggiungi il account di servizio Cloud Build predefinito del passaggio precedente come nuova entità.
Dal menu a discesa Seleziona un ruolo, cerca Service account Cloud Build, quindi fai clic su Service account Cloud Build.
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 per Meridian)
- Utente oggetti Storage (se esegui il deployment di Cortex per Meridian)
- Editor flussi di lavoro (se esegui il deployment di Cortex per Meridian)
Fai clic su Salva.
Verifica che il account di servizio e i ruoli corrispondenti siano elencati nella pagina IAM. Hai assegnato correttamente un ruolo IAM.
gcloud
Utilizza il seguente 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_PROJECTcon l'ID progetto di origine.CLOUD_BUILD_SAcon il account di servizio Cloud Build, nel formatoCLOUD_BUILD_SA@SOURCE_PROJECT.gserviceaccount.com.
Per saperne di più, consulta Concedere un ruolo al 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 esegui il deployment di Cortex Framework. Se non esegui il deployment per Meridian, puoi saltare questo passaggio. È necessario un account di servizio separato per quanto segue:
- Esecuzione di Workflow e Cloud Build per attivare le esecuzioni dei notebook Colab Enterprise.
- Esecuzione del notebook Colab Enterprise con accesso a:
- Notebook e file di configurazione in Cloud Storage.
- Esecuzione di query su viste e tabelle BigQuery pertinenti.
- Scrittura dei risultati di nuovo in Cloud Storage.
Utilizza il seguente comando per creare un account di servizio per Cortex per 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_PROJECTcon l'ID progetto in cui è stato eseguito il deployment di Cortex per Meridian.cortex-meridian-colab-runner: facoltativamente, puoi utilizzare un ID account di servizio diverso. Tieni presente checortex-meridian-colab-runnerè il valore predefinito e la sua modifica potrebbe richiedere modifiche 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) - Utente sessione di lettura BigQuery (
roles/bigquery.readSessionUser) - Editor Cloud Build (
roles/cloudbuild.builds.editor) - Amministratore Colab Enterprise (
roles/aiplatform.colabEnterpriseAdmin) - Writer log (
roles/logging.logWriter) - Amministratore runtime notebook (
aiplatform.notebookRuntimeAdmin) - Amministratore Storage (
roles/storage.admin) - Utente oggetti Storage (
roles/storage.objectUser) - Service agent Colab Vertex AI (
roles/aiplatform.colabServiceAgent)
Utilizza il seguente 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_PROJECTcon l'ID progetto in cui è stato eseguito il deployment di Cortex per Meridian.cortex-meridian-colab-runnercon il tuo service account per Cortex per Meridian.
Crea un bucket Storage per l'archiviazione dei file correlati al DAG
È 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 di Managed Airflow o Apache Airflow dopo il deployment.
Puoi creare il bucket di archiviazione da Google Cloud CLI o dalla Google Cloud console seguendo questi passaggi.
Console
Vai a Cloud Storage.
Crea un bucket nella stessa regione dei set di dati BigQuery.
Seleziona il bucket creato.
Vai alla scheda
Permissions(Autorizzazioni).Concedi l'autorizzazione
Storage Object Creatorall'ID utente che esegue il comando Build o al service account che hai creato. Per saperne di più, consulta Impostare una nuova condizione su un bucket: console.
gcloud
Crea un bucket da Cloud Shell con il seguente comando:
gcloud storage buckets create gs://COMPOSER_DAG_BUCKET -l REGION/MULTI_REGIONSostituisci quanto segue:
COMPOSER_DAG_BUCKETcon il nome del nuovo bucket.REGION/MULTI_REGIONcon la stessa regione dei set di dati BigQuery.
Utilizza il seguente comando per assegnare l'autorizzazione
Storage Object Creator(Creatore oggetti Storage) al 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.objectCreatorSostituisci quanto segue:
cortex-deployercon il account di servizio Cloud Build.COMPOSER_DAG_BUCKETcon il nome del nuovo bucket.
Crea un bucket 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, segui questi passaggi:
Vai a Cloud Storage.
Crea un bucket nella stessa regione in cui verrà eseguito il deployment.
Seleziona il bucket creato.
Vai alla scheda
Permissions(Autorizzazioni).Concedi l'autorizzazione
Storage Object Adminall'ID utente che esegue il comando Build o al service account che hai creato. Per saperne di più, consulta Impostare una nuova condizione su un bucket: console.
gcloud
Per creare un bucket specifico per i log, utilizza i seguenti comandi.
Crea un bucket da Cloud Shell con il seguente comando:
gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGIONSostituisci quanto segue:
REGION/MULTI_REGIONcon la regione scelta per creare il bucket.LOGS_BUCKET_NAMEcon il nome del nuovo bucket.
Utilizza il seguente comando per assegnare l'autorizzazione
Storage Object Admin(Amministratore oggetti Storage) al 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.objectAdminSostituisci quanto segue:
cortex-deployercon il account di servizio predefinito di Cloud Build.LOGS_BUCKET_NAMEcon il nome del nuovo bucket.
Passaggi successivi
Dopo aver completato questo passaggio, procedi con i seguenti passaggi di deployment:
- Stabilisci i carichi di lavoro.
- Clona il repository.
- Determina il meccanismo di integrazione.
- Configura i componenti (questa pagina).
- Configura il deployment.
- Esegui il deployment.