Este documento descreve como configurar um projeto host no App Hub e criar um limite de vários projetos boundary.
O projeto host é um modelo de configuração de aplicativo legado com suporte para usuários atuais do App Hub. Recomendamos definir limites no nível da pasta configurando uma pasta habilitada para apps para novas implementações. Os limites no nível da pasta fornecem acesso ao conjunto completo de recursos do Google Cloud centrados em aplicativos, como o App Design Center e o Gemini Cloud Assist. Para uma comparação das principais diferenças entre os modelos disponíveis para gerenciamento de aplicativos, consulte Escolher o modelo de configuração de aplicativos.
Visão geral dos projetos host e de serviço
Um projeto host é um Google Cloud projeto ao qual você anexa outros projetos que contêm os serviços e as cargas de trabalho que você quer agrupar como aplicativos do App Hub. Os projetos anexados ao projeto host são chamados de projetos de serviço. A anexação do projeto host e dos projetos de serviço define um limite de vários projetos boundary.
Um projeto host pode gerenciar os próprios recursos diretamente anexando a si mesmo. No entanto, para uma configuração de projeto único, recomendamos usar a abordagem de projeto único.
Antes de começar
Antes de configurar um Google Cloud projeto como um projeto host e anexar projetos de serviço a ele, conclua as seguintes etapas:
- Identifique o Google Cloud projeto que você quer usar como projeto host. É possível usar um projeto atual ou criar um novo projeto.
Identifique os Google Cloud projetos que você quer anexar ao projeto host como projetos de serviço. É necessário identificar todos os projetos que contêm os serviços e as cargas de trabalho que você pretende registrar nos aplicativos do App Hub. Os recursos em outros projetos não ficarão visíveis para o App Hub. Os projetos de serviço têm os seguintes requisitos:
- Os projetos de serviço precisam estar na mesma organização que o projeto host.
- Um projeto de serviço só pode ser anexado a um projeto host por vez.
- Um projeto host pode atuar como um projeto de serviço para gerenciar os próprios recursos, mas não é possível anexá-lo como um projeto de serviço a qualquer outro projeto host.
- Escolha um projeto host e projetos de serviço que não sejam descendentes de pastas configuradas para gerenciamento de aplicativos. Essa separação garante que todos os recursos em uma pasta sejam gerenciados com o mesmo tipo de modelo de configuração.
Funções exigidas
Para receber as permissões necessárias para anexar projetos de serviço ao projeto host,
peça ao administrador para conceder a você o
papel do IAM de administrador do App Hub (roles/apphub.admin) no projeto host e em cada projeto de serviço que você quer anexar.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.
Configurar o projeto host
Para configurar um Google Cloud projeto como um projeto host, siga estas etapas:
Console
No Google Cloud console, use o seletor de projetos para selecionar seu projeto.
Navegue até a página Visão geral do App Hub:
Clique em Configurar o App Hub.
Na página Ativar o App Hub, escolha Configuração completa para criar um limite de vários projetos.
Anote o nome e o ID do projeto. Essas informações identificam o projeto host, e você vai usar esses valores para conceder acesso.
Analise a lista de APIs que estão sendo ativadas. Algumas APIs têm custos associados. Saiba mais sobre os custos das APIs ou clique em cada API para ver os custos associados.
Clique em Continuar.
Na guia Definir limite, verifique as informações do projeto.
Clique em Adicionar projeto para adicionar projetos de serviço ao limite ou adicioná-los mais tarde.
Clique em Continuar.
Na guia Conceder acesso, escolha os papéis e permissões do IAM adequados para administradores no projeto. Para uma lista de papéis recomendados centrados em aplicativos em todos os Google Cloud produtos, consulte Conceder papéis centrados em aplicativos aos usuários.
Na caixa Novos principais , insira os usuários, grupos ou contas de serviço que precisam ter acesso de administrador a tarefas centradas em aplicativos no projeto.
Clique em Conceder papéis e em Concluir.
Mais tarde, é possível conceder outros papéis do IAM aos principais na página IAM. Para mais informações, consulte Conceder um papel do IAM usando o Google Cloud console.
gcloud
-
No Google Cloud console, ative o Cloud Shell.
Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Verifique se a versão mais recente da Google Cloud CLI está instalada:
gcloud components updateEncontre o ID do projeto que você quer configurar como projeto host . Google Cloud
Defina o projeto host como o projeto padrão para comandos:
gcloud config set project HOST_PROJECT_IDSubstitua
HOST_PROJECT_IDpelo ID do projeto que você quer configurar como projeto host.Ative a API App Hub no projeto host:
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Adicionar projetos de serviço
Adicione projetos de serviço ao seu limite de gerenciamento de aplicativos anexando-os ao projeto host.
Para anexar projetos de serviço ao projeto host e criar um limite de vários projetos, siga estas etapas:
Console
No Google Cloud console, use o seletor de projetos para selecionar o projeto host.
Navegue até a página Configurações de limite do App Hub:
Clique em Adicionar projeto.
Selecione os projetos de serviço que você quer anexar ao projeto host e adicionar ao limite de uma das seguintes maneiras:
- Na lista de projetos, selecione as caixas de seleção dos projetos que você quer anexar como projetos de serviço.
- Filtre os nomes dos projetos e selecione as caixas de seleção.
Clique em Selecionar.
A tabela Projetos no limite mostra os projetos de serviço selecionados. O processo de anexação pode levar algum tempo para ser concluído.
Verifique se a lista de projetos de serviço está completa.
gcloud
- Encontre o ID do projeto de cada um dos Google Cloud projetos que você quer configurar como projetos de serviço.
Anexe cada projeto de serviço:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDSubstitua:
SERVICE_PROJECT_ID: o ID do projeto de serviço a ser anexado.HOST_PROJECT_ID: o ID do projeto host.
Repita o processo anterior para cada projeto de serviço que você quer anexar ao projeto host.
Terraform
Para anexar um projeto de serviço a um projeto host usando o Terraform, use
o recurso google_apphub_service_project_attachment,
por exemplo:
resource "google_apphub_service_project_attachment" "example" {
service_project_attachment_id = google_project.service_project.project_id
depends_on = [time_sleep.wait_120s]
}
resource "google_project" "service_project" {
project_id ="project-1"
name = "Service Project"
org_id = "123456789"
deletion_policy = "DELETE"
}
resource "time_sleep" "wait_120s" {
depends_on = [google_project.service_project]
create_duration = "120s"
}
Para desanexar um projeto de serviço de um projeto host, consulte Remover projetos de serviço.
Atribuir papéis e permissões do App Hub
Para conceder papéis e permissões adequados do App Hub aos usuários do App Hub no projeto host e nos projetos de serviço, siga estas etapas:
Console
No Google Cloud console, use o seletor de projetos para selecionar o projeto host.
Navegue até a página IAM:
Clique em Conceder acesso. O painel Conceder acesso será aberto.
No campo Novos principais, insira o endereço de e-mail do principal a quem você quer conceder acesso ao App Hub.
Clique em Selecionar um papel e insira App Hub no campo Filtro.
Selecione o papel do IAM do App Hub que você pretende atribuir ao principal e clique em Salvar.
Em cada um dos projetos de serviço do App Hub anexados ao projeto host, repita o processo anterior para conceder os mesmos papéis aos mesmos usuários.
gcloud
Encontre o ID do projeto de cada um dos Google Cloud projetos que você configurou como projetos host e de serviço.
Conceda acesso aos principais no projeto host:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'Substitua:
HOST_PROJECT_ID: o ID do projeto host.EMAIL_ADDRESS: o endereço de e-mail do principal que precisa receber acesso ao App Hub no projeto host. Esse valor precisa ter o formatousername@yourdomain, por exemplo,my.user@example.com.ROLE_NAME: o papel do IAM do App Hub que você quer atribuir ao principal, por exemplo,roles/apphub.admin.
Em cada um dos projetos de serviço do App Hub anexados ao projeto host, conceda os mesmos papéis aos mesmos usuários:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'Substitua
SERVICE_PROJECT_IDpelo ID do projeto de serviço ao qual você está concedendo acesso.
Configurar o VPC Service Controls
Para proteger seus aplicativos com um perímetro do VPC Service Controls, adicione o projeto host e os projetos de serviço do App Hub ao perímetro antes de criar os aplicativos. Para mais informações, consulte Usar o VPC Service Controls com o App Hub.
Opcional: configurar o escopo de métricas
Para visualizar as métricas do sistema para aplicativos no projeto host no Cloud Monitoring, adicione os projetos de serviço anexados ao escopo de métricas do projeto host. O projeto host serve como um projeto de escopo para dados de série temporal, permitindo a criação de gráficos e o monitoramento de dados. Para mais informações e instruções de configuração, consulte Configurar um escopo de métricas e Configurar um escopo de métricas usando a API.
Remover projetos de serviço
Remova projetos de serviço do limite de gerenciamento de aplicativos desanexando-os do projeto host.
Para desanexar um projeto de serviço de um projeto host, siga estas etapas:
Console
No Google Cloud console, use o seletor de projetos para selecionar o projeto host.
Navegue até a página Configurações de limite do App Hub:
Selecione as caixas de seleção dos projetos de serviço que você quer desanexar do projeto host e remover do limite.
Clique em Desanexar projetos.
A tabela Projetos no limite é atualizada para mostrar apenas os projetos que permanecem anexados ao projeto host.
Verifique se a lista de projetos de serviço foi atualizada.
gcloud
- Encontre o ID do projeto de cada um dos projetos de serviço que você quer remover do host project.
Remova cada projeto de serviço:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDSubstitua:
SERVICE_PROJECT_ID: o ID do projeto de serviço a ser removido.HOST_PROJECT_ID: o ID do projeto host.
Repita o processo anterior para cada projeto de serviço que você quer remover do projeto host.
Ao remover um projeto de serviço de um projeto host, considere removê-lo também do escopo de métricas do projeto host, se você tiver configurado o escopo de métricas anteriormente . Para mais informações, consulte Remover projetos de um escopo de métricas.
A seguir
- Registrar recursos atuais em um aplicativo
- Configurar o monitoramento de aplicativos
- Permissões e papéis do IAM do App Hub
- Visão geral do App Hub