Etapa 4: configurar componentes
Esta página descreve a quarta etapa para implantar o Cortex Framework Data Foundation, o núcleo do Cortex Framework. Nesta etapa, você configura os serviços necessários Google Cloud para a implantação.
Ativar Google Cloud serviços
Nesta seção, você ativa os seguintes Google Cloud serviços no seu Google Cloud projeto:
- Instância e conjuntos de dados do BigQuery
- API Cloud Build
- Buckets do Cloud Storage
- Conta de serviço
- API Resource Manager
- Execuções de fluxo de trabalho (se você estiver implantando o Cortex para o Meridian)
- AI Platform (se você estiver implantando Cortex para o Meridian)
Ative estes Google Cloud serviços usando o Cloud Shell:
Copie e cole este 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.comSubstitua
SOURCE_PROJECTpelo ID do projeto de origem.Verifique se os Google Cloud serviços estão ativados se você receber uma mensagem de sucesso.
Opcional. Você pode ativar os seguintes Google Cloud serviços no seu Google Cloud projeto:
- Airflow Gerenciado para processamento de captura de dados alterados (CDC), nivelamento de hierarquia (somente SAP), e replicação de dados (somente não SAP) usando gráficos acíclicos direcionados (DAGs). Para configurar uma instância, consulte a documentação do Airflow Gerenciado.
- Looker para conexão a modelos de relatórios.
- Os conjuntos de dados vinculados do BigQuery Sharing (antigo Analytics Hub) são usados para algumas fontes externas, como o DAG de clima. Você pode preencher essa estrutura com qualquer outra fonte disponível de sua escolha para cenários avançados.
- Dataflow: ferramenta de integração para muitos conjuntos de dados de marketing, como o Google Ads.
- Para o Cortex Framework com o Meridian:
- Colab Enterprise: execução do notebook do Colab Enterprise durante a execução e acesso ao seguinte:
- O notebook e o arquivo de configuração no Cloud Storage.
- Consultar visualizações e tabelas relevantes do BigQuery.
- Grave os resultados de volta no Cloud Storage.
- Workflows: execução do Workflow e do Cloud Build para acionar execuções de notebooks do Colab Enterprise.
Criar e configurar a conta de serviço do Cloud Build
O Cloud Build usa uma conta de serviço para executar builds em seu nome. Esta seção orienta você na criação de uma conta de serviço dedicada para implantações do Cortex Framework e na concessão das permissões necessárias à conta de serviço do Cloud Build.
Criar uma nova conta de serviço
Crie uma conta de serviço dedicada para implantar o Cortex Framework para maior segurança e controle. Depois de criar a nova conta de serviço
você pode especificá-la
conta de serviço
durante o processo de implantação usando o _BUILD_ACCOUNT parâmetro de substituição.
Crie essa nova conta de serviço usando o Google Cloud console ou a Google Cloud CLI.
Console
Acesse a página Contas de serviço.
As etapas restantes aparecem no Google Cloud console do.
Selecionar um Google Cloud projeto do
Insira uma conta de serviço e um nome de exibição, com descrição e no Google Cloud console. O Google Cloud console gera um ID de conta de serviço com base nesse nome. Edite o ID se for necessário. Não é possível mudar o ID mais tarde. Use os seguintes valores padrão para a conta de serviço:
- Nome: "cortex-deployer".
- Descrição: "Conta de serviço do implantador do Cortex".
- Nome de exibição: "Implantador do Cortex".
Conceda aos usuários acesso a esta conta de serviço.
- Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço.
- Atribua o papel Criador de token da conta de serviço. Para mais informações sobre esse papel, consulte Papéis de contas de serviço.
Clique em Concluído para terminar a criação da conta de serviço.
Se você já tiver uma conta de serviço, siga estas etapas:
- Acesse "Contas de serviço".
- Selecione a Conta de serviço.
- Clique na guia Principais com acesso.
- Clique em Permitir acesso.
- Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço.
- Atribua o papel Criador de token da conta de serviço.
gcloud
Crie uma conta de serviço usando uma política do IAM com o seguinte comando:
gcloud iam service-accounts create cortex-deployer \ --description="Cortex Deployer Service Account" \ --display-name="Cortex Deployer"Adicione a política do IAM ao seu Google Cloud projeto com o seguinte comando:
gcloud projects add-iam-policy-binding SOURCE_PROJECT \ --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \ --role="roles/cloudbuild.builds.editor"Adicione o ID de todos os usuários (incluindo o seu) que podem executar a implantação pela conta de serviço e atribua a eles o papel Criador de token da conta de serviço com o seguinte comando:
gcloud iam service-accounts add-iam-policy-binding cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountTokenCreator"Substitua:
SOURCE_PROJECTpelo projeto de origem para a implantação do Cortex Framework Data Foundation.USER_EMAILpelo e-mail do usuário que está executando.
Para mais informações sobre como criar uma nova conta de serviço, consulte Criar uma conta de serviço.
Conceder permissões
A conta de serviço do Cloud Build precisa de permissões específicas no projeto de origem (e no projeto de destino, se você estiver implantando em um projeto separado). Conceda os papéis a seguir usando o Google Cloud console ou a Google Cloud CLI:
- Conta de serviço do Cloud Build (
roles/cloudbuild.builds.builder) - Usuário da conta de serviço (
roles/iam.serviceAccountUser) - Editor de dados do BigQuery (
roles/bigquery.dataEditor) - Usuário de jobs do BigQuery (
roles/bigquery.jobUser) - Gravador de registros (
roles/logging.logWriter) - Administrador do Colab Enterprise (
roles/aiplatform.colabEnterpriseAdmin- se você estiver implantando o Cortex para o Meridian) - Usuário do objeto de armazenamento (
roles/storage.objectUser- se você estiver implantando o Cortex para o Meridian) Editor do Workflows (
roles/workflows.editor- se você estiver implantando o Cortex para o Meridian)
Console
No Google Cloud console, acesse a página IAM.
Selecione o projeto de origem.
Clique em Permitir acesso.
Adicione a conta de serviço padrão do Cloud Build da etapa anterior como uma nova principal.
No menu suspenso Selecionar um papel, pesquise Conta de serviço do Cloud Build, e clique em Conta de serviço do Cloud Build.
Repita a etapa anterior para adicionar o restante dos papéis:
- Usuário da conta de serviço
- Editor de dados do BigQuery
- Usuário de jobs do BigQuery
- Gravador de registros
- Administrador do Colab Enterprise (se você estiver implantando o Cortex para o Meridian)
- Usuário do objeto de armazenamento (se você estiver implantando o Cortex para o Meridian)
- Editor do Workflows (se você estiver implantando o Cortex para o Meridian)
Clique em Salvar.
Verifique se a conta de serviço e os papéis correspondentes estão listados na página do IAM. Você concedeu um papel do IAM.
gcloud
Use o comando a seguir para conceder os papéis à conta de serviço do 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"
Substitua:
SOURCE_PROJECTpelo ID do projeto de origem.CLOUD_BUILD_SApela conta de serviço do Cloud Build, no formatoCLOUD_BUILD_SA@SOURCE_PROJECT.gserviceaccount.com.
Para mais informações, consulte Conceder um papel à conta de serviço do Cloud Build usando a página do IAM e Definir e gerenciar políticas do IAM em buckets.
Criar uma conta de serviço adicional para o Cortex para o Meridian
Uma conta de serviço separada é necessária para o Meridian ao implantar o Cortex Framework. Se você não estiver implantando para o Meridian, pule esta etapa. Uma conta de serviço separada é necessária para o seguinte:
- Executar o Workflow e o Cloud Build para acionar execuções de notebooks do Colab Enterprise.
- Executar o notebook do Colab Enterprise com acesso a:
- Notebook e arquivo de configuração no Cloud Storage.
- Consultar visualizações e tabelas relevantes do BigQuery.
- Grave os resultados de volta no Cloud Storage.
Use o comando a seguir para criar uma conta de serviço para o Cortex para o 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"
Substitua:
SOURCE_PROJECTpelo ID do projeto em que o Cortex para o Meridian está implantado.cortex-meridian-colab-runner: opcionalmente, você pode usar um ID de conta de serviço diferente. Considere quecortex-meridian-colab-runneré o padrão e que a mudança pode exigir ajustes em outros comandos.
Os papéis mínimos necessários para uma conta de serviço dedicada para o Cortex para o Meridian são os seguintes:
- Leitor de dados do BigQuery (
roles/bigquery.dataViewer) - Usuário de jobs do BigQuery (
roles/bigquery.jobUser) - Usuário de sessão de leitura do BigQuery (
roles/bigquery.readSessionUser) - Editor do Cloud Build (
roles/cloudbuild.builds.editor) - Administrador do Colab Enterprise (
roles/aiplatform.colabEnterpriseAdmin) - Gravador de registros (
roles/logging.logWriter) - Administrador do ambiente de execução do notebook (
aiplatform.notebookRuntimeAdmin) - Administrador do Storage (
roles/storage.admin) - Usuário do objeto de armazenamento (
roles/storage.objectUser) - Agente de serviço do Colab da Vertex AI (
roles/aiplatform.colabServiceAgent)
Use o comando a seguir para conceder os papéis à conta de serviço dedicada para o Cortex para o 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'
Substitua:
SOURCE_PROJECTpelo ID do projeto em que o Cortex para o Meridian está implantado.cortex-meridian-colab-runnerpela sua conta de serviço para o Cortex para o Meridian.
Criar um bucket do Storage para armazenar arquivos relacionados ao DAG
Um bucket de armazenamento é necessário para armazenar scripts de DAG de processamento e outros arquivos temporários gerados durante a implantação. Esses scripts precisam ser movidos manualmente para uma instância do Airflow Gerenciado ou do Apache Airflow após a implantação.
É possível criar o bucket de armazenamento na Google Cloud CLI ou Google Cloud console seguindo estas etapas.
Console
Acesse o Cloud Storage.
Crie um bucket na mesma região dos conjuntos de dados do BigQuery.
Selecione o bucket criado.
Acesse a guia
Permissions.Conceda a permissão
Storage Object Creatorao ID do usuário que executa o comando de build ou à conta de serviço que você criou. Para mais informações, consulte Definir uma nova condição em um bucket: console.
gcloud
Crie um bucket no Cloud Shell com o seguinte comando:
gcloud storage buckets create gs://COMPOSER_DAG_BUCKET -l REGION/MULTI_REGIONSubstitua:
COMPOSER_DAG_BUCKETpelo nome do novo bucket.REGION/MULTI_REGIONpela mesma região dos conjuntos de dados do BigQuery.
Use o comando a seguir para atribuir a permissão
Storage Object Creatorà conta de serviço:gcloud storage buckets add-iam-policy-binding gs://COMPOSER_DAG_BUCKET \ --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \ --role=roles/storage.objectCreatorSubstitua:
cortex-deployerpela conta de serviço do Cloud Build.COMPOSER_DAG_BUCKETpelo nome do novo bucket.
Criar um bucket do Storage para registros
É possível criar um bucket específico para o processo de build do Cloud Build armazenar os registros. Isso é útil se você quiser restringir os dados que podem ser armazenados em registros a uma região específica. É possível criar o bucket de armazenamento para registros na Google Cloud CLI ou Google Cloud console.
Console
Para criar um bucket específico para os registros, siga estas etapas:
Acesse o Cloud Storage.
Crie um bucket na mesma região em que a implantação seria executada.
Selecione o bucket criado.
Acesse a guia
Permissions.Conceda a permissão
Storage Object Adminao ID do usuário que executa o comando de build ou à conta de serviço que você criou. Para mais informações, consulte Definir uma nova condição em um bucket: console.
gcloud
Para criar um bucket específico para os registros, use os comandos a seguir.
Crie um bucket no Cloud Shell com o seguinte comando:
gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGIONSubstitua:
REGION/MULTI_REGIONpela região escolhida para criar o bucket.LOGS_BUCKET_NAMEpelo nome do novo bucket.
Use o comando a seguir para atribuir a permissão
Storage Object Adminà conta de serviço:gcloud storage buckets add-iam-policy-binding gs://LOGS_BUCKET_NAME \ --member="serviceAccount:cortex-deployer@SOURCE_PROJECT.iam.gserviceaccount.com" \ --role=roles/storage.objectAdminSubstitua:
cortex-deployerpela conta de serviço padrão do Cloud Build.LOGS_BUCKET_NAMEpelo nome do novo bucket.
Próximas etapas
Depois de concluir esta etapa, passe para as seguintes etapas de implantação:
- Estabelecer cargas de trabalho.
- Clonar repositório.
- Determinar o mecanismo de integração.
- Configurar componentes (esta página).
- Configurar a implantação.
- Executar a implantação.