Questo tutorial mostra come configurare un'applicazione App Hub in un singolo progetto che funge da progetto host e di servizio di App Hub. In un progetto di servizio, esegui il deployment di un gruppo di istanze gestite (MIG) con bilanciamento del carico e collega il progetto di servizio al progetto host App Hub. Poi, in un'applicazione del progetto host App Hub, registri e monitori tutte le risorse dell'infrastruttura del progetto di servizio come servizi e workload di App Hub.
Questo tutorial è rivolto alle persone che configurano e amministrano App Hub. Devi avere una certa esperienza con Cloud Load Balancing.
Obiettivi
Questo tutorial mostra come completare le seguenti attività:- Crea o seleziona un Google Cloud progetto. Questo progetto è il tuo progetto host e di servizio di App Hub. In questo progetto, abilita l'API App Hub.
In questo progetto, utilizza Terraform per eseguire il deployment di una rete VPC, di un bilanciatore del carico delle applicazioni esterno regionale e di un backend MIG per il bilanciatore del carico. Il bilanciatore del carico delle applicazioni esterno regionale include le seguenti risorse:
- Controllo di integrità HTTP
- Regola di forwarding
- Mappa URL
- Proxy di destinazione
- Servizio di backend con un gruppo di istanze gestite come backend
- Certificato SSL (per HTTPS)
Solo la regola di forwarding, la mappa URL, il servizio di backend e il gruppo di istanze gestite diventano disponibili come risorse scoperte su App Hub. Per maggiori informazioni, consulta la sezione Concetti e modello di dati.
Assegna a questo progetto i ruoli e le autorizzazioni appropriati per fungere da progetto host dell'hub app.
Collega il progetto host di App Hub come progetto di servizio App Hub per rilevare le risorse Google Cloud del progetto di servizio come servizi e workload rilevati.
Crea un'applicazione App Hub regionale nel progetto host App Hub.
Registra i servizi e un workload rilevati dal progetto di servizio nell'applicazione App Hub e assegna gli attributi.
Visualizza i dettagli dei servizi e dei workload registrati su App Hub.
Costi
Per una stima del costo delle risorse Google Cloud utilizzate dalla soluzione di VM gestite con bilanciamento del carico, consulta la stima precalcolata nel Google Cloud Calcolatore prezzi.
Utilizza la stima come punto di partenza per calcolare il costo del deployment. Puoi modificare la stima per riflettere eventuali modifiche alla configurazione che prevedi di apportare alle risorse utilizzate nella soluzione.
La stima precalcolata si basa su ipotesi per determinati fattori, tra cui:
- Le Google Cloud posizioni in cui vengono eseguito il deployment delle risorse.
- Il periodo di tempo in cui vengono utilizzate le risorse.
Per ulteriori informazioni sui costi di App Hub, consulta la pagina Prezzi.
Prima di iniziare
Se hai creato il progetto, ti viene concesso il ruolo di base Proprietario (roles/owner
). Per impostazione predefinita, questo ruolo Identity and Access Management (IAM) include le autorizzazioni necessarie per l'accesso completo alla maggior parte delle risorse Google Cloud.
Se non sei l'autore del progetto, le autorizzazioni richieste devono essere concesse al principal appropriato. Ad esempio, un'entità può essere un Account Google (per gli utenti finali) o un account di servizio (per applicazioni e carichi di lavoro).
Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Amministratore utilizzo servizi (
roles/serviceusage.services.enable
) -
Amministratore account di servizio (
roles/iam.serviceAccounts.create
) -
Amministratore IAM progetto (
roles/resourcemanager.projectIamAdmin
) -
Cloud Infrastructure Manager (
roles/config.admin
) -
Amministratore di App Hub (
roles/apphub.admin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Console
Nella console Google Cloud , vai alla pagina di selezione del progetto.
Seleziona o crea un Google Cloud progetto, che sarà il progetto host di App Hub.
-
Enable the App Hub, Cloud Resource Manager, Compute Engine, Infrastructure Manager, and Service Usage APIs.
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.
Assicurati che sia installata la versione più recente di Google Cloud CLI. Esegui il seguente comando da Cloud Shell:
gcloud components update
Crea o seleziona un nuovo progetto,
HOST_PROJECT_ID
, che fungerà da progetto host per App Hub.Creare un progetto Google Cloud :
gcloud projects create HOST_PROJECT_ID
Seleziona il Google Cloud progetto che hai creato:
gcloud config set project HOST_PROJECT_ID
Abilita le API App Hub, Cloud Resource Manager, Compute Engine, Infrastructure Manager e Service Usage:
gcloud services enable apphub.googleapis.com \ cloudresourcemanager.googleapis.com \ compute.googleapis.com \ config.googleapis.com \ serviceusage.googleapis.com
Preparazione dell'ambiente
Per aiutarti a eseguire il deployment di questa soluzione con il minimo sforzo, in GitHub è disponibile una configurazione Terraform. La configurazione Terraform definisce tutte le Google Cloud risorse necessarie per la soluzione. Scarica la configurazione di Terraform da GitHub, personalizza facoltativamente il codice in base alle esigenze e poi esegui il deployment della soluzione utilizzando la CLI Terraform. Dopo aver eseguito il deployment della soluzione, puoi continuare a utilizzare Terraform per gestirla.
Di seguito è riportato il flusso di elaborazione delle richieste della topologia di cui viene eseguito il deployment dalla soluzione di VM gestite con bilanciamento del carico.
L'utente invia una richiesta all'applicazione di cui è stato eseguito il deployment in Compute Engine. Cloud Load Balancing riceve questa richiesta.
Cloud Load Balancing instrada il traffico ai gruppi di istanze gestite di Compute Engine utilizzando le informazioni nella regola di forwarding, nella mappa URL e nel servizio di backend.
Configura il client Terraform
Puoi eseguire Terraform in Cloud Shell o sull'host locale. Questo tutorial descrive come eseguire Terraform in Cloud Shell, che ha Terraform preinstallato e configurato per l'autenticazione con Google Cloud.
Il codice Terraform per questa soluzione è disponibile in un repository GitHub.
In Cloud Shell, clona il repository GitHub in Cloud Shell.
git clone https://github.com/terraform-google-modules/terraform-docs-samples
In Cloud Shell, controlla se la directory di lavoro attuale è
terraform-docs-samples/lb/regional_external_http_load_balancer
. Questa è la directory che contiene i file di configurazione Terraform per la soluzione. Se devi passare a questa directory, esegui questo comando:cd terraform-docs-samples/lb/regional_external_http_load_balancer
Inizializza Terraform eseguendo questo comando:
terraform init
Attendi finché non viene visualizzato il seguente messaggio:
Terraform has been successfully initialized!
Convalida e rivedi la configurazione Terraform
Assicurati che la directory di lavoro attuale sia
terraform-docs-samples/lb/regional_external_http_load_balancer
. In caso contrario, vai a quella directory.Verifica che la configurazione di Terraform non contenga errori:
terraform validate
Se il comando restituisce errori, apporta le correzioni necessarie alla configurazione e poi esegui di nuovo il comando
terraform validate
. Ripeti questo passaggio finché il comando non restituisce il seguente messaggio:Success! The configuration is valid.
Esamina le risorse definite nella configurazione:
terraform plan
L'output del comando
terraform plan
è un elenco delle risorse di cui Terraform esegue il provisioning quando applichi la configurazione.Se vuoi apportare modifiche, modifica la configurazione ed esegui di nuovo i comandi
terraform validate
eterraform plan
.
Esegui il provisioning delle risorse
Quando non sono necessarie ulteriori modifiche nella configurazione Terraform, esegui il deployment delle risorse.
Assicurati che la directory di lavoro attuale sia
terraform-docs-samples/lb/regional_external_http_load_balancer
. In caso contrario, vai a quella directory.Applica la configurazione Terraform:
terraform apply
Terraform mostra un elenco delle risorse che verranno create.
Quando ti viene chiesto di eseguire le azioni, inserisci
yes
.Terraform mostra messaggi che indicano l'avanzamento del deployment.
Se il deployment non può essere completato, Terraform mostra gli errori che hanno causato l'errore. Esamina i messaggi di errore e aggiorna la configurazione per correggere gli errori. Quindi esegui di nuovo il comando
terraform apply
.Una volta create tutte le risorse, Terraform visualizza il seguente messaggio:
Apply complete!
Attendi che Terraform visualizzi il messaggio "Apply complete!" (Applicazione completata).
Cloud Load Balancing distribuisce il traffico alla regola di forwarding, alla mappa URL, al servizio di backend e a un gruppo di istanze gestite Compute Engine. Il servizio di backend, la mappa URL e le regole di forwarding diventano servizi rilevati nel progetto host di App Hub. Il MIG di Compute Engine diventa un workload rilevato nel progetto host App Hub.
Quando la soluzione non ti serve più, puoi eliminare il deployment per evitare l'addebito continuo delle risorse Google Cloud . Per saperne di più, consulta Elimina il deployment.
Concedi autorizzazioni IAM
Fornisci i ruoli e le autorizzazioni IAM appropriati al progetto host di App Hub.
Console
Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i ruoli IAM richiesti nel progetto:
Nella console Google Cloud vai alla pagina IAM.
Fai clic su
Concedi l'accesso. Si apre il riquadro Concedi l'accesso.Nel campo Nuove entità, inserisci l'indirizzo email della persona che amministrerà App Hub, ovvero il ruolo Amministratore App Hub nel progetto host.
Fai clic su Seleziona un ruolo e nel campo Filtro inserisci
App Hub
.Seleziona il ruolo Amministratore Hub delle app.
Fai clic su Aggiungi un altro ruolo e seleziona Visualizzatore Monitoring dall'elenco Seleziona un ruolo.
Fai clic su Salva.
gcloud
Per concedere i ruoli alle persone che utilizzeranno App Hub, ripeti il seguente comando sostituendo i ruoli IAM, se necessario. Per ulteriori informazioni, consulta Ruoli e autorizzazioni di App Hub.
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Sostituisci
HOST_PROJECT_ADMIN
con l'utente che ha il ruolo di amministratore di App Hub nel progetto host. Questo valore ha il formatousername@yourdomain
, ad esempio,222larabrown@gmail.com
.Concedi il ruolo Amministratore App Hub nel progetto di servizio alle persone che amministrano App Hub. Per aggiungere progetti di servizio al progetto host, devono disporre del ruolo di amministratore di App Hub. Per ogni progetto di servizio è necessaria almeno una persona con questo ruolo. In questo esempio, il progetto host funge da progetto di servizio.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Sostituisci
SERVICE_PROJECT_ID
con il nome di HOST_PROJECT_ID.Concedi il ruolo Visualizzatore monitoraggio nel progetto host alle persone che amministrano App Hub. Per visualizzare le metriche, devono disporre del ruolo Monitoring Viewer nel progetto host.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/monitoring.viewer'
Allegare un progetto di servizio
I progetti di servizio sono progetti che contengono risorse dell'infrastruttura che puoi registrare in un'applicazione App Hub. Google Cloud Per maggiori informazioni, consulta Progetti di servizio. Per questo tutorial, poiché abbiamo un solo progetto, collega il progetto in cui hai eseguito il deployment delle risorse come progetto di servizio App Hub.
Console
Nella Google Cloud console, vai alla pagina Impostazioni di App Hub.
Nella pagina Impostazioni, fai clic su Allega progetti.
Nel riquadro che si apre, cerca i progetti nell'elenco visualizzato e seleziona le caselle di controllo per i progetti di servizio App Hub.
Fai clic su Seleziona. La tabella Progetti di servizio collegati mostra il progetto host selezionato come progetto di servizio.
Fai clic su Chiudi.
gcloud
Aggiungi il progetto host come progetto di servizio al progetto host dell'hub app.
gcloud apphub service-projects add HOST_PROJECT_ID \ --project=HOST_PROJECT_ID
Dopo aver collegato il progetto di servizio al progetto host App Hub, puoi visualizzare tutte le risorse Google Cloud del progetto di servizio collegato come servizi e workload App Hub rilevati. Per ulteriori informazioni su come visualizzare questi servizi e workload rilevati, consulta Visualizzare applicazioni, servizi e workload esistenti.
Crea un'applicazione
Crea un'applicazione che funga da contenitore per i tuoi servizi e workload. Quando crei un'applicazione, puoi assegnare proprietà immutabili come un tipo di ambito o una posizione da cui vuoi registrare risorse e attributi variabili come criticità e ambiente. Puoi utilizzare gli attributi delle variabili per filtrare le applicazioni. Per saperne di più, consulta Proprietà e attributi.
In questo tutorial creerai un'applicazione regionale per gestire le risorse di una regione specifica. Se hai Google Cloud risorse nei progetti di servizio App Hub collegati che vengono implementate a livello globale o in più regioni, puoi creare un'applicazione globale e registrare queste risorse. Per ulteriori informazioni su come creare un'applicazione globale, vedi Configurare App Hub.
Console
- Assicurati di trovarti nel progetto host di App Hub.
Nella console Google Cloud , vai alla pagina Applicazioni di App Hub.
Fai clic su Crea applicazione.
Nella pagina Crea applicazione, seleziona Regionale nel riquadro Scegli la regione e il nome dell'applicazione.
Nell'elenco Regione, seleziona us-west1.
Nel campo Nome applicazione, inserisci
tutorial-application
. Questo nome è un identificatore univoco ed è immutabile dopo la creazione dell'applicazione.Inserisci un Nome visualizzato,
Tutorial
e fai clic su Continua. Si tratta di un nome intuitivo che puoi aggiornare. Per ulteriori informazioni, vedi Aggiornare un'applicazione esistente.Nel riquadro Aggiungi attributi, seleziona Alta dall'elenco Criticità. La criticità indica quanto un'applicazione, un servizio o un workload è fondamentale per le tue operazioni aziendali.
Nel campo Ambiente, per indicare la fase del ciclo di vita del software, seleziona Produzione.
Fai clic su Continua.
Nel riquadro Aggiungi proprietari, aggiungi i seguenti dettagli per Proprietari sviluppatori, Proprietari operatori e Proprietari dell'attività. Tieni presente che devi inserire l'indirizzo email del proprietario se aggiungi un nome visualizzato.
- Inserisci un nome visualizzato del proprietario.
- Inserisci l'indirizzo email del proprietario. Questo valore deve avere
il formato
username@yourdomain
, ad esempio222larabrown@gmail.com
.
Ripeti questi passaggi per ogni sviluppatore, operatore e proprietario dell'attività.
Fai clic su Crea.
La nuova applicazione viene creata ed è elencata nella pagina Applicazioni. Tieni presente che solo la regola di forwarding, la mappa URL, il servizio di backend e il gruppo di istanze gestite (MIG) diventano disponibili come risorse individuate nell'applicazione App Hub. Per maggiori informazioni, consulta la sezione Concetti e modello di dati.
gcloud
Seleziona il progetto host di App Hub che hai creato:
gcloud config set project HOST_PROJECT_ID
Crea una nuova applicazione denominata
tutorial-application
nella regioneus-west1
e assegnale un nome visualizzato,Tutorial
. Il nome dell'applicazione,tutorial-application
è un identificatore univoco e non può essere modificato dopo la creazione dell'applicazione. Il nome visualizzato,Tutorial
è un nome facile da usare che puoi aggiornare. Per ulteriori informazioni, vedi Aggiornare un'applicazione esistente.gcloud apphub applications create tutorial-application \ --display-name='Tutorial' \ --scope-type=REGIONAL \ --project=HOST_PROJECT_ID \ --location=us-west1
Elenca le applicazioni nel progetto host App Hub:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
Vedi un output simile al seguente:
ID DISPLAY_NAME CREATE_TIME tutorial-application Tutorial 2023-10-31T18:33:48
Aggiorna la tua applicazione con gli attributi
criticality-type
,environment-type
e proprietario:gcloud apphub applications update tutorial-application \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=HOST_PROJECT_ID \ --location=us-west1
Sostituisci quanto segue:
DISPLAY-NAME-DEVELOPER
,DISPLAY-NAME-OPERATOR
eDISPLAY-NAME-BUSINESS
: nomi visualizzati dello sviluppatore, dell'operatore e dei proprietari dell'attività, rispettivamente.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
eEMAIL-NAME-BUSINESS
: indirizzi email rispettivamente dello sviluppatore, dell'operatore e dei proprietari dell'attività. Questi valori devono avere il formatousername@yourdomain
, ad esempio,222larabrown@gmail.com
.
Note:
criticality-type
: indica la criticità di un'applicazione, di un servizio o di un workload per le operazioni aziendali.environment-type
: indica le fasi del ciclo di vita del software.
Recupera i dettagli dell'applicazione che hai creato:
gcloud apphub applications describe tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Il comando restituisce informazioni in formato YAML, simili alle seguenti:
attributes: businessOwners: – displayName: [DISPLAY-NAME-BUSINESS] email: [EMAIL-BUSINESS] criticality: type: HIGH developerOwners: – displayName: [DISPLAY-NAME-DEVELOPER] email: [EMAIL-DEVELOPER] environment: type: PRODUCTION operatorOwners: – displayName: [DISPLAY-NAME-OPERATOR] email: [EMAIL-OPERATOR] createTime: '2023-10-31T18:33:48.199394108Z' displayName: Tutorial name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application scope: type: REGIONAL state: ACTIVE uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73 updateTime: '2023-10-31T18:33:48.343303819Z'
Registra servizi e workload
La registrazione di servizi e workload li aggiunge a un'applicazione che ti consente di monitorare le risorse aggiunte.
Console
Nella console Google Cloud , vai alla pagina Applicazioni di App Hub.
Fai clic sul nome dell'applicazione, Tutorial. Viene visualizzata la scheda Servizi e workload con un elenco di servizi e workload registrati che si trovano nei progetti di servizio App Hub.
Registra un servizio:
- Nella scheda Servizi e workload, fai clic su Registra servizio/workload.
- Nella pagina Registra servizio o carico di lavoro, nel riquadro Seleziona risorsa, fai clic su Sfoglia per selezionare il servizio o il carico di lavoro come Risorsa.
- Nel riquadro Seleziona risorsa, scegli il Nome del servizio, l7-xlb-backend-service, e fai clic su Seleziona.
- Nel riquadro Seleziona risorsa, inserisci il Nome della risorsa,
tutorial-service-backend
. - Inserisci un Nome visualizzato,
Backend service
e fai clic su Continua. - Nel riquadro Aggiungi attributi, nell'elenco Criticità, per indicare l'importanza dell'applicazione, seleziona Alta.
- Nel campo Ambiente, per indicare la fase del ciclo di vita del software, seleziona Produzione.
- Fai clic su Continua.
- Nel riquadro Aggiungi proprietari, aggiungi i seguenti dettagli in base alle esigenze per
Proprietari sviluppatori, Proprietari operatori e Proprietari dell'attività.
Tieni presente che devi inserire l'indirizzo email del proprietario se aggiungi un
nome visualizzato.
- Inserisci un nome visualizzato del proprietario.
- Inserisci l'indirizzo email del proprietario. Questo valore deve avere
il formato
username@yourdomain
, ad esempio222larabrown@gmail.com
.
- Ripeti questi passaggi per ogni sviluppatore, operatore e proprietario dell'attività.
- Fai clic su Register (Registrati).
Nella scheda Servizi e carichi di lavoro, nella sezione Servizi e carichi di lavoro registrati, puoi visualizzare il nuovo servizio aggiunto.
Ripeti i passaggi precedenti per registrare gli altri servizi come tutorial-service-forwarding-rule e tutorial-service-url-map, rispettivamente.
Registra un workload ripetendo i passaggi precedenti per registrare un servizio con le seguenti eccezioni:
- Nel riquadro Registra servizio o workload, nella sezione Scegli servizio o workload, seleziona il Nome del workload, l7-xlb-backend-example, e fai clic su Continua.
- Nel riquadro Seleziona risorsa, inserisci il Nome della risorsa,
tutorial-workload-mig
. - Inserisci un Nome visualizzato,
Workload instance group
e fai clic su Continua. Nella scheda Servizi e carichi di lavoro, nella sezione Servizi e carichi di lavoro registrati, puoi visualizzare il nuovo carico di lavoro aggiunto.
gcloud
Aggiungi una persona con autorizzazioni Editor di App Hub:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:APP_HUB_EDITOR' \ --role='roles/apphub.editor'
Sostituisci
APP_HUB_EDITOR
con l'utente che ha il ruolo Editor App Hub nel progetto host App Hub. Questo valore ha il formatousername@yourdomain
, ad esempio,222larabrown@gmail.com
.Elenca tutti i servizi rilevati nel progetto host App Hub. Questo comando restituisce i servizi che possono essere registrati in un'applicazione.
gcloud apphub discovered-services list \ --project=HOST_PROJECT_ID \ --location=us-west1
Vedi un output simile al seguente:
ID SERVICE_REFERENCE SERVICE_PROPERTIES
BACKEND_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}FORWARDING_RULE_SERVICE_ID"
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}URL_MAP_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}Copia i servizi
ID
, ad esempioBACKEND_SERVICE_SP2_ID
dall'output da utilizzare nel passaggio successivo.Registra i servizi del passaggio precedente nella tua applicazione. Copia gli ID servizio dal campo di output del passaggio precedente.
gcloud apphub applications services create tutorial-service-backend \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \ --display-name='Backend service' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-service-forwarding-rule \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \ --display-name='Forwarding rule' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-service-url-map \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \ --display-name='URL map' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Sostituisci quanto segue:
BACKEND_SERVICE_ID
: il servizioID
del servizio di backend che vuoi registrare.FORWARDING_RULE_SERVICE_ID
: il servizioID
della regola di forwarding che vuoi registrare.URL_MAP_SERVICE_ID
: il servizioID
della mappa degli URL che vuoi registrare.
Elenca tutti i servizi registrati nell'applicazione:
gcloud apphub applications services list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Vedi un output simile al seguente:
I servizi registrati, ma separati, sono indicati da un valore vuoto nel campoID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME tutorial-service-backend Backend service {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} 2024-02-13T00:31:45 tutorial-service-forwarding-rule Forwarding rule {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} 2024-02-13T00:31:45 tutorial-service-url-map URL map {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} 2024-02-13T00:31:45
SERVICE_REFERENCE
. Per ulteriori informazioni sugli stati di registrazione, consulta le proprietà e gli attributi di App Hub.Elenca tutti i workload rilevati nel progetto host di App Hub. Questo comando restituisce i workload disponibili per la registrazione a un'applicazione.
gcloud apphub discovered-workloads list \ --project=HOST_PROJECT_ID \ --location=us-west1
Vedi un output simile al seguente:
Copia l'ID workload dall'output da utilizzare nel passaggio successivo.ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES
INSTANCE_GROUP_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}Registra i workload del passaggio precedente nella tua applicazione. Copia l'ID carico di lavoro dal campo di output del passaggio precedente.
Sostituiscigcloud apphub applications workloads create tutorial-workload-mig \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \ --display-name='Workload instance group' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
WORKLOAD_ID
con l'ID del carico di lavoro che vuoi registrare.Elenca tutti i carichi di lavoro registrati nell'applicazione:
gcloud apphub applications workloads list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Vedi un output simile al seguente:
I workload registrati, ma separati, sono indicati da un valore vuoto nel campoID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME tutorial-workload-mig Workload instance group {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} 2024-02-13T00:31:45
WORKLOAD_REFERENCE
. Per ulteriori informazioni sugli stati di registrazione, consulta le proprietà e gli attributi di App Hub.
Visualizza tutti i servizi e i workload
Puoi visualizzare i dettagli dei servizi e dei workload dei progetti di servizio collegati al progetto host App Hub.
Nella Google Cloud console, vai alla pagina Servizi e workload di App Hub.
Nell'elenco Regione, seleziona us-west1. Il workload Gruppo di istanze di workload viene visualizzato con dettagli quali Tipo di App Hub, Criticità e Registrato in.
Per filtrare i servizi o i workload in base al loro stato:
- Nel campo Filtro, seleziona filtri come Stato registrazione.
- Fai clic su Registrato. Viene visualizzato un elenco di servizi e workload registrati all'applicazione.
Monitorare le applicazioni
Application Monitoring fornisce dashboard pronte all'uso per monitorare log, metriche e incidenti per le applicazioni App Hub e i relativi servizi e carichi di lavoro registrati. Per ulteriori informazioni, vedi Monitoraggio delle applicazioni. Per visualizzare queste dashboard:
Nella console Google Cloud , vai alla pagina Applicazioni di App Hub.
Esegui una di queste operazioni:
- Per visualizzare la dashboard OOTB di primo livello che elenca le informazioni di riepilogo per un elenco di applicazioni registrate nel tuo progetto host o nella cartella abilitata per le app, fai clic su Visualizza in Observability.
- Per visualizzare la dashboard OOTB per un'applicazione:
- Fai clic sul nome dell'applicazione.
- Fai clic su Visualizza dashboard di osservabilità.
- Per visualizzare la dashboard OOTB per un servizio o un carico di lavoro specifico, segui
questi passaggi:
- Fai clic sul nome dell'applicazione.
- Nella riga che mostra il nome del servizio o del carico di lavoro, fai clic su
Visualizza dashboard di osservabilità.
Per saperne di più su come visualizzare le dashboard, vedi Visualizzare la telemetria delle applicazioni.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina le risorse App Hub
Console
Nella console Google Cloud , vai alla pagina Applicazioni di App Hub.
Fai clic sul nome di un'applicazione, ad esempio Tutorial.
Nella scheda Servizi e carichi di lavoro, nella sezione Servizi e carichi di lavoro registrati, fai clic sul nome di un servizio.
Nella pagina Servizi e carichi di lavoro, fai clic su Annulla registrazione.
Un avviso indica che il servizio non è registrato.
Nella scheda Servizi e workload, nella sezione Servizi e workload registrati, fai clic sul nome di un workload.
Nella scheda Dettagli, fai clic su Annulla registrazione.
Un avviso ti informa che il carico di lavoro è stato annullato.
Vai alla pagina Applicazioni di App Hub.
Fai clic sul nome di un'applicazione.
Nella pagina tutorial-application, fai clic su Elimina.
Nella Google Cloud console, vai alla pagina Impostazioni di App Hub.
Nella pagina Impostazioni, seleziona la casella di controllo per il progetto di servizio da rimuovere dal progetto host di App Hub.
Fai clic su Scollega progetti.
gcloud
Elenca i servizi registrati nell'applicazione:
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Annulla la registrazione dei servizi dall'applicazione:
gcloud apphub applications services delete SERVICE_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Sostituisci
SERVICE_NAME
con il nome del tuo servizio. I servizi sono ora servizi rilevati che possono essere registrati nell'applicazione.Elenca i workload registrati nell'applicazione:
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Annulla la registrazione del workload dall'applicazione:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Sostituisci
WORKLOAD_NAME
con il nome del tuo carico di lavoro. Il workload è ora un workload rilevato che può essere registrato nell'applicazione.Elimina l'applicazione:
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Rimuovi il progetto di servizio dal progetto host App Hub:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Elimina il deployment
Quando la soluzione non ti serve più, per evitare l'addebito di ulteriori costi per le risorse che hai creato in questa soluzione, elimina tutte le risorse.
Utilizza questa procedura se hai eseguito il deployment della soluzione utilizzando l'interfaccia a riga di comando di Terraform.
In Cloud Shell, assicurati che la directory di lavoro corrente sia
terraform-docs-samples/lb/regional_external_http_load_balancer
. In caso contrario, vai a quella directory.Rimuovi le risorse di cui è stato eseguito il provisioning da Terraform:
terraform destroy
Terraform mostra un elenco delle risorse che verranno eliminate.
Quando ti viene chiesto di eseguire le azioni, inserisci
yes
.Terraform mostra messaggi che indicano l'avanzamento. Dopo l'eliminazione di tutte le risorse, Terraform visualizza il seguente messaggio:
Destroy complete!
Quando non hai più bisogno del progetto Google Cloud che hai utilizzato per la soluzione, puoi eliminarlo.
Elimina il progetto
Console
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
gcloud
Elimina un progetto Google Cloud :
gcloud projects delete PROJECT_ID
Sostituisci PROJECT_ID
con gli ID progetto host o di servizio.