Ao registrar seus recursos Google Cloud atuais como serviços e cargas de trabalho em um aplicativo do App Hub, você simplifica o gerenciamento organizando os recursos com base na finalidade comercial deles. Essa abordagem oferece visibilidade, monitoramento, governança e controle operacional unificados.
Neste guia, mostramos como agrupar recursos Google Cloud existentes que ainda não foram definidos formalmente como um aplicativo.
Antes de começar
É preciso concluir a configuração inicial do gerenciamento de aplicativos antes de organizar recursos em aplicativos. Esse processo geralmente envolve as seguintes funções e etapas:
Para administradores:
- Escolha seu modelo de configuração de aplicativo. Você precisa configurar um projeto de gerenciamento e definir um limite de gerenciamento de aplicativos que inclua os recursos do Google Cloud que você quer organizar.
- Ative as APIs necessárias para todos os recursos do Google Cloud que você pretende usar.
- Conceda acesso aos usuários. Atribua os papéis apropriados do IAM com base nas responsabilidades do usuário no ciclo de vida do aplicativo.
Para desenvolvedores e operadores:
- Confirme com seu administrador se a configuração inicial foi concluída.
- Verifique se você tem os papéis do IAM necessários para as tarefas que quer realizar.
- Abra seu projeto de gerenciamento no console Google Cloud ou encontre o ID do projeto do projeto de gerenciamento para interações do Terraform ou da Google Cloud CLI.
Criar um aplicativo
Crie um aplicativo no App Hub para atuar como um contêiner lógico para seus recursos Google Cloud atuais:
Console
No console Google Cloud , use o seletor de projetos para escolher seu projeto de gerenciamento.
Acesse a página Aplicativos no App Hub:
Clique em Criar aplicativo.
Na guia Detalhes do aplicativo, selecione o melhor local para seu aplicativo com base nos requisitos de distribuição geográfica:
- Selecione Global para criar um aplicativo global.
- Selecione Regional para criar um aplicativo regional. Em seguida, selecione a região específica do aplicativo com base nas regiões compatíveis com o App Hub.
Para mais informações sobre o melhor local para seu aplicativo, consulte Aplicativos globais e regionais.
Insira um nome para o aplicativo.
Esse nome é um identificador exclusivo que só pode conter letras minúsculas, números ou hífens. Não é possível mudar o nome depois de criar o aplicativo.
Se quiser, adicione um nome de exibição e uma descrição para o aplicativo.
Eles não são identificadores exclusivos e podem ser mudados depois da criação do aplicativo.
Clique em Continuar.
Na guia Recursos do aplicativo, navegue pelos recursos de infraestrutura e marque as caixas de seleção dos recursos que você quer registrar como serviços e cargas de trabalho do aplicativo.
É possível selecionar até 10 recursos por vez.
Clique em Continuar.
Na guia Atributos e proprietários, é possível adicionar atributos ao aplicativo, como criticidade, ambiente e proprietários.
Você pode usar os mesmos atributos e proprietários para os recursos que está registrando no aplicativo ou definir isso mais tarde.
Clique em Criar.
Quando o aplicativo é criado, a página Aplicativos mostra os detalhes dele, incluindo os recursos registrados como serviços e cargas de trabalho. Depois de criar o aplicativo, você pode registrar mais serviços e cargas de trabalho nele.
gcloud
Use a Google Cloud CLI para criar um aplicativo no terminal ou no Cloud Shell:
gcloud apphub applications create APPLICATION_NAME \ --project=PROJECT_ID \ --scope-type=LOCATION \ --location=REGION \ --display-name=DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILSubstitua
APPLICATION_NAMEpelo nome do aplicativo. Esse nome é um identificador exclusivo que só pode conter letras minúsculas, números ou hifens.Use flags opcionais, como
--criticality-type, para definir os atributos de nível superior do aplicativo e apoiar a capacidade de descoberta e a governança.Para flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gerenciamento. Obrigatório:
LOCATION: o local do seu aplicativo com base nos requisitos de distribuição geográfica. Use um dos seguintes valores:REGIONALpara aplicativos regionais.GLOBALpara aplicativos globais.
Para mais informações sobre o melhor local para seu aplicativo, consulte Aplicativos globais e regionais.
Obrigatório:
REGION, a região específica do seu aplicativo. Use um dos seguintes valores:- Se o local
--scope-typedo seu aplicativo estiver definido comoREGIONAL, especifique um nome de região compatível com o App Hub. - Se o local
--scope-typedo seu aplicativo estiver definido comoGLOBAL, useglobal.
- Se o local
Opcional:
DISPLAY_NAME: o nome de exibição do aplicativo. O nome de exibição não é um identificador exclusivo e pode ser mudado depois da criação do aplicativo.Opcional:
CRITICALITY: o nível de importância do aplicativo para suas operações. Use um dos seguintes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT: o estágio do ciclo de vida do software. Use um dos seguintes valores:PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEeDEV_EMAIL: o nome de exibição e o endereço de e-mail do proprietário do desenvolvedor, respectivamente.Opcional:
OPERATOR_NAMEeOPERATOR_EMAIL: o nome de exibição e o endereço de e-mail do proprietário do operador, respectivamente.Opcional:
BUSINESS_NAMEeBUSINESS_EMAIL: o nome de exibição e o endereço de e-mail do proprietário da empresa, respectivamente.
- Obrigatório:
Liste os aplicativos no seu projeto:
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGIONVocê vai receber uma saída semelhante a esta:
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
Terraform
Para criar um aplicativo com o Terraform, use
o recurso google_apphub_application.
Com esse recurso, é possível definir as propriedades do aplicativo, incluindo nome, local e atributos.
O exemplo a seguir cria um aplicativo regional em us-central1 com atributos de criticidade, ambiente e proprietário definidos:
resource "google_apphub_application" "example" {
project = "my-project-id"
location = "us-central1"
application_id = "my-application"
display_name = "My Application"
description = "This application represents our platform."
scope {
type = "REGIONAL"
}
attributes {
criticality {
type = "MISSION_CRITICAL"
}
environment {
type = "PRODUCTION"
}
business_owners {
display_name = "Alice"
email = "alice@example.com"
}
developer_owners {
display_name = "Bob"
email = "bob@example.com"
}
operator_owners {
display_name = "Charlie"
email = "charlie@example.com"
}
}
}
Registrar serviços e cargas de trabalho
Com o App Hub, é possível selecionar recursos compatíveis localizados no limite de gerenciamento de aplicativos para registrá-los como serviços e cargas de trabalho. Depois de criar um aplicativo, você pode registrar recursos Google Cloud como serviços e cargas de trabalho nele.
Só é possível registrar serviços exclusivos em um aplicativo. No entanto, os serviços compartilhados podem ser registrados em mais de um aplicativo. O App Hub vai descobrir serviços compartilhados ao registrá-los em um aplicativo, mesmo que já estejam registrados em outro aplicativo, mas talvez não seja possível modificar os atributos deles.
Console
Depois de criar um aplicativo, é possível registrar vários recursos nele:
No console Google Cloud , use o seletor de projetos para escolher seu projeto de gerenciamento.
Acesse a página Aplicativos no App Hub:
Clique no nome do aplicativo para o qual você quer registrar recursos Google Cloud .
Na página do aplicativo, selecione a guia Serviços e cargas de trabalho.
Clique em Registrar serviços ou cargas de trabalho.
Na guia Serviços e cargas de trabalho, navegue pelos recursos de infraestrutura e marque as caixas de seleção dos recursos que você quer registrar como serviços ou cargas de trabalho do aplicativo.
É possível selecionar até 10 recursos por vez.
Clique em Continuar.
Na guia Atributos e proprietários, é possível adicionar atributos para esses recursos, como importância, ambiente e proprietários.
Você pode usar os mesmos atributos e proprietários do aplicativo ou definir atributos diferentes mais tarde.
Clique em Registrar.
A guia Serviços e cargas de trabalho mostra todos os serviços e cargas de trabalho registrados do aplicativo.
gcloud
Com o App Hub, é possível selecionar recursos compatíveis localizados no limite de gerenciamento de aplicativos como serviços ou cargas de trabalho. Use a Google Cloud CLI para listar serviços ou cargas de trabalho que podem ser registradas no aplicativo no seu terminal ou Cloud Shell. Os comandos são um pouco diferentes para serviços e cargas de trabalho:
Registrar serviços
Liste os serviços disponíveis que podem ser registrados em um aplicativo:
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPara flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gerenciamento. Obrigatório:
REGION, a região específica do seu serviço com base na distribuição geográfica. Use um dos seguintes valores:- Se o serviço for regional, especifique o nome da região compatível com o App Hub.
- Se o serviço for global, use
global.
Opcional:
FILTER_EXPRESSION: a expressão de filtro para a flag--filterpara mostrar apenas serviços de um projeto especificado no limite de gerenciamento de aplicativos ou com uma propriedade específica, por exemplo:service_properties.gcp_project=projects/PROJECT_IDservice_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"
A resposta será semelhante a:
ID SERVICE_REFERENCE SERVICE_PROPERTIES SERVICE_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}- Obrigatório:
Copie o ID do serviço,
SERVICE_ID, da saída.Registre o serviço no seu aplicativo:
gcloud apphub applications services create SERVICE_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \ --display-name=SERVICE_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILSubstitua
SERVICE_NAMEpelo nome que você quer usar para registrar o serviço no aplicativo.Use flags opcionais, como
--criticality-type, para definir os atributos de nível superior do serviço e apoiar a capacidade de descoberta e a governança.Para flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gerenciamento. Obrigatório:
REGION, a região específica do seu serviço com base na distribuição geográfica. Use um dos seguintes valores:- Se o serviço for regional, especifique o nome da região compatível com o App Hub.
- Se o serviço for global, use
global.
Obrigatório:
APPLICATION_NAME: o nome do aplicativo em que você quer registrar o serviço.Obrigatório:
SERVICE_ID: o ID do serviço que você copiou da saída anterior.Opcional:
SERVICE_DISPLAY_NAME: o nome de exibição do seu serviço.Opcional:
CRITICALITY: o nível de importância do serviço para suas operações. Use um dos seguintes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT: o estágio do ciclo de vida do software. Use um dos seguintes valores:PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEeDEV_EMAIL: o nome de exibição e o endereço de e-mail do proprietário do desenvolvedor, respectivamente.Opcional:
OPERATOR_NAMEeOPERATOR_EMAIL: o nome de exibição e o endereço de e-mail do proprietário do operador, respectivamente.Opcional:
BUSINESS_NAMEeBUSINESS_EMAIL: o nome de exibição e o endereço de e-mail do proprietário da empresa, respectivamente.
- Obrigatório:
Liste os serviços registrados no seu aplicativo:
gcloud apphub applications services list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONVocê precisa receber uma saída semelhante à seguinte para cada serviço registrado:
ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME SERVICE_NAME SERVICE_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} 2023-11-01T21:38:08
Registrar cargas de trabalho
Liste as cargas de trabalho disponíveis que podem ser registradas em um aplicativo:
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPara flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gerenciamento. Obrigatório:
REGION, a região específica da sua carga de trabalho com base na distribuição geográfica. Use um dos seguintes valores:- Se a carga de trabalho for regional, especifique o nome da região compatível com o App Hub.
- Se a carga de trabalho for global, use
global.
Opcional:
FILTER_EXPRESSION: a expressão de filtro para a flag--filterpara mostrar apenas cargas de trabalho de um projeto especificado dentro do limite de gerenciamento de aplicativos ou com uma propriedade específica, por exemplo,workload_properties.gcp_project=projects/PROJECT_ID.
A resposta será semelhante a:
ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES WORKLOAD_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}- Obrigatório:
Copie o ID da carga de trabalho,
WORKLOAD_ID, da saída.Registre a carga de trabalho no seu aplicativo:
gcloud apphub applications workloads create WORKLOAD_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \ --display-name=WORKLOAD_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILSubstitua
WORKLOAD_NAMEpelo nome que você quer usar para registrar a carga de trabalho no aplicativo.Use flags opcionais, como
--criticality-type, para definir os atributos de nível superior da carga de trabalho e oferecer suporte à capacidade de descoberta e à governança.Para flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gerenciamento. Obrigatório:
REGION, a região específica da sua carga de trabalho com base na distribuição geográfica. Use um dos seguintes valores:- Se a carga de trabalho for regional, especifique o nome da região compatível com o App Hub.
- Se a carga de trabalho for global, use
global.
Obrigatório:
APPLICATION_NAME: o nome do aplicativo para o qual você quer registrar a carga de trabalho.Obrigatório:
WORKLOAD_ID: o ID da carga de trabalho copiado da saída anterior.Opcional:
WORKLOAD_DISPLAY_NAME: o nome de exibição da sua carga de trabalho.Opcional:
CRITICALITY: o nível de importância da carga de trabalho para suas operações. Use um dos seguintes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT: o estágio do ciclo de vida do software. Use um dos seguintes valores:PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEeDEV_EMAIL: o nome de exibição e o endereço de e-mail do proprietário do desenvolvedor, respectivamente.Opcional:
OPERATOR_NAMEeOPERATOR_EMAIL: o nome de exibição e o endereço de e-mail do proprietário do operador, respectivamente.Opcional:
BUSINESS_NAMEeBUSINESS_EMAIL: o nome de exibição e o endereço de e-mail do proprietário da empresa, respectivamente.
- Obrigatório:
Liste as cargas de trabalho registradas no seu aplicativo:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONVocê precisa receber uma saída semelhante à seguinte para cada carga de trabalho registrada:
ID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME WORKLOAD_NAME WORKLOAD_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} 2023-11-01T21:38:08
Terraform
Para usar o Terraform e registrar recursos Google Cloud no limite de gerenciamento de aplicativos como serviços ou cargas de trabalho em um aplicativo, use as fontes de dados google_apphub_discovered_service e google_apphub_discovered_workload para recuperar informações dinamicamente sobre os recursos que você quer registrar.
Em seguida, use os recursos
google_apphub_service
ou
google_apphub_workload
para registrar serviços ou cargas de trabalho, respectivamente.
Registrar serviços
Receba informações sobre um serviço usando o URI dele:
data "google_apphub_discovered_service" "my-service" { location = "REGION" service_uri = "SERVICE_URI" }Registre o serviço descoberto no seu aplicativo, por exemplo:
resource "google_apphub_service" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id service_id = "frontend-load-balancer" discovered_service = data.google_apphub_discovered_service.my-forwarding-rule.name display_name = "Frontend Load Balancer" description = "The primary load balancer for the frontend." }
Registrar cargas de trabalho
Receba informações sobre uma carga de trabalho usando o URI dela:
data "google_apphub_discovered_workload" "my-workload" { location = "REGION" workload_uri = "WORKLOAD_URI" }Registre a carga de trabalho descoberta no seu aplicativo, por exemplo:
resource "google_apphub_workload" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id workload_id = "frontend-instance-group" discovered_workload = data.google_apphub_discovered_workload.my-mig.name display_name = "Frontend Instance Group" description = "The managed instance group for the frontend." }
O status de registro de serviços e cargas de trabalho registrados em um aplicativo pode mudar para desvinculado se você mover um projeto ou uma pasta para fora do limite de gerenciamento de aplicativos ou excluir o recurso subjacente. Os serviços e as cargas de trabalho desconectados permanecem no aplicativo até serem removidos do registro, mas o App Hub não pode mais gerenciá-los ou monitorá-los. Para mais informações, consulte Status de registro de serviços e cargas de trabalho.
Para anexar serviços ou cargas de trabalho a um aplicativo, registre-os novamente.
Conceder permissões e iniciar operações
Depois de criar um aplicativo e registrar serviços e cargas de trabalho no App Hub, conceda acesso do usuário com base nas responsabilidades do ciclo de vida para gerenciar esse agrupamento lógico como uma única unidade:
- Dependendo das suas necessidades de acesso, é possível conceder permissões a aplicativos individuais ou a todos eles. Para ver uma lista de funções recomendadas, consulte Conceder funções centradas em aplicativos aos usuários.
- Se quiser, acesse o Cloud Hub para conferir um painel operacional unificado do aplicativo definido, incluindo dados de integridade, performance e custo.