Esta página descreve como configurar um projeto anfitrião para agrupar serviços e cargas de trabalho como aplicações do App Hub.
Os projetos anfitriões são um modelo de configuração suportado para utilizadores existentes do App Hub. No entanto, recomendamos que use pastas com apps ativadas para configurar o App Hub para novas implementações. As pastas compatíveis com apps oferecem acesso ao conjunto completo de funcionalidades do Google Cloud centradas em aplicações, como o Application Design Center e o Gemini Cloud Assist. Para uma comparação das principais diferenças entre os modelos de configuração do App Hub disponíveis, consulte o artigo Escolha o seu modelo de configuração do App Hub.
Vista geral dos projetos anfitrião e de serviço
Um projeto anfitrião é um projeto padrão Google Cloud que designa para agrupar recursos suportados como aplicações do App Hub. Anexa manualmente outros projetos, denominados projetos de serviço, a este projeto anfitrião para que o App Hub possa descobrir serviços e cargas de trabalho nesses projetos e registá-los.
O modelo de projeto anfitrião e de serviço no App Hub é distinto do modelo usado pela VPC partilhada. Não pode usar um projeto anfitrião de VPC partilhada e os respetivos projetos de serviço anexados para o App Hub. No App Hub, os projetos anfitrião e de serviço destinam-se a agrupar logicamente os recursos das aplicações e não a partilhar redes VPC.
Antes de começar
Tem de concluir os seguintes passos antes de configurar Google Cloud projetos como projetos anfitriões e de serviço para as suas aplicações:
- Identifique o Google Cloud projeto que quer usar como projeto anfitrião. Pode usar um projeto existente ou criar um novo projeto.
Identifique os Google Cloud projetos que quer anexar ao projeto anfitrião como projetos de serviço. Tem de identificar todos os projetos que contêm os serviços e as cargas de trabalho que pretende registar nas aplicações do App Hub. Os recursos noutros projetos não vão ser visíveis para o App Hub. Considere os seguintes aspetos para projetos de serviços:
- Os projetos de serviço têm de estar na mesma organização que o projeto anfitrião.
- Um projeto de serviço só pode ser anexado a um projeto anfitrião de cada vez.
- Um projeto anfitrião pode atuar como um projeto de serviço para si próprio para gerir os seus próprios recursos, mas não o pode anexar como um projeto de serviço a outro projeto anfitrião.
Funções necessárias
Para receber as autorizações de que
precisa para anexar projetos de serviço ao projeto anfitrião,
peça ao seu administrador para lhe conceder a função de IAM de
administrador do App Hub (roles/apphub.admin
)
no projeto anfitrião e em cada projeto de serviço que quer anexar.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Configure o projeto anfitrião
Siga estes passos para configurar um projeto como projeto anfitrião:
Consola
Na página Boas-vindas da consola, use o seletor de projetos para selecionar o projeto que quer configurar como projeto anfitrião. Google Cloud
-
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.enable
permission. 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.
Certifique-se de que tem instalada a versão mais recente da CLI Google Cloud:
gcloud components update
Encontre o ID do projeto do Google Cloud projeto que quer configurar como projeto anfitrião.
Defina o projeto anfitrião como o projeto predefinido para comandos:
gcloud config set project HOST_PROJECT_ID
Substitua
HOST_PROJECT_ID
pelo ID do projeto que quer configurar como projeto anfitrião.Ative a API App Hub no projeto de anfitrião:
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Anexe projetos de serviço
Anexe os projetos de serviço que contêm os serviços e as cargas de trabalho que quer agrupar como aplicações do App Hub ao projeto anfitrião:
Consola
Na página Boas-vindas da consola Google Cloud , use o seletor de projetos para selecionar o projeto anfitrião.
Navegue para a página Definições do App Hub:
Clique em Anexar projetos.
Selecione os projetos de serviço a anexar ao projeto anfitrião de uma das seguintes formas:
- Na lista de projetos, selecione as caixas de verificação dos projetos que quer anexar como projetos de serviço.
- Filtre os nomes dos projetos e selecione as respetivas caixas de verificação.
Clique em Selecionar.
A tabela Projetos de serviços anexados apresenta os projetos de serviços selecionados.
Clique em Fechar.
gcloud
- Encontre o ID do projeto de cada um dos Google Cloud projetos que quer configurar como projetos de serviço.
Anexe cada projeto de serviço:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Substitua o seguinte:
SERVICE_PROJECT_ID
: o ID do projeto de serviço a anexar.HOST_PROJECT_ID
: o ID do projeto de alojamento.
Repita o processo anterior para cada projeto de serviço que quer anexar ao projeto anfitrião.
Terraform
Para anexar um projeto de serviço a um projeto anfitrião através do 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"
}
A desassociação de um projeto de serviço requer a remoção da associação. Para mais informações, consulte o artigo Remova projetos de serviço.
Atribua funções e autorizações do App Hub
Siga estes passos para conceder as funções e autorizações do App Hub adequadas aos utilizadores do App Hub nos projetos anfitrião e de serviço:
Consola
Na página Boas-vindas da consola Google Cloud , use o seletor de projetos para selecionar o projeto anfitrião.
Aceda à página IAM:
Clique em
Conceder acesso. O painel Conceder acesso é aberto.No campo Novos membros, introduza o endereço de email do membro ao qual quer conceder acesso ao App Hub.
Clique em Selecionar uma função e introduza App Hub no campo Filtro.
Selecione a função de IAM do App Hub que quer atribuir ao principal e clique em Guardar.
Em cada um dos projetos de serviço do App Hub que anexou ao projeto anfitrião, repita o processo anterior para conceder as mesmas funções aos mesmos utilizadores.
gcloud
Encontre o ID do projeto de cada um dos Google Cloud projetos que configurou como projetos anfitriões e projetos de serviço.
Conceda acesso a principais no projeto anfitrião:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'
Substitua o seguinte:
HOST_PROJECT_ID
: o ID do projeto de anfitrião.EMAIL_ADDRESS
: o endereço de email do principal que tem de obter acesso ao App Hub no projeto de alojamento. Este valor tem de ter o formatousername@yourdomain
, por exemplo,my.user@example.com
.ROLE_NAME
: o papel de IAM do App Hub que quer atribuir ao principal, por exemplo,roles/apphub.admin
.
Em cada um dos projetos de serviço do App Hub que anexou ao projeto anfitrião, conceda as mesmas funções aos mesmos utilizadores:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'
Substitua
SERVICE_PROJECT_ID
pelo ID do projeto de serviço ao qual está a conceder acesso.
Configure os VPC Service Controls
Se quiser proteger as suas aplicações com um perímetro dos VPC Service Controls, adicione os projetos de anfitrião e de serviço do App Hub ao perímetro antes de criar as aplicações. Para mais informações, consulte o artigo Usar os VPC Service Controls com o App Hub.
Já pode registar recursos existentes numa aplicação.
Opcional: configure o âmbito das métricas
Para ver as métricas do sistema para aplicações no seu projeto anfitrião no Cloud Monitoring, adicione os projetos de serviço anexados ao âmbito das métricas do projeto anfitrião. O projeto anfitrião funciona como um projeto de âmbito para dados de séries cronológicas, o que permite a criação de gráficos e a monitorização de dados. Para mais informações e instruções de configuração detalhadas, consulte Configure um âmbito de métricas e Configure um âmbito de métricas através da API.
Remova projetos de serviço
Pode modificar as associações de projetos de serviços para permitir que diferentes serviços e cargas de trabalho estejam disponíveis para agrupar numa aplicação. Pode anexar mais projetos de serviço ao projeto anfitrião ou seguir estes passos para remover a anexação de um projeto de serviço de um projeto anfitrião:
Consola
Na página Boas-vindas da consola Google Cloud , use o seletor de projetos para selecionar o projeto anfitrião.
Navegue para a página Definições do App Hub:
Selecione as caixas de verificação dos projetos de serviço que quer remover do projeto anfitrião.
Clique em Desassociar projetos.
A tabela Projetos de serviço anexados é atualizada para apresentar apenas os projetos que permanecem anexados ao projeto anfitrião.
gcloud
- Encontre o ID do projeto de cada um dos projetos de serviço que quer remover do projeto anfitrião.
Remova cada projeto de serviço:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Substitua o seguinte:
SERVICE_PROJECT_ID
: o ID do projeto de serviço a remover.HOST_PROJECT_ID
: o ID do projeto de alojamento.
Repita o processo anterior para cada projeto de serviço que quer remover do projeto anfitrião.
Quando remove um projeto de serviço de um projeto anfitrião, considere removê-lo também do âmbito das métricas do projeto anfitrião se tiver configurado anteriormente o âmbito das métricas. Para mais informações, consulte o artigo Remova projetos de um âmbito de métricas.
O que se segue?
- Registe recursos existentes numa aplicação
- Configure a monitorização de aplicações
- Funções e autorizações do IAM do App Hub
- Vista geral do App Hub