Antes de usar o Vertex AI Pipelines para orquestrar os seus pipelines de aprendizagem automática (AA), tem de configurar o seu Google Cloud projeto. Alguns recursos, como o armazenamento de metadados usado pelos metadados do Vertex ML, são criados no seu Google Cloud projeto na primeira vez que executa um pipeline.
Siga as instruções abaixo para configurar o seu projeto para os Vertex AI Pipelines.
Crie o seu Google Cloud projeto e configure-o para utilização com o Vertex AI Pipelines.
Se não especificar uma conta de serviço, o Vertex AI Pipelines usa a conta de serviço predefinida do Compute Engine para executar os seus pipelines. Para mais informações acerca da conta de serviço predefinida do Compute Engine, consulte o artigo Usar a conta de serviço predefinida do Compute Engine.
O Vertex AI Pipelines usa o Cloud Storage para armazenar os artefactos das execuções do pipeline. Crie um contentor do Cloud Storage e conceda à sua conta de serviço acesso a este contentor.
O Vertex AI Pipelines usa o Vertex ML Metadata para armazenar os metadados criados pelas execuções do pipeline. Quando executa um pipeline pela primeira vez, se o arquivo de metadados do seu projeto não existir, o Vertex AI cria o arquivo de metadados do projeto.
Se quiser que os seus dados sejam encriptados com uma chave de encriptação gerida pelo cliente (CMEK), pode criar manualmente o seu repositório de metadados com uma chave CMEK antes de executar um pipeline. Caso contrário, se não existir um arquivo de metadados predefinido no seu projeto, o Vertex AI cria o arquivo de metadados do seu projeto com a chave CMEK usada quando executa o pipeline pela primeira vez. Depois de criado, o repositório de metadados usa uma chave CMEK diferente da chave CMEK usada numa execução da pipeline.
Configure o seu Google Cloud projeto
Siga as instruções abaixo para criar um Google Cloud projeto e configurá-lo para utilização com o 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
Depois de inicializar a CLI gcloud, atualize-a e instale os componentes necessários:
gcloud components update gcloud components install beta
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
Depois de inicializar a CLI gcloud, atualize-a e instale os componentes necessários:
gcloud components update gcloud components install beta
Use as seguintes instruções para criar uma conta de serviço e conceder-lhe autorizações detalhadas aos Google Cloud recursos.
Execute o seguinte comando para criar uma conta de serviço.
gcloud iam service-accounts create SERVICE_ACCOUNT_ID \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME" \ --project=PROJECT_ID
Substitua os seguintes valores:
- SERVICE_ACCOUNT_ID: o ID da conta de serviço.
- DESCRIPTION: (opcional.) Uma descrição da conta de serviço.
- DISPLAY_NAME: o nome a apresentar para esta conta de serviço.
- PROJECT_ID: o projeto no qual criar a sua conta de serviço.
Saiba mais sobre como criar uma conta de serviço.
Conceda à sua conta de serviço acesso ao Vertex AI. Tenha em atenção que a alteração de acesso pode demorar algum tempo a propagar-se. Para mais informações, consulte o artigo Propagação de alterações de acesso.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Substitua os seguintes valores:
- PROJECT_ID: o projeto no qual a sua conta de serviço foi criada.
- SERVICE_ACCOUNT_ID: o ID da conta de serviço.
Pode usar o Artifact Registry para alojar imagens de contentores e modelos do Kubeflow Pipelines.
Para mais informações sobre o Artifact Registry, consulte a documentação do Artifact Registry.
Conceda à sua conta de serviço acesso a quaisquer Google Cloud recursos que use nos seus pipelines.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Substitua os seguintes valores:
- PROJECT_ID: o projeto no qual a sua conta de serviço foi criada.
- SERVICE_ACCOUNT_ID: o ID da conta de serviço.
- ROLE_NAME: a função de gestão de identidades e acessos a conceder a esta conta de serviço.
Para usar o Vertex AI Pipelines para executar pipelines com esta conta de serviço, execute o seguinte comando para conceder à sua conta de utilizador a função roles/iam.serviceAccountUser para a sua conta de serviço.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Substitua os seguintes valores:
- SERVICE_ACCOUNT_ID: o ID da conta de serviço.
- PROJECT_ID: o projeto no qual a sua conta de serviço foi criada.
- USER_EMAIL: o endereço de email do utilizador que executa pipelines como esta conta de serviço.
Se preferir usar a conta de serviço predefinida do Compute Engine para executar os seus pipelines, ative a API Compute Engine e conceda à sua conta de serviço predefinida acesso ao Vertex AI. Tenha em atenção que a alteração de acesso pode demorar algum tempo a propagar-se. Para mais informações, consulte o artigo Propagação de alterações de acesso.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/aiplatform.user"
Substitua os seguintes valores:
- PROJECT_ID: o projeto no qual a sua conta de serviço predefinida foi criada.
- PROJECT_NUMBER: o número do projeto no qual a sua conta de serviço predefinida foi criada.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.Execute o seguinte comando para criar um contentor do Cloud Storage na região em que quer executar os pipelines.
gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION --project=PROJECT_ID
Substitua os seguintes valores:
- PROJECT_ID: especifique o projeto ao qual o seu contentor está associado.
- BUCKET_LOCATION: especifique a localização do seu contentor, por exemplo,
US-CENTRAL1
. - BUCKET_NAME: o nome que quer dar ao seu contentor, sujeito aos requisitos de nomenclatura. Por exemplo,
my-bucket
.
Saiba como criar contentores do Cloud Storage.
Execute os seguintes comandos para conceder à sua conta de serviço acesso para ler e escrever artefactos do pipeline no contentor que criou no passo anterior.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/storage.objectUser
Substitua os seguintes valores:
- SERVICE_ACCOUNT_ID: o ID da conta de serviço.
- PROJECT_ID: o projeto no qual a sua conta de serviço foi criada.
- BUCKET_NAME: o nome do contentor ao qual está a conceder acesso à sua conta de serviço.
Em alternativa, se preferir usar a conta de serviço predefinida do Compute Engine para executar os seus pipelines, execute o comando
gcloud iam service-accounts list
para localizar o número do projeto dessa conta.gcloud iam service-accounts list
A conta de serviço predefinida do Compute Engine tem um nome semelhante ao seguinte:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
.Execute o seguinte comando para conceder à conta de serviço predefinida do Compute Engine acesso para ler e escrever artefactos do pipeline no contentor que criou no passo anterior.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/storage.objectUser
Substitua os seguintes valores:
- PROJECT_NUMBER: o número do projeto da conta de serviço predefinida do Compute Engine.
- BUCKET_NAME: o nome do contentor ao qual está a conceder acesso à sua conta de serviço.
Saiba como controlar o acesso a contentores do Cloud Storage.
Use o Cloud Key Management Service para configurar uma chave de encriptação gerida pelo cliente.
Use a seguinte chamada REST para criar o arquivo de metadados predefinido do seu projeto com a sua CMEK.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: o seu ID do projeto.
- KEY_RING: o nome do conjunto de chaves do Cloud Key Management Service no qual se encontra a sua chave de encriptação.
- KEY_NAME: o nome da chave de encriptação que quer usar para esta loja de metadados.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores?metadata_store_id=default
Corpo JSON do pedido:
{ "encryption_spec": { "kms_key_name": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME" }, }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" } } }
Configure uma conta de serviço com autorizações detalhadas
Quando executa um pipeline, pode especificar uma conta de serviço. A execução do pipeline atua com as autorizações desta conta de serviço.
Se não especificar uma conta de serviço, a execução da pipeline usa a conta de serviço predefinida do Compute Engine. Para mais informações acerca da conta de serviço predefinida do Compute Engine, consulte o artigo Usar a conta de serviço predefinida do Compute Engine.
Configure um contentor do Cloud Storage para artefactos do pipeline
O Vertex AI Pipelines armazena os artefactos das execuções do pipeline usando o Cloud Storage. Use as instruções seguintes para criar um contentor do Cloud Storage e conceder à sua conta de serviço (ou à conta de serviço predefinida do Compute Engine) acesso para ler e escrever objetos nesse contentor.
Crie um repositório de metadados que use uma CMEK (opcional)
Siga as instruções abaixo para criar uma CMEK e configurar um arquivo de metadados do Vertex ML Metadata que use esta CMEK.