O registo dos seus recursos existentes como Google Cloud serviços e cargas de trabalho numa aplicação do App Hub permite-lhe simplificar a gestão organizando os recursos com base na respetiva finalidade empresarial. Esta abordagem oferece visibilidade, monitorização, governação e controlo operacional unificados.
Este guia mostra como agrupar recursos Google Cloud existentes que ainda não estão formalmente definidos como uma aplicação.
Antes de começar
Tem de concluir a configuração inicial da gestão de aplicações antes de organizar os recursos em aplicações. Normalmente, este processo envolve as seguintes funções e passos:
Para administradores:
- Escolha o modelo de configuração da aplicação. Tem de configurar um projeto de gestão e definir um limite de gestão de aplicações que inclua os Google Cloud recursos que quer organizar.
- Ative as APIs necessárias para todos os recursos Google Cloud que pretende usar.
- Conceda acesso aos utilizadores. Atribua funções de IAM adequadas com base nas responsabilidades do utilizador no ciclo de vida da aplicação.
Para programadores e operadores:
- Confirme com o seu administrador que a configuração inicial está finalizada.
- Certifique-se de que tem as funções de IAM necessárias para as tarefas que quer realizar.
- Abra o seu projeto de gestão na Google Cloud consola ou encontre o ID do projeto do projeto de gestão para interações com o Terraform ou a CLI Google Cloud.
Crie uma aplicação
Crie uma aplicação no App Hub para atuar como um contentor lógico para os seus recursos existentes: Google Cloud
Consola
Na Google Cloud consola, use o seletor de projetos para selecionar o seu projeto de gestão.
Aceda à página Aplicações a partir do App Hub:
Clique em Criar aplicação.
No separador Detalhes da aplicação, selecione a melhor localização para a sua aplicação com base nos requisitos de distribuição geográfica:
- Selecione Global para criar uma aplicação global.
- Selecione Regional para criar uma aplicação regional. Em seguida, selecione a região específica da sua aplicação com base nas regiões suportadas pelo App Hub.
Para mais informações sobre a melhor localização para a sua aplicação, consulte o artigo Aplicações globais e regionais.
Introduza um nome para a sua aplicação.
Este nome é um identificador exclusivo que só pode conter letras minúsculas, números ou hífens. Não pode alterar este nome depois de criar a aplicação.
Opcionalmente, adicione um nome a apresentar e uma descrição para a aplicação.
Estes não são identificadores exclusivos e pode alterá-los depois de criar a aplicação.
Clique em Continuar.
No separador Recursos da aplicação, procure os recursos de infraestrutura e selecione as caixas de verificação dos recursos que quer registar como serviços e cargas de trabalho da aplicação.
Pode selecionar até 10 recursos de cada vez.
Clique em Continuar.
No separador Atributos e proprietários, pode adicionar atributos para a aplicação, como criticidade, ambiente e proprietários da aplicação.
Pode optar por usar os mesmos atributos e proprietários para os recursos que está a registar na aplicação ou defini-los mais tarde.
Clique em Criar.
Quando a aplicação é criada, a página Aplicações apresenta os respetivos detalhes, incluindo os recursos que registou como serviços e cargas de trabalho. Depois de criar a aplicação, pode registar mais serviços e cargas de trabalho na mesma.
gcloud
Use a CLI do Google Cloud para criar uma aplicação a partir do terminal ou do 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 da sua aplicação. Este nome é um identificador exclusivo que só pode conter letras minúsculas, números ou hífenes.Use flags opcionais, como
--criticality-type, para definir os atributos de nível superior da aplicação e suportar a capacidade de descoberta e a governação.Para as flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gestão. Obrigatório:
LOCATION: a localização da sua aplicação com base nos requisitos de distribuição geográfica. Use um dos seguintes valores:REGIONALpara candidaturas regionais.GLOBALpara candidaturas globais.
Para mais informações sobre a melhor localização para a sua aplicação, consulte o artigo Aplicações globais e regionais.
Obrigatório:
REGION: a região específica da sua aplicação. Use um dos seguintes valores:- Se a
--scope-typelocalização da sua aplicação estiver definida comoREGIONAL, especifique um nome de região suportado pelo App Hub. - Se a localização
--scope-typeda sua aplicação estiver definida comoGLOBAL, useglobal.
- Se a
Opcional:
DISPLAY_NAME: o nome a apresentar da sua aplicação. O nome a apresentar não é um identificador exclusivo e pode alterá-lo depois de criar a aplicação.Opcional:
CRITICALITY: o nível de importância da aplicação para as suas operações. Use um dos seguintes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEeDEV_EMAIL: o nome a apresentar e o endereço de email do proprietário programador, respetivamente.Opcional:
OPERATOR_NAMEeOPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.Opcional:
BUSINESS_NAMEeBUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.
- Obrigatório:
Liste as aplicações no seu projeto:
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGIONTem de obter um resultado semelhante ao seguinte:
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
Terraform
Para criar uma aplicação com o Terraform, use
o recurso google_apphub_application.
Este recurso permite-lhe definir as propriedades da aplicação, incluindo o respetivo nome, localização e atributos.
O exemplo seguinte cria uma aplicação 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"
}
}
}
Registe serviços e cargas de trabalho
O App Hub permite-lhe selecionar recursos suportados localizados no limite de gestão da sua aplicação para os registar como serviços e cargas de trabalho. Depois de criar uma aplicação, pode registar Google Cloudrecursos como serviços e cargas de trabalho na mesma.
Só pode registar serviços exclusivos numa aplicação. No entanto, os serviços partilhados podem ser registados em mais do que uma aplicação. O App Hub descobre os serviços partilhados quando os regista numa aplicação, mesmo que já estejam registados noutra aplicação, mas pode não conseguir modificar os respetivos atributos.
Consola
Depois de criar uma aplicação, pode registar vários recursos na mesma:
Na Google Cloud consola, use o seletor de projetos para selecionar o seu projeto de gestão.
Aceda à página Aplicações a partir do App Hub:
Clique no nome da aplicação para a qual quer registar Google Cloud recursos.
Na página da aplicação, selecione o separador Serviços e cargas de trabalho.
Clique em Registar serviços ou cargas de trabalho.
No separador Serviços e cargas de trabalho, procure os recursos de infraestrutura e selecione as caixas de verificação dos recursos que quer registar como serviços ou cargas de trabalho da aplicação.
Pode selecionar até 10 recursos de cada vez.
Clique em Continuar.
No separador Atributos e proprietários, pode adicionar atributos para estes recursos, como criticidade, ambiente e proprietários de recursos.
Pode optar por usar os mesmos atributos e proprietários da aplicação ou definir atributos diferentes mais tarde.
Clique em Registar.
O separador Serviços e cargas de trabalho apresenta todos os serviços e cargas de trabalho registados da aplicação.
gcloud
O App Hub permite-lhe selecionar recursos suportados localizados no limite de gestão da sua aplicação como serviços ou cargas de trabalho. Use a CLI do Google Cloud para listar os serviços ou as cargas de trabalho que pode registar na aplicação a partir do terminal ou do Cloud Shell. Os comandos são ligeiramente diferentes para serviços e cargas de trabalho:
Serviços de registo
Indique os serviços disponíveis que pode registar numa aplicação:
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPara sinalizações obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gestão. Obrigatório:
REGION: a região específica do seu serviço com base na sua distribuição geográfica. Use um dos seguintes valores:- Se o serviço for regional, especifique o nome da região suportada pelo App Hub.
- Se o serviço for global, use
global.
Opcional:
FILTER_EXPRESSION: a expressão de filtro para a flag--filterpara apresentar apenas serviços de um projeto especificado no limite de gestão de aplicações 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"
O resultado é semelhante ao seguinte exemplo:
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, a partir do resultado.Registe o serviço na sua aplicação:
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 quer usar para registar o serviço na aplicação.Use flags opcionais, como
--criticality-type, para definir os atributos de nível superior do serviço e suportar a capacidade de deteção e a administração.Para as flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gestão. Obrigatório:
REGION: a região específica do seu serviço com base na sua distribuição geográfica. Use um dos seguintes valores:- Se o serviço for regional, especifique o nome da região suportada pelo App Hub.
- Se o serviço for global, use
global.
Obrigatório:
APPLICATION_NAME: o nome da aplicação para a qual quer registar o serviço.Obrigatório:
SERVICE_ID: o ID do serviço que copiou do resultado anterior.Opcional:
SERVICE_DISPLAY_NAME: o nome a apresentar do seu serviço.Opcional:
CRITICALITY: o nível de importância do serviço para as suas operações. Use um dos seguintes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEeDEV_EMAIL: o nome a apresentar e o endereço de email do proprietário programador, respetivamente.Opcional:
OPERATOR_NAMEeOPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.Opcional:
BUSINESS_NAMEeBUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.
- Obrigatório:
Indique os serviços registados na sua aplicação:
gcloud apphub applications services list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONTem de obter um resultado semelhante ao seguinte para cada serviço registado:
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
Registe cargas de trabalho
Indique as cargas de trabalho disponíveis que pode registar numa aplicação:
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPara as flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gestão. Obrigatório:
REGION: a região específica da sua carga de trabalho com base na sua distribuição geográfica. Use um dos seguintes valores:- Se a carga de trabalho for regional, especifique o nome da região suportada pelo App Hub.
- Se a carga de trabalho for global, use
global.
Opcional:
FILTER_EXPRESSION: a expressão de filtro para a flag--filterpara apresentar apenas cargas de trabalho de um projeto especificado no limite de gestão de aplicações ou com uma propriedade específica, por exemplo,workload_properties.gcp_project=projects/PROJECT_ID.
O resultado é semelhante ao seguinte exemplo:
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, a partir do resultado.Registe a carga de trabalho na sua aplicação:
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 quer usar para registar a carga de trabalho na aplicação.Use flags opcionais, como
--criticality-type, para definir os atributos de nível superior da carga de trabalho e suportar a capacidade de deteção e a governação.Para as flags obrigatórias e opcionais, substitua o seguinte:
- Obrigatório:
PROJECT_ID: o ID do projeto de gestão. Obrigatório:
REGION: a região específica da sua carga de trabalho com base na sua distribuição geográfica. Use um dos seguintes valores:- Se a carga de trabalho for regional, especifique o nome da região suportada pelo App Hub.
- Se a carga de trabalho for global, use
global.
Obrigatório:
APPLICATION_NAME: o nome da aplicação para a qual quer registar a carga de trabalho.Obrigatório:
WORKLOAD_ID: o ID da carga de trabalho que copiou da saída anterior.Opcional:
WORKLOAD_DISPLAY_NAME: o nome a apresentar da sua carga de trabalho.Opcional:
CRITICALITY: o nível de importância da carga de trabalho para as suas operações. Use um dos seguintes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEeDEV_EMAIL: o nome a apresentar e o endereço de email do proprietário programador, respetivamente.Opcional:
OPERATOR_NAMEeOPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.Opcional:
BUSINESS_NAMEeBUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.
- Obrigatório:
Liste as cargas de trabalho registadas na sua aplicação:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONTem de obter um resultado semelhante ao seguinte para cada carga de trabalho registada:
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 para registar Google Cloud recursos no limite de gestão da sua aplicação como serviços ou cargas de trabalho numa aplicação, use as origens de dados
google_apphub_discovered_service
e
google_apphub_discovered_workload
para obter dinamicamente informações sobre os recursos que
quer registar.
Em seguida, use os recursos
google_apphub_service
ou
google_apphub_workload
para registar serviços ou cargas de trabalho, respetivamente.
Serviços de registo
Obtenha informações sobre um serviço através do respetivo URI:
data "google_apphub_discovered_service" "my-service" { location = "REGION" service_uri = "SERVICE_URI" }Registe o serviço descoberto na sua aplicação, 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." }
Registe cargas de trabalho
Obtenha informações sobre uma carga de trabalho através do respetivo URI:
data "google_apphub_discovered_workload" "my-workload" { location = "REGION" workload_uri = "WORKLOAD_URI" }Registe a carga de trabalho descoberta na sua aplicação, 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 estado de registo dos serviços e das cargas de trabalho registados numa aplicação pode mudar para desassociado se mover um projeto ou uma pasta para fora do limite de gestão da sua aplicação ou eliminar o recurso subjacente. Os serviços e as cargas de trabalho separados permanecem na aplicação até anular o registo, mas o App Hub já não os pode gerir nem monitorizar. Para mais informações, consulte o artigo Estado de registo de serviços e cargas de trabalho.
Para voltar a anexar serviços ou cargas de trabalho a uma aplicação, tem de os registar novamente.
Conceda autorizações e inicie operações
Depois de criar uma aplicação e registar serviços e cargas de trabalho no App Hub, tem de conceder acesso de utilizador com base nas responsabilidades do ciclo de vida para gerir este agrupamento lógico como uma única unidade:
- Consoante as suas necessidades de acesso, pode conceder autorizações a aplicações individuais ou a todas as aplicações. Para ver uma lista de funções recomendadas, consulte o artigo Conceda funções centradas na aplicação aos seus utilizadores.
- Opcionalmente, navegue para o Cloud Hub para ver um painel de controlo operacional unificado para a sua aplicação definida, incluindo os respetivos dados de estado, desempenho e custos.