Este documento descreve como configurar um projeto anfitrião no App Hub e criar um limite de vários projetos.
O projeto anfitrião é um modelo de configuração de aplicações antigo suportado para utilizadores existentes do App Hub. Recomendamos que defina limites ao nível da pasta configurando uma pasta com apps ativadas para novas implementações. Os limites ao nível da pasta dão acesso ao conjunto completo de funcionalidades do Google Cloud centradas na aplicação, como o Application Design Center e o Gemini Cloud Assist. Para uma comparação das principais diferenças entre os modelos disponíveis para a gestão de aplicações, consulte o artigo Escolha o modelo de configuração da aplicação.
Vista geral dos projetos anfitrião e de serviço
Um projeto anfitrião é um Google Cloud projeto ao qual anexa outros projetos que contêm os serviços e cargas de trabalho que quer agrupar como aplicações do App Hub. Os projetos que anexa ao projeto anfitrião são denominados projetos de serviço. A associação do projeto anfitrião e dos projetos de serviço define um limite de vários projetos.
Um projeto anfitrião pode gerir os seus próprios recursos diretamente associando-se a si próprio. No entanto, para uma configuração de projeto único, recomendamos que use a abordagem de projeto único.
Antes de começar
Antes de configurar um Google Cloud projeto como projeto anfitrião e anexar-lhe projetos de serviço, conclua os seguintes passos:
- 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. Os projetos de serviços têm os seguintes requisitos:
- 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 que lhe conceda a função de IAM
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
Para configurar um Google Cloud projeto como projeto anfitrião, siga estes passos:
Consola
Na Google Cloud consola, use o seletor de projetos para selecionar o seu projeto.
Navegue para a página Vista geral a partir do App Hub:
Clique em Configurar o centro de apps.
Na página Ativar App Hub, escolha Configuração completa para criar um limite de vários projetos.
Tome nota do nome e do ID do projeto. Estas informações identificam o projeto anfitrião e vai usar estes valores para conceder acesso.
Reveja a lista de APIs que estão a ser ativadas. Algumas APIs têm custos associados. Saiba mais acerca dos custos das APIs ou clique em cada API para ver os custos associados.
Clique em Continuar.
No separador Definir limite, valide as informações do projeto.
Clique em Adicionar projeto para adicionar projetos de serviços ao seu limite ou adicioná-los mais tarde.
Clique em Continuar.
No separador Conceder acesso, escolha as funções e autorizações de IAM adequadas para os administradores no projeto. Para ver uma lista de funções recomendadas centradas na aplicação em todos os Google Cloud produtos, consulte Conceda funções centradas na aplicação aos seus utilizadores.
Na caixa Novos membros, introduza os utilizadores, os grupos ou as contas de serviço que devem ter acesso de administrador a tarefas centradas na aplicação no projeto.
Clique em Conceder funções e, de seguida, em Concluir.
Posteriormente, pode conceder funções de IAM adicionais aos seus diretores na página IAM. Para mais informações, consulte o artigo Conceda uma função do IAM através da Google Cloud consola.
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 updateEncontre 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_IDSubstitua
HOST_PROJECT_IDpelo 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
Adicione projetos de serviço
Adicione projetos de serviço ao seu limite de gestão de aplicações anexando-os ao projeto anfitrião.
Para anexar projetos de serviço ao projeto anfitrião e criar um limite de vários projetos, siga estes passos:
Consola
Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião.
Navegue para a página Definições de limites a partir do App Hub:
Clique em Adicionar projeto.
Selecione os projetos de serviço que quer anexar ao projeto anfitrião e adicione-os ao seu limite 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 no seu limite apresenta os projetos de serviços selecionados. O processo de anexação pode demorar algum tempo a ser concluído.
Verifique se a lista de projetos de serviços está completa.
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_IDSubstitua o seguinte:
SERVICE_PROJECT_ID: o ID do projeto de serviço a anexar.HOST_PROJECT_ID: o ID do projeto de anfitrião.
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"
}
Para desanexar um projeto de serviço de um projeto anfitrião, consulte o artigo Remova projetos de serviço.
Atribua funções e autorizações do App Hub
Para conceder as funções e autorizações do App Hub adequadas aos utilizadores do App Hub no projeto anfitrião e nos projetos de serviço, siga estes passos:
Consola
Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião.
Navegue para a 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 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_IDpelo ID do projeto de serviço ao qual está a conceder acesso.
Configure os VPC Service Controls
Para proteger as suas aplicações com um perímetro dos VPC Service Controls, adicione o projeto anfitrião e os projetos de serviço do App Hub ao perímetro antes de criar as aplicações. Para mais informações, consulte o artigo Use os VPC Service Controls com o App Hub.
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, consulte Configurar um âmbito de métricas e Configurar um âmbito de métricas através da API.
Remova projetos de serviço
Remova projetos de serviço do seu limite de gestão de aplicações desassociando-os do projeto anfitrião.
Para desanexar um projeto de serviço de um projeto anfitrião, siga estes passos:
Consola
Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião.
Navegue para a página Definições de limites a partir do App Hub:
Selecione as caixas de verificação dos projetos de serviço que quer desassociar do projeto anfitrião e remover do seu limite.
Clique em Desassociar projetos.
A tabela Projetos no seu limite é atualizada para apresentar apenas os projetos que permanecem anexados ao projeto anfitrião.
Verifique se a lista de projetos de serviço está atualizada.
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_IDSubstitua o seguinte:
SERVICE_PROJECT_ID: o ID do projeto de serviço a remover.HOST_PROJECT_ID: o ID do projeto de anfitrião.
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 da IAM do App Hub
- Vista geral do App Hub