Prima di utilizzare Vertex AI Pipelines per orchestrare le pipeline di machine learning (ML), devi configurare il tuo progetto Google Cloud . Alcune risorse, come il datastore dei metadati utilizzato da Vertex ML Metadata, vengono create nel tuo progettoGoogle Cloud la prima volta che esegui una pipeline.
Segui queste istruzioni per configurare il progetto per Vertex AI Pipelines.
Crea il tuo progetto Google Cloud e configuralo per l'utilizzo con Vertex AI Pipelines.
Se non specifichi un account di servizio, Vertex AI Pipelines utilizza il account di servizio Compute Engine predefinito per eseguire le pipeline. Per ulteriori informazioni sul account di servizio Compute Engine predefinito, consulta Utilizzo del service account Compute Engine predefinito.
Vertex AI Pipelines utilizza Cloud Storage per archiviare gli artefatti delle esecuzioni della pipeline. Crea un bucket Cloud Storage e concedi al account di servizio l'accesso a questo bucket.
Vertex AI Pipelines utilizza Vertex ML Metadata per archiviare i metadati creati dalle esecuzioni della pipeline. Quando esegui una pipeline per la prima volta, se l'archivio dei metadati del tuo progetto non esiste, Vertex AI crea l'archivio dei metadati del progetto.
Se vuoi che i tuoi dati vengano criptati utilizzando una chiave di crittografia gestita dal cliente (CMEK), puoi creare manualmente il tuo archivio metadati utilizzando una chiave CMEK prima di eseguire una pipeline. Altrimenti, se non esiste un archivio metadati predefinito nel tuo progetto, Vertex AI crea l'archivio metadati del progetto utilizzando la chiave CMEK utilizzata quando esegui la pipeline per la prima volta. Dopo la creazione dell'archivio dei metadati, viene utilizzata una chiave CMEK diversa da quella utilizzata in un'esecuzione della pipeline.
Configura il progetto Google Cloud
Utilizza le seguenti istruzioni per creare un progetto Google Cloud e configurarlo per l'utilizzo con Vertex AI Pipelines.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
After initializing the gcloud CLI, update it and install the required components:
gcloud components update gcloud components install beta
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
After initializing the gcloud CLI, update it and install the required components:
gcloud components update gcloud components install beta
Segui queste istruzioni per creare un account di servizio e concedergli autorizzazioni granulari per le risorse Google Cloud .
Esegui questo comando per creare un account di servizio.
gcloud iam service-accounts create SERVICE_ACCOUNT_ID \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME" \ --project=PROJECT_ID
Sostituisci i seguenti valori:
- SERVICE_ACCOUNT_ID: l'ID dell'account di servizio.
- DESCRIPTION: (Facoltativo) Una descrizione del service account.
- DISPLAY_NAME: il nome visualizzato per questo account di servizio.
- PROJECT_ID: il progetto in cui creare l'account di servizio.
Scopri di più sulla creazione di un service account.
Concedi al tuo account di servizio l'accesso a Vertex AI. Tieni presente che la propagazione della modifica dell'accesso potrebbe richiedere un po' di tempo. Per scoprire di più, consulta Propagazione della modifica di accesso.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Sostituisci i seguenti valori:
- PROJECT_ID: il progetto in cui è stato creato l'account di servizio.
- SERVICE_ACCOUNT_ID: l'ID dell'account di servizio.
Puoi utilizzare Artifact Registry per ospitare immagini container e modelli di Kubeflow Pipelines.
Per ulteriori informazioni su Artifact Registry, consulta la documentazione di Artifact Registry.
Concedi al tuo account di servizio l'accesso a qualsiasi risorsa Google Cloud che utilizzi nelle tue pipeline.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Sostituisci i seguenti valori:
- PROJECT_ID: il progetto in cui è stato creato l'account di servizio.
- SERVICE_ACCOUNT_ID: l'ID dell'account di servizio.
- ROLE_NAME: il ruolo Identity and Access Management da concedere a questo account di servizio.
Per utilizzare Vertex AI Pipelines per eseguire pipeline con questo account di servizio, esegui il seguente comando per concedere al tuo account utente il ruolo roles/iam.serviceAccountUser per il tuo account di servizio.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Sostituisci i seguenti valori:
- SERVICE_ACCOUNT_ID: l'ID dell'account di servizio.
- PROJECT_ID: il progetto in cui è stato creato l'account di servizio.
- USER_EMAIL: l'indirizzo email dell'utente che esegue le pipeline come questoaccount di serviziot.
Se preferisci utilizzare il account di servizio Compute Engine predefinito per eseguire le pipeline, abilita l'API Compute Engine e concedi alaccount di serviziot predefinito l'accesso a Vertex AI. Tieni presente che la propagazione della modifica dell'accesso potrebbe richiedere un po' di tempo. Per scoprire di più, consulta Propagazione della modifica di accesso.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/aiplatform.user"
Sostituisci i seguenti valori:
- PROJECT_ID: il progetto in cui è stato creato l'account di servizio predefinito.
- PROJECT_NUMBER: Il numero di progetto in cui è stato creato l'account di servizio predefinito.
Esegui questo comando per creare un bucket Cloud Storage nella regione in cui vuoi eseguire le pipeline.
gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION --project=PROJECT_ID
Sostituisci i seguenti valori:
- PROJECT_ID: specifica il progetto a cui è associato il bucket.
- BUCKET_LOCATION: specifica la posizione del
bucket, ad esempio
US-CENTRAL1
. - BUCKET_NAME: il nome che vuoi dare al bucket, soggetto ai requisiti di denominazione. Ad esempio
my-bucket
.
Scopri di più sulla creazione di bucket Cloud Storage.
Esegui i seguenti comandi per concedere al account di servizio l'accesso in lettura e scrittura agli artefatti della pipeline nel bucket creato nel passaggio precedente.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/storage.objectUser
Sostituisci i seguenti valori:
- SERVICE_ACCOUNT_ID: l'ID dell'account di servizio.
- PROJECT_ID: il progetto in cui è stato creato l'account di servizio.
- BUCKET_NAME: il nome del bucket a cui stai concedendo l'accesso al tuoaccount di serviziot.
In alternativa, se preferisci utilizzare il account di servizio predefinito di Compute Engine per eseguire le pipeline, esegui il comando
gcloud iam service-accounts list
per individuare il numero di progetto per questo account.gcloud iam service-accounts list
Il account di servizio Compute Engine predefinito ha un nome simile al seguente:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
.Esegui il comando seguente per concedere all'account di servizio predefinito di Compute Engine l'accesso in lettura e scrittura agli artefatti della pipeline nel bucket creato nel passaggio precedente.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/storage.objectUser
Sostituisci i seguenti valori:
- PROJECT_NUMBER: il numero di progetto per il account di servizio predefinito Compute Engine.
- BUCKET_NAME: il nome del bucket a cui stai concedendo l'accesso al tuoaccount di serviziot.
Scopri di più sul controllo dell'accesso ai bucket Cloud Storage.
Utilizza la seguente chiamata REST per creare l'archivio dei metadati predefinito del progetto utilizzando la tua CMEK.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: La tua regione.
- PROJECT_ID: il tuo ID progetto
- KEY_RING: il nome del portachiavi Cloud Key Management Service in cui si trova la chiave di crittografia.
- KEY_NAME: il nome della chiave di crittografia che vuoi utilizzare per questo archivio di metadati.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores?metadata_store_id=default
Corpo JSON della richiesta:
{ "encryption_spec": { "kms_key_name": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME" }, }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATIONS_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateMetadataStoreOperationMetadata", "genericMetadata": { "createTime": "2021-05-18T18:47:14.494997Z", "updateTime": "2021-05-18T18:47:14.494997Z" } } }
Configura un account di servizio con autorizzazioni granulari
Quando esegui una pipeline, puoi specificare un account di servizio. L'esecuzione della pipeline agisce con le autorizzazioni di questoaccount di serviziot.
Se non specifichi un account di servizio, l'esecuzione della pipeline utilizza il service account predefinito di Compute Engine. Per ulteriori informazioni sul account di servizio Compute Engine predefinito, consulta Utilizzo del service account Compute Engine predefinito.
Configura un bucket Cloud Storage per gli artefatti della pipeline
Vertex AI Pipelines archivia gli artefatti delle esecuzioni della pipeline utilizzando Cloud Storage. Segui le istruzioni riportate di seguito per creare un bucket Cloud Storage e concedere al tuo account di servizio (o al account di servizio Compute Engine predefinito) l'accesso in lettura e scrittura agli oggetti in quel bucket.
Crea un archivio di metadati che utilizza una chiave di crittografia gestita dal cliente (facoltativo)
Segui le istruzioni riportate di seguito per creare una chiave CMEK e configurare un archivio di metadati Vertex ML Metadata che utilizza questa chiave CMEK.