Etapa 4: configurar componentes
Esta página descreve a quarta etapa para implantar o Cortex Framework Data Foundation, o núcleo do Cortex Framework. Nessa 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 serviços a seguir no seu Google Cloud projeto: Google Cloud
- 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 serviços a seguir no seu Google Cloud projeto: Google Cloud
- Cloud Composer 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 Cloud Composer.
- 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.
- Gravar 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 de criador de token da conta de serviço. Para mais informações sobre esse papel, consulte Papéis da conta 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 de 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 de 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 um novo 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.
- Gravar 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 de 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 Cloud Composer ou do Apache Airflow após a implantação.
É possível criar o bucket de armazenamento na Google Cloud CLI ou no 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 está executando 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 noconsole. Google Cloud
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 está executando 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, avance para as seguintes etapas de implantação:
- Estabelecer cargas de trabalho.
- Clonar o repositório.
- Determinar o mecanismo de integração.
- Configurar componentes (esta página).
- Configurar a implantação.
- Executar a implantação.