Configurar um projeto host (legado)

Este documento descreve como configurar um projeto de host no App Hub e criar um limite de vários projetos.

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. A vinculação do projeto host e dos projetos de serviço define um limite de vários projetos.

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:

  1. Identifique o projeto do Google Cloud que você quer usar como projeto host. É possível usar um projeto atual ou criar um novo.
  2. 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

  1. No console Google Cloud , use o seletor de projetos para escolher o seu.

  2. Acesse a página Visão geral no App Hub:

    Ir para Visão geral

  3. Clique em Configurar o App Hub.

  4. Na página Ativar o App Hub, escolha Configuração completa para criar um limite de vários projetos.

  5. Anote o nome e o ID do projeto. Essas informações identificam o projeto host, e você vai usar esses valores para conceder acesso.

  6. Revise 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 uma delas para ver os custos associados.

  7. Clique em Continuar.

  8. Na guia Definir limite, verifique as informações do projeto.

  9. Clique em Adicionar projeto para adicionar projetos de serviço ao seu perímetro ou faça isso mais tarde.

  10. Clique em Continuar.

  11. Na guia Conceder acesso, escolha os papéis e permissões do IAM adequados para administradores no projeto. Para uma lista de funções recomendadas centradas em aplicativos nos produtos do Google Cloud , consulte Conceder funções centradas em aplicativos aos usuários.

  12. Na caixa Novos principais, insira os usuários, grupos ou contas de serviço que precisam ter acesso de administrador às tarefas centradas em aplicativos no projeto.

  13. Clique em Conceder papéis e em Concluir.

Depois, é 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 console do Google Cloud .

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Verifique se a versão mais recente da Google Cloud CLI está instalada:

    gcloud components update
    
  3. Encontre o ID do projeto do Google Cloud projeto que você quer configurar como host.

  4. Defina o projeto host como o projeto padrão para comandos:

    gcloud config set project HOST_PROJECT_ID
    

    Substitua HOST_PROJECT_ID pelo ID do projeto que você quer configurar como host.

  5. Ative a API App Hub no projeto host:

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

Adicionar projetos de serviço

Anexe projetos de serviço ao projeto host para adicioná-los ao limite de gerenciamento de aplicativos.

Para anexar projetos de serviço ao projeto host e criar um limite de vários projetos, siga estas etapas:

Console

  1. No console do Google Cloud , use o seletor de projetos para escolher o projeto host.

    Acessar "Boas-vindas"

  2. Acesse a página Configurações de limite no App Hub:

    Acessar as configurações de limite

  3. Clique em Adicionar projeto.

  4. Selecione os projetos de serviço que você quer anexar ao projeto host e adicione ao limite 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.
  5. Clique em Selecionar.

    A tabela Projetos no seu limite mostra os projetos de serviço selecionados. O processo de anexação pode levar algum tempo para ser concluído.

  6. Verifique se a lista de projetos de serviço está completa.

gcloud

  1. Encontre o ID do projeto de cada um dos Google Cloud projetos que você quer configurar como projetos de serviço.
  2. Anexe cada projeto de serviço:

    gcloud apphub service-projects add SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    Substitua:

    • SERVICE_PROJECT_ID: o ID do projeto de serviço a ser anexado.
    • HOST_PROJECT_ID: o ID do projeto host.
  3. 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

  1. No console do Google Cloud , use o seletor de projetos para escolher o projeto host.

    Acessar "Boas-vindas"

  2. Acesse a página IAM:

    Acessar IAM

  3. Clique em Conceder acesso. O painel Conceder acesso será aberto.

  4. No campo Novos principais, insira o endereço de e-mail do principal a quem você quer conceder acesso ao App Hub.

  5. Clique em Selecionar um papel e digite App Hub no campo Filtro.

  6. Selecione a função do IAM do Hub de apps que você quer atribuir ao principal e clique em Salvar.

  7. 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

  1. Encontre o ID de cada um dos Google Cloud projetos que você configurou como host e de serviço.

  2. 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 formato username@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.
  3. 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_ID pelo 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 ver 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

Remova os projetos de serviço do seu 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

  1. No console do Google Cloud , use o seletor de projetos para selecionar o projeto host.

    Acessar "Boas-vindas"

  2. Acesse a página Configurações de limite no App Hub:

    Acessar as configurações de limite

  3. Marque as caixas de seleção dos projetos de serviço que você quer desanexar do projeto host e remover do seu limite.

  4. Clique em Desanexar projetos.

    A tabela Projetos no seu limite é atualizada para mostrar apenas os projetos que permanecem anexados ao projeto host.

  5. Verifique se a lista de projetos de serviço está atualizada.

gcloud

  1. Encontre o ID do projeto de cada um dos projetos de serviço que você quer remover do projeto host.
  2. Remova cada projeto de serviço:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    Substitua:

    • SERVICE_PROJECT_ID: o ID do projeto de serviço a ser removido.
    • HOST_PROJECT_ID: o ID do projeto host.
  3. 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