Avant d'utiliser Vertex AI Pipelines pour orchestrer vos pipelines de machine learning (ML), vous devez configurer votre projet Google Cloud. Certaines ressources, telles que le magasin de métadonnées utilisé par Vertex ML Metadata, sont créées dans votre projet Google Cloud la première fois que vous exécutez un pipeline.
Suivez les instructions ci-dessous pour configurer votre projet pour Vertex AI Pipelines.
Créez votre projet Google Cloud et configurez-le pour une utilisation avec Vertex AI Pipelines.
Si vous ne spécifiez pas de compte de service, Vertex AI Pipelines utilise le compte de service Compute Engine par défaut pour exécuter vos pipelines. Pour plus d'informations sur le compte de service par défaut de Compute Engine, consultez la section Utiliser le compte de service par défaut de Compute Engine.
Nous vous recommandons de créer un compte de service pour exécuter vos pipelines, puis d'accorder à ce compte des autorisations précises sur les ressources Google Cloud nécessaires à l'exécution de votre pipeline.
Vertex AI Pipelines stocke les artefacts de vos exécutions de pipeline à l'aide de Cloud Storage. Créez un bucket Cloud Storage et accordez à votre compte de service l'accès à ce bucket.
Vertex AI Pipelines utilise Vertex ML Metadata pour stocker les métadonnées créées par vos exécutions de pipeline. Lorsque vous exécutez un pipeline pour la première fois, si le magasin de métadonnées de votre projet n'existe pas, Vertex AI le crée.
Si vous souhaitez que vos données soient chiffrées à l'aide d'une clé de chiffrement gérée par le client (CMEK), vous pouvez créer manuellement votre magasin de métadonnées à l'aide d'une clé CMEK avant d'exécuter un pipeline. Sinon, s'il n'existe aucun magasin de métadonnées par défaut dans votre projet, Vertex AI crée le magasin de métadonnées de votre projet à l'aide de la clé CMEK utilisée lors de la première exécution du pipeline. Une fois le magasin de métadonnées créé, il utilise une clé CMEK différente de celle utilisée dans une exécution de pipeline.
Configurer un projet Google Cloud
Suivez les instructions ci-dessous pour créer un projet Google Cloud et le configurer pour l'utiliser avec 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.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Update and install
gcloud
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.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Update and install
gcloud
components:gcloud components update
gcloud components install beta
Configurer un compte de service avec des autorisations précises
Lorsque vous exécutez un pipeline, vous pouvez spécifier un compte de service. L'exécution de votre pipeline agit avec les autorisations de ce compte de service.
Si vous ne spécifiez pas de compte de service, l'exécution du pipeline utilise le compte de service par défaut de Compute Engine. Pour plus d'informations sur le compte de service par défaut de Compute Engine, consultez la section Utiliser le compte de service par défaut de Compute Engine.
Suivez les instructions ci-dessous pour créer un compte de service et lui accorder des autorisations précises pour les ressources Google Cloud.
Exécutez la commande suivante pour créer un compte de service.
gcloud iam service-accounts create SERVICE_ACCOUNT_ID \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME" \ --project=PROJECT_ID
Remplacez les valeurs suivantes :
- SERVICE_ACCOUNT_ID : ID du compte de service.
- DESCRIPTION : facultatif. Description du compte de service.
- DISPLAY_NAME : nom à afficher pour ce compte de service.
- PROJECT_ID : projet dans lequel créer votre compte de service.
Découvrez comment créer un compte de service.
Accordez à votre compte de service l'accès à Vertex AI. Notez que la propagation de la modification d'accès peut prendre un certain temps. Pour en savoir plus, consultez la page Propagation du changement d'accès.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Remplacez les valeurs suivantes :
- PROJECT_ID : projet dans lequel votre compte de service a été créé.
- SERVICE_ACCOUNT_ID : ID du compte de service.
Vous pouvez utiliser Artifact Registry pour héberger des images de conteneurs et des modèles Kubeflow Pipelines.
Pour en savoir plus sur Artifact Registry, consultez la documentation d'Artifact Registry.
Accordez à votre compte de service l'accès à toutes les ressources Google Cloud que vous utilisez dans vos pipelines.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Remplacez les valeurs suivantes :
- PROJECT_ID : projet dans lequel votre compte de service a été créé.
- SERVICE_ACCOUNT_ID : ID du compte de service.
- ROLE_NAME : rôle IAM (Identity and Access Management) à accorder à ce compte de service.
Pour utiliser Vertex AI Pipelines afin d'exécuter des pipelines avec ce compte de service, exécutez la commande suivante afin d'accorder à votre compte utilisateur le rôle roles/iam.serviceAccountUser pour votre compte de service.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Remplacez les valeurs suivantes :
- SERVICE_ACCOUNT_ID : ID du compte de service.
- PROJECT_ID : projet dans lequel votre compte de service a été créé.
- USER_EMAIL : adresse e-mail de l'utilisateur qui exécute les pipelines en tant que compte de service.
Si vous préférez utiliser le compte de service Compute Engine par défaut pour exécuter vos pipelines, activez l'API Compute Engine et accordez à votre compte de service par défaut l'accès à Vertex AI. Notez que la propagation de la modification d'accès peut prendre un certain temps. Pour en savoir plus, consultez la page Propagation du changement d'accès.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/aiplatform.user"
Remplacez les valeurs suivantes :
- PROJECT_ID : projet dans lequel votre compte de service par défaut a été créé.
- PROJECT_NUMBER : numéro du projet dans lequel votre compte de service par défaut a été créé.
Configurer un bucket Cloud Storage pour les artefacts de pipeline
Vertex AI Pipelines stocke les artefacts des exécutions de votre pipeline à l'aide de Cloud Storage. Suivez les instructions ci-dessous pour créer un bucket Cloud Storage et accorder à votre compte de service (ou au compte de service Compute Engine par défaut) l'accès en lecture et en écriture aux objets qu'il contient.
Exécutez la commande suivante pour créer un bucket Cloud Storage dans la région dans laquelle vous souhaitez exécuter vos pipelines.
gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION --project=PROJECT_ID
Remplacez les valeurs suivantes :
- PROJECT_ID : spécifiez le projet auquel le bucket est associé.
- BUCKET_LOCATION : spécifiez l'emplacement de votre bucket (par exemple,
US-CENTRAL1
). - BUCKET_NAME est le nom que vous souhaitez attribuer à votre bucket, soumis aux règles de dénomination. Exemple :
my-bucket
.
Découvrez comment créer des buckets Cloud Storage.
Exécutez les commandes suivantes pour autoriser votre compte de service à accéder en lecture et en écriture aux artefacts de pipeline dans le bucket que vous avez créé à l'étape précédente.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/storage.objectUser
Remplacez les valeurs suivantes :
- SERVICE_ACCOUNT_ID : ID du compte de service.
- PROJECT_ID : projet dans lequel votre compte de service a été créé.
- BUCKET_NAME : nom du bucket auquel vous accordez l'accès à votre compte de service.
Si vous préférez utiliser le compte de service Compute Engine par défaut pour exécuter vos pipelines, exécutez la commande
gcloud iam service-accounts list
pour localiser le numéro de projet de ce compte.gcloud iam service-accounts list
Le compte de service Compute Engine par défaut est nommé comme suit :
PROJECT_NUMBER-compute@developer.gserviceaccount.com
.Exécutez la commande suivante pour accorder au compte de service Compute Engine par défaut l'accès en lecture et en écriture aux artefacts de pipeline dans le bucket que vous avez créé à l'étape précédente.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/storage.objectUser
Remplacez les valeurs suivantes :
- PROJECT_NUMBER : numéro du projet du compte de service Compute Engine par défaut.
- BUCKET_NAME : nom du bucket auquel vous accordez l'accès à votre compte de service.
Apprenez-en plus sur le contrôle des accès aux buckets Cloud Storage.
Créer un magasin de métadonnées utilisant une clé CMEK (facultatif)
Suivez les instructions ci-dessous pour créer une clé CMEK et configurer un magasin de métadonnées Vertex ML Metadata utilisant cette clé CMEK.
Utilisez Cloud Key Management Service pour configurer une clé de chiffrement gérée par le client.
Utilisez l'appel REST suivant pour créer le magasin de métadonnées par défaut de votre projet à l'aide de votre clé CMEK.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : votre région.
- PROJECT_ID : l'ID de votre projet.
- KEY_RING : nom du trousseau de clés Cloud Key Management Service sur lequel votre clé de chiffrement est activée.
- KEY_NAME : nom de la clé de chiffrement que vous souhaitez utiliser pour ce magasin de métadonnées.
Méthode HTTP et URL :
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores?metadata_store_id=default
Corps JSON de la requête :
{ "encryption_spec": { "kms_key_name": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME" }, }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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" } } }