Este documento descreve como configurar um projeto host no App Hub.
O projeto host é um modelo legado de configuração de aplicativos compatível com usuários atuais do App Hub. Recomendamos definir limites no nível da pasta configurando uma pasta com app ativado para novas implementações. Os limites no nível da pasta oferecem acesso ao conjunto completo de recursos do Google Cloud centrados em aplicativos, como o Application Design Center e o Gemini Cloud Assist. Para comparar as principais diferenças entre os modelos disponíveis para gerenciamento de aplicativos, consulte Escolher seu modelo de configuração de aplicativo.
Visão geral dos projetos host e de serviço
Um projeto host é um projeto Google Cloud ao qual você anexa outros projetos que contêm os serviços e cargas de trabalho que você quer agrupar como aplicativos do App Hub. Os projetos que você anexa ao projeto host são chamados de projetos de serviço.
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 projeto Google Cloud como host e anexar projetos de serviço a ele, conclua as etapas a seguir:
- Identifique o projeto do Google Cloud que você quer usar como projeto host. É possível usar um projeto atual ou criar um novo.
Identifique os projetos Google Cloud que você quer anexar ao projeto host como projetos de serviço. Identifique 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 ficam 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 do 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 pode ser anexado como um projeto de serviço a outro projeto host.
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 papéis personalizados ou outros papéis predefinidos.
Configurar o projeto host
Para configurar um projeto Google Cloud como host, siga estas etapas:
Console
No console do Google Cloud , use o seletor de projetos para escolher aquele que você quer configurar como host.
-
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Verifique se a versão mais recente da Google Cloud CLI está instalada:
gcloud components updateEncontre o ID do projeto do Google Cloud projeto que você quer configurar como host.
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 host.Ative a API App Hub no projeto host:
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Anexar projetos de serviço
Anexe ao projeto host os projetos de serviço que contêm os serviços e as cargas de trabalho que você quer registrar nos aplicativos do App Hub:
Console
No console do Google Cloud , use o seletor de projetos para escolher o projeto host.
Acesse a página Configurações na Central de apps:
Clique em Anexar projetos.
Selecione os projetos de serviço para anexar ao projeto host de uma das seguintes maneiras:
- Na lista de projetos, marque as caixas de seleção dos projetos que você quer anexar como projetos de serviço.
- Filtre os nomes dos projetos e marque as caixas de seleção.
Clique em Selecionar.
A tabela Projetos de serviço anexados mostra os projetos de serviço selecionados.
Clique em Fechar.
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 permissões e papéis do App Hub
Para conceder os papéis e permissões do App Hub adequados aos usuários do App Hub no projeto host e nos projetos de serviço, siga estas etapas:
Console
No console do Google Cloud , use o seletor de projetos para escolher o projeto host.
Acesse 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 digite App Hub no campo Filtro.
Selecione a função do IAM do Hub de apps que você quer 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 as mesmas funções aos mesmos usuários.
gcloud
Encontre o ID de cada um dos Google Cloud projetos que você configurou como 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 da 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 as mesmas funções 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 a que 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: configure o escopo das métricas
Para conferir as métricas do sistema de 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
Para desanexar um projeto de serviço de um projeto host, siga estas etapas:
Console
No console do Google Cloud , use o seletor de projetos para escolher o projeto host.
Acesse a página Configurações na Central de apps:
Marque as caixas de seleção dos projetos de serviço que você quer remover do projeto host.
Clique em Desanexar projetos.
A tabela Projetos de serviço anexados é atualizada para mostrar apenas os projetos que permanecem anexados ao projeto host.
gcloud
- Encontre o ID do projeto de cada um dos projetos de serviço que você quer remover do projeto host.
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 também removê-lo do escopo de métricas do projeto host se você já tiver configurado o escopo de métricas. 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