O registo dos seus recursos Google Cloud existentes como serviços e cargas de trabalho numa aplicação 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.
Navegue para a página Aplicações a partir do App Hub:
Clique em Criar candidatura.
No painel Escolha a região e o nome da aplicação, selecione a melhor localização para a sua aplicação com base nos requisitos de distribuição geográfica:
- 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.
- Selecione Global para criar uma aplicação global.
Para mais informações sobre a melhor localização para a sua aplicação, consulte o artigo Aplicações globais e regionais.
Introduza o Nome da aplicação e clique em Continuar. Este nome é um identificador exclusivo que só pode conter letras minúsculas, números ou hífenes. Não pode alterar este nome depois de criar a aplicação.
Opcional: defina os atributos de nível superior da aplicação para suportar a capacidade de descoberta e a governação:
- Na secção Adicionar atributos, introduza o Nome a apresentar. O nome a apresentar não é um identificador exclusivo e pode alterá-lo depois de criar a aplicação.
- Na lista Criticidade, selecione um valor para indicar a importância da aplicação.
- Na lista Ambiente, selecione um valor para indicar a fase do ciclo de vida do software.
- Adicione detalhes das informações de contacto dos proprietários, incluindo o nome a apresentar e o endereço de email. Tenha em atenção que os endereços de email têm de ter o formato
username@yourdomain, por exemplo,jane-doe@gmail.com.
Clique em Criar.
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 sinalizações 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 aplicações 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 localização
--scope-typeda 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 localização
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 do 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, registe os seus recursos Google Cloud existentes 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
- Na Google Cloud consola, use o seletor de projetos para selecionar o seu projeto de gestão.
Navegue para a página Aplicações a partir do App Hub:
Clique no nome da aplicação para a qual quer registar recursos Google Cloud existentes como serviços e cargas de trabalho.
Na página de detalhes da aplicação, selecione o separador Serviços e cargas de trabalho. Este separador apresenta a lista de recursos existentes que pode registar na aplicação. 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.
Para cada serviço ou carga de trabalho que quer registar, faça o seguinte:
- No separador Serviços e cargas de trabalho, clique em Registar serviço/carga de trabalho.
- Navegue até ao painel Selecionar recurso e clique em Procurar para encontrar o serviço ou a carga de trabalho que quer registar.
- Escolha o serviço ou a carga de trabalho e clique em Selecionar.
- No painel Selecionar recurso, introduza um nome para o serviço ou a carga de trabalho e clique em Continuar.
Opcional: no painel Adicionar atributos, defina os atributos de nível superior do recurso para suportar a capacidade de deteção e a governação.
Clique em Continuar.
Opcional: na secção Adicionar proprietários, adicione mais detalhes sobre os proprietários do serviço ou da carga de trabalho.
Clique em Registar.
O separador Serviços e cargas de trabalho apresenta o serviço ou a carga de trabalho registada.
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 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.
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 do 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 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 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 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 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 do 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.