Configurare il tuo progetto Google Cloud per Vertex AI Pipelines

Prima di utilizzare Vertex AI Pipelines per orchestrare le tue pipeline di machine learning (ML), devi configurare il tuo progetto Google Cloud. Alcune risorse, come l'archivio di metadati utilizzato da Vertex ML Metadata, vengono create nel progetto Google Cloud la prima volta che esegui una pipeline.

Usa le istruzioni seguenti per configurare il progetto per Vertex AI Pipelines.

  1. Crea il tuo progetto Google Cloud e configuralo per l'utilizzo con Vertex AI Pipelines.

  2. Se non specifichi un account di servizio, Vertex AI Pipelines utilizza l'account di servizio predefinito di Compute Engine per eseguire le tue pipeline. Per saperne di più sull'account di servizio predefinito di Compute Engine, vedi Utilizzo dell'account di servizio predefinito di Compute Engine.

    Ti consigliamo di creare un account di servizio per eseguire le pipeline e di concedere a questo account autorizzazioni granulari per le risorse Google Cloud necessarie per eseguire la pipeline.

  3. Vertex AI Pipelines utilizza Cloud Storage per archiviare gli artefatti delle esecuzioni della pipeline. Crea un bucket Cloud Storage e concedi al tuo account di servizio l'accesso a questo bucket.

  4. 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 di metadati del progetto non esiste, Vertex AI crea l'archivio di metadati del progetto.

    Se vuoi che i tuoi dati vengano criptati utilizzando una chiave di crittografia gestita dal cliente (CMEK), puoi creare manualmente l'archivio di metadati utilizzando una chiave CMEK prima di eseguire una pipeline. In caso contrario, se nel progetto non esiste un archivio di metadati predefinito, Vertex AI crea l'archivio di metadati del progetto utilizzando la chiave CMEK utilizzata quando esegui la pipeline per la prima volta. Dopo aver creato l'archivio di metadati, viene utilizzata una chiave CMEK diversa da quella utilizzata in un'esecuzione della pipeline.

Configura il progetto Google Cloud

Segui le istruzioni riportate di seguito per creare un progetto Google Cloud e configurarlo per l'utilizzo con Vertex AI Pipelines.

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Vertex AI and Cloud Storage.

    Abilita le API

  5. Installa Google Cloud CLI.
  6. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  7. Aggiorna e installa i componenti di gcloud:
    gcloud components update
    gcloud components install beta
  8. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  9. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  10. Abilita le API Vertex AI and Cloud Storage.

    Abilita le API

  11. Installa Google Cloud CLI.
  12. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  13. Aggiorna e installa i componenti di gcloud:
    gcloud components update
    gcloud components install beta

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 questo account di servizio.

Se non specifichi un account di servizio, l'esecuzione della pipeline utilizza l'account di servizio predefinito di Compute Engine. Per saperne di più sull'account di servizio predefinito di Compute Engine, vedi Utilizzo dell'account di servizio predefinito di Compute Engine.

  • Segui le istruzioni riportate di seguito per creare un account di servizio e concedergli autorizzazioni granulari alle risorse Google Cloud.

    1. 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 dell'account di servizio.
      • 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 account di servizio.

    2. Concedi al tuo account di servizio l'accesso a Vertex AI. Tieni presente che potrebbe essere necessario un po' di tempo per la propagazione della modifica dell'accesso. Per maggiori informazioni, consulta Propagazione delle modifiche 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 il tuo account di servizio.
      • SERVICE_ACCOUNT_ID: l'ID dell'account di servizio.
    3. Puoi utilizzare Artifact Registry per ospitare immagini container e modelli di pipeline Kubeflow.

      Per saperne di più su Artifact Registry, consulta la documentazione di Artifact Registry.

    4. Concedi al tuo account di servizio l'accesso a tutte le risorse 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 il tuo 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.
    5. Per utilizzare Vertex AI Pipelines per eseguire pipeline con questo account di servizio, esegui questo 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 il tuo account di servizio.
      • USER_EMAIL: l'indirizzo email dell'utente che esegue pipeline come questo account di servizio.
  • Se preferisci utilizzare l'account di servizio predefinito di Compute Engine per eseguire le pipeline, abilita l'API Compute Engine e concedi all'account di servizio predefinito l'accesso a Vertex AI. Tieni presente che potrebbe essere necessario un po' di tempo per la propagazione della modifica dell'accesso. Per maggiori informazioni, consulta Propagazione delle modifiche 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 il tuo account di servizio predefinito.
    • PROJECT_NUMBER: il numero del progetto in cui è stato creato il tuo account di servizio predefinito.

    Abilita l'API

configura un bucket Cloud Storage per gli artefatti della pipeline

Vertex AI Pipelines archivia gli artefatti dell'esecuzione 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 all'account di servizio predefinito di Compute Engine) l'accesso in lettura e scrittura agli oggetti in quel bucket.

  1. Esegui questo comando per creare un bucket Cloud Storage nella regione in cui vuoi eseguire le pipeline.

    gsutil mb -p PROJECT_ID -l BUCKET_LOCATION gs://BUCKET_NAME
    

    Sostituisci i seguenti valori:

    • PROJECT_ID: specifica il progetto a cui è associato il bucket.
    • BUCKET_LOCATION: specifica la località del bucket, ad esempio US-CENTRAL1.
    • BUCKET_NAME: il nome che vuoi assegnare al bucket, soggetto ai requisiti di denominazione. Ad esempio, my-bucket.

    Scopri di più sulla creazione di bucket Cloud Storage.

  2. Esegui i comandi seguenti per concedere al tuo account di servizio l'accesso in lettura e scrittura agli artefatti della pipeline nel bucket che hai creato nel passaggio precedente.

    gsutil iam ch \
    serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com:roles/storage.objectCreator,objectViewer \
    gs://BUCKET_NAME
    

    Sostituisci i seguenti valori:

    • SERVICE_ACCOUNT_ID: l'ID dell'account di servizio.
    • PROJECT_ID: il progetto in cui è stato creato il tuo account di servizio.
    • BUCKET_NAME: il nome del bucket a cui stai concedendo l'accesso al tuo account di servizio.

    In alternativa, se preferisci utilizzare l'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 quell'account.

    gcloud iam service-accounts list
    

    L'account di servizio predefinito di Compute Engine è denominato in questo modo: PROJECT_NUMBER-compute@developer.gserviceaccount.com.

    Esegui questo comando per concedere all'account di servizio predefinito di Compute Engine l'accesso in lettura e scrittura agli artefatti della pipeline nel bucket che hai creato nel passaggio precedente.

    gsutil iam ch \
    serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com:roles/storage.objectCreator,objectViewer \
    gs://BUCKET_NAME
    

    Sostituisci i seguenti valori:

    • PROJECT_NUMBER: il numero di progetto dell'account di servizio predefinito di Compute Engine.
    • BUCKET_NAME: il nome del bucket a cui stai concedendo l'accesso al tuo account di servizio.

    Scopri di più su come controllare l'accesso ai bucket Cloud Storage.

(Facoltativo) Crea un archivio di metadati che utilizza una CMEK

Usa le istruzioni seguenti per creare una CMEK e configurare un archivio di metadati Vertex ML che utilizza questa CMEK.

  1. Utilizza Cloud Key Management Service per configurare una chiave di crittografia gestita dal cliente.

  2. Utilizza la chiamata REST seguente per creare l'archivio di metadati predefinito del tuo progetto utilizzando la tua CMEK.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • LOCATION_ID: la tua regione.
    • PROJECT_ID: il tuo ID progetto.
    • KEY_RING: il nome del keyring di Cloud Key Management Service su cui è attiva la chiave di crittografia.
    • KEY_NAME: il nome della chiave di crittografia da utilizzare per l'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"
        }
      }
    }