Este documento descreve como configurar um projeto anfitrião no App Hub.
O projeto anfitrião é um modelo de configuração de aplicação 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.
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 projeto que quer configurar como projeto anfitrião.
-
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.
Certifique-se de que tem instalada a versão mais recente da Google Cloud CLI:
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
Anexe projetos de serviço
Anexe os projetos de serviço que contêm os serviços e as cargas de trabalho que quer registar nas aplicações do App Hub ao projeto anfitrião:
Consola
Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião.
Navegue para a página Definições a partir 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_IDSubstitua 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"
}
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 principal 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 alojamento.EMAIL_ADDRESS: o endereço de email do principal que tem de obter acesso ao App Hub no projeto de anfitrião. 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
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 a partir 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_IDSubstitua 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