Creare un'applicazione App Hub utilizzando un singolo progetto


App Hub ti consente di gestire e visualizzare le risorse di infrastruttura dai progetti Google Cloud tramite le applicazioni App Hub. Per creare queste applicazioni App Hub, devi avere un progetto host App Hub a cui puoi collegare progetti di servizio contenenti risorse Google Cloud.

Questo tutorial mostra come configurare un'applicazione App Hub in un singolo progetto che funge da progetto di servizio e host di App Hub. In un progetto di servizio, esegui il deployment di un gruppo di istanze gestite (MIG) bilanciato in base al carico e collega il progetto di servizio al progetto host App Hub. Poi, in un'applicazione nel progetto host App Hub, registri e monitori tutte le risorse di infrastruttura del progetto di servizio come servizi e workload di App Hub.

Questo tutorial è rivolto a chi configura e amministra App Hub. Dovresti avere una certa esperienza con Cloud Load Balancing.

Obiettivi

Questo tutorial mostra come completare le seguenti attività:

  1. Crea o seleziona un progetto Google Cloud. Questo progetto è il progetto di servizio e host di App Hub. In questo progetto, abilita l'API App Hub.
  2. 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 rilevate su App Hub. Per ulteriori informazioni, consulta concetti e modello di dati.

  3. Fornisci i ruoli e le autorizzazioni appropriati a questo progetto in modo che possa fungere da progetto host dell'hub per app.

  4. Collega il progetto host di App Hub come progetto di servizio App Hub per rilevare le risorse Google Cloud dal progetto di servizio come servizi e carichi di lavoro rilevati.

  5. Crea un'applicazione App Hub regionale nel progetto host di App Hub.

  6. Registra i servizi rilevati e un carico di lavoro dal progetto di servizio nell'applicazione App Hub e assegna gli attributi.

  7. Visualizza i dettagli dei servizi e dei carichi di lavoro 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 Calcolatore prezzi di Google Cloud.

Utilizza la stima come punto di partenza per calcolare il costo del deployment. Puoi modificare la stima in base alle modifiche di configurazione che prevedi di apportare alle risorse utilizzate nella soluzione.

La stima precalcolata si basa su ipotesi relative a determinati fattori, tra cui:

  • Le località Google Cloud in cui vengono implementate le risorse.
  • La durata dell'utilizzo delle risorse.

Per ulteriori informazioni sui costi di App Hub, consulta la pagina Prezzi.

Prima di iniziare

Se sei il creator del progetto, ti viene concesso il ruolo di proprietario di base (roles/owner). Per impostazione predefinita, questo ruolo di Identity and Access Management (IAM) include le autorizzazioni necessarie per l'accesso completo alla maggior parte delle risorse Google Cloud.

Se non sei il creator del progetto, le autorizzazioni richieste devono essere concesse al principale appropriato. Ad esempio, un'entità può essere un Account Google (per gli utenti finali) o un account di servizio (per le applicazioni e i carichi di lavoro).

Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Console

  1. Nella console Google Cloud, vai alla pagina di selezione del progetto.

    Vai al selettore dei progetti

  2. Seleziona o crea un progetto Google Cloud, che sarà il progetto host di App Hub.

  3. Enable the required APIs.

    Enable the APIs

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. Assicurati che sia installata la versione più recente di Google Cloud CLI. Esegui il seguente comando da Cloud Shell:

      gcloud components update

  3. Crea o seleziona un nuovo progetto,HOST_PROJECT_ID, da utilizzare come progetto host per App Hub.

    • Crea un progetto Google Cloud:

      gcloud projects create HOST_PROJECT_ID
    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project HOST_PROJECT_ID
  4. Abilita le API:

    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, su GitHub è disponibile una configurazione Terraform. La configurazione Terraform definisce tutte le risorse Google Cloud necessarie per la soluzione. Scarica la configurazione Terraform da GitHub, personalizza facoltativamente il codice in base alle esigenze e poi esegui il deployment della soluzione utilizzando Terraform CLI. Dopo aver eseguito il deployment della soluzione, puoi continuare a utilizzare Terraform per gestirla.

Carichi di lavoro e servizi di App Hub con un bilanciatore del carico e un gruppo di istanze gestite.
Figura 1. Carichi di lavoro e servizi App Hub con un bilanciatore del carico e un gruppo di istanze gestite.

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.

  1. L'utente invia una richiesta all'applicazione di cui è stato eseguito il deployment su Compute Engine. Cloud Load Balancing riceve questa richiesta.

  2. 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 sul tuo 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.

  1. In Cloud Shell, clona il repository GitHub in Cloud Shell.

    git clone https://github.com/terraform-google-modules/terraform-docs-samples
    
  2. 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 il seguente comando:

    cd terraform-docs-samples/lb/regional_external_http_load_balancer 
    
  3. Inizializza Terraform eseguendo il seguente comando:

    terraform init
    

    Attendi finché non viene visualizzato il seguente messaggio:

    Terraform has been successfully initialized!
    

Convalida e rivedi la configurazione di Terraform

  1. Assicurati che la directory di lavoro corrente sia terraform-docs-samples/lb/regional_external_http_load_balancer. Se non è così, vai a quella directory.

  2. Verifica che la configurazione di Terraform non presenti errori:

    terraform validate
    

    Se il comando restituisce errori, apporta le correzioni necessarie alla configurazione ed esegui di nuovo il comando terraform validate. Ripeti questo passaggio finché il comando non restituisce il seguente messaggio:

    Success! The configuration is valid.
    
  3. 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 e terraform plan.

Esegui il provisioning delle risorse

Quando non sono necessarie ulteriori modifiche alla configurazione di Terraform, esegui il deployment delle risorse.

  1. Assicurati che la directory di lavoro corrente sia terraform-docs-samples/lb/regional_external_http_load_balancer. Se non è così, vai a quella directory.

  2. Applica la configurazione Terraform:

    terraform apply
    

    Terraform mostra un elenco delle risorse che verranno create.

  3. 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 il fallimento. Esamina i messaggi di errore e aggiorna la configurazione per correggerli. Quindi esegui di nuovo il comando terraform apply.

    Dopo aver creato tutte le risorse, Terraform visualizza il seguente messaggio:

    Apply complete!
    

Attendi che Terraform mostri il messaggio "Applicazione completata".

Cloud Load Balancing distribuisce il traffico alla regola di inoltro, alla mappa URL, al servizio di backend e a un gruppo di istanze gestite Compute Engine. Il servizio di backend, la mappa di URL e le regole di inoltro diventano servizi rilevati nel progetto host di App Hub. Il gruppo di istanze gestite Compute Engine diventa un carico di lavoro rilevato nel progetto host App Hub.

Quando la soluzione non è più necessaria, puoi eliminare il deployment per evitare la fatturazione continua delle risorse Google Cloud. Per ulteriori informazioni, consulta la sezione Eliminare il deployment.

Concedi autorizzazioni IAM

Fornisci i ruoli e le autorizzazioni IAM appropriati al progetto host App Hub.

Console

Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i ruoli IAM richiesti nel progetto:

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Fai clic su Concedi accesso. Viene visualizzato il riquadro Concedi l'accesso.

  3. Nel campo Nuove entità, inserisci l'indirizzo email della persona che amministrerà App Hub, ovvero il ruolo Amministratore App Hub nel progetto host.

  4. Fai clic su Seleziona un ruolo e nel campo Filtro, inserisci App Hub.

  5. Seleziona il ruolo Amministratore App Hub.

  6. Fai clic su Aggiungi un altro ruolo e dall'elenco Seleziona un ruolo, seleziona Visualizzatore monitoraggio.

  7. Fai clic su Salva.

gcloud

  1. Per concedere i ruoli alle persone che utilizzeranno App Hub, ripeti il seguente comando sostituendo i ruoli IAM, come richiesto. 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 formato username@yourdomain, ad esempio 222larabrown@gmail.com.

  2. Concedi il ruolo Amministratore di App Hub nel progetto di servizio alle persone che amministrano App Hub. Deve disporre del ruolo di amministratore di App Hub per aggiungere progetti di servizio al progetto host. 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 del HOST_PROJECT_ID.

  3. Concedi il ruolo Visualizzatore monitoraggio nel progetto host alle persone che amministrano App Hub. Per visualizzare le metriche, deve disporre del ruolo Visualizzatore monitoraggio nel progetto host.

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
       --member='user:HOST_PROJECT_ADMIN' \
       --role='roles/monitoring.viewer'

Collegare un progetto di servizio

I progetti di servizio sono progetti Google Cloud che contengono risorse di infrastruttura che puoi registrare in un'applicazione App Hub. Per maggiori informazioni, consulta Progetti di servizi. Per questo tutorial, poiché abbiamo un solo progetto, collega il progetto su cui hai disegnato le risorse come progetto di servizio App Hub.

Console

  1. Nella console Google Cloud, vai alla pagina Impostazioni di App Hub.

    Vai alle impostazioni

  2. Nella pagina Impostazioni, fai clic su Allega progetti.

  3. Nel riquadro che si apre, cerca i progetti nell'elenco visualizzato e seleziona le caselle di controllo per i progetti di servizi App Hub.

  4. Fai clic su Seleziona. La tabella Progetti di servizio collegati mostra il progetto host selezionato come progetto di servizio.

  5. Fai clic su Chiudi.

gcloud

Aggiungi il progetto host come progetto di servizio al progetto host App Hub.

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 carichi di lavoro rilevati, consulta Visualizzare applicazioni, servizi e carichi di lavoro esistenti.

Crea un'applicazione

Crea un'applicazione che fungerà da contenitore dei 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 variabili per filtrare le applicazioni. Per ulteriori informazioni, consulta Proprietà e attributi.

Console

  1. Assicurati di essere nel progetto host di App Hub.
  2. Nella console Google Cloud, vai alla pagina Applications (Applicazioni) di App Hub.

    Vai a Applicazioni

  3. Fai clic su Crea applicazione.

  4. Nella pagina Crea applicazione, seleziona Regionale nel riquadro Scegli la regione e il nome dell'applicazione.

  5. Nell'elenco Regione, seleziona us-west1.

  6. Nel campo Nome applicazione, inserisci tutorial-application. Questo nome è un identificatore univoco ed è immutabile dopo la creazione dell'applicazione.

  7. Inserisci un nome visualizzato, Tutorial e fai clic su Continua. Si tratta di un nome intuitivo che puoi aggiornare. Per ulteriori informazioni, consulta Aggiornare un'applicazione esistente.

  8. Nel riquadro Aggiungi attributi, seleziona Alta dall'elenco Criticità. La criticità indica quanto sono fondamentali un'applicazione, un servizio o un workload per le operazioni aziendali.

  9. Nel campo Ambiente, per indicare la fase del ciclo di vita del software, seleziona Produzione.

  10. Fai clic su Continua.

  11. Nel riquadro Aggiungi proprietari, aggiungi i seguenti dettagli per Proprietari sviluppatori, Proprietari operatori e Proprietari attività. Tieni presente che devi inserire l'indirizzo email del proprietario se aggiungi un nome visualizzato.

    1. Inserisci il nome visualizzato di un proprietario.
    2. Inserisci l'indirizzo email del proprietario. Questo valore deve avere il formato username@yourdomain, ad esempio 222larabrown@gmail.com.
  12. Ripeti questi passaggi per ogni sviluppatore, operatore e proprietario dell'attività.

  13. Fai clic su Crea.

La nuova applicazione viene creata ed elencata nella pagina Applications (Applicazioni).

gcloud

  1. Seleziona il progetto host di App Hub che hai creato:

    gcloud config set project HOST_PROJECT_ID
  2. Crea una nuova applicazione denominata tutorial-application nella regione us-west1 e assegnale un nome visualizzato, Tutorial. Questo nome dell'applicazione,tutorial-application è un identificatore univoco e non può essere modificato dopo la creazione dell'applicazione. Il nome visualizzatoTutorial è un nome facile da usare che puoi aggiornare. Per ulteriori informazioni, consulta Aggiornare un'applicazione esistente.

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=REGIONAL \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
  3. Elenca le applicazioni nel progetto host di App Hub:

    gcloud apphub applications list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Viene visualizzato un output simile al seguente:

    ID                    DISPLAY_NAME  CREATE_TIME
    tutorial-application  Tutorial      2023-10-31T18:33:48
    
  4. Aggiorna l'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 e DISPLAY-NAME-BUSINESS: nomi visualizzati rispettivamente dello sviluppatore, dell'operatore e dei proprietari dell'attività.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR e EMAIL-NAME-BUSINESS: indirizzi email dello sviluppatore, dell'operatore e dei proprietari dell'attività, rispettivamente. Questi valori devono avere il formato username@yourdomain, ad esempio 222larabrown@gmail.com.

    Note:

    • criticality-type: indica quanto è critica un'applicazione, un servizio o un carico di lavoro per le operazioni aziendali.
    • environment-type: indica le fasi del ciclo di vita del software.
  5. Visualizza 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 i servizi e un workload

La registrazione di servizi e carichi di lavoro li aggiunge a un'applicazione che ti consente di monitorare le risorse aggiunte.

Console

  1. Nella console Google Cloud, vai alla pagina Applications (Applicazioni) di App Hub.

    Vai a Applicazioni

  2. Fai clic sul nome della tua applicazione, Tutorial. La scheda Servizi e carichi di lavoro mostra un elenco di servizi e carichi di lavoro registrati nei progetti di servizi App Hub.

  3. Registra un servizio:

    1. Nella scheda Servizi e workload, fai clic su Registra servizio/workload.
    2. 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.
    3. Nel riquadro Seleziona risorsa, scegli il Nome del servizio, l7-xlb-backend-service, e fai clic su Seleziona.
    4. Nel riquadro Seleziona risorsa, inserisci il Nome della risorsa,tutorial-service-backend.
    5. Inserisci un nome visualizzato, Backend service e fai clic su Continua.
    6. Nel riquadro Aggiungi attributi, nell'elenco Criticità, per indicare l'importanza dell'applicazione, seleziona Alta.
    7. Nel campo Ambiente, per indicare la fase del ciclo di vita del software, seleziona Produzione.
    8. Fai clic su Continua.
    9. Nel riquadro Aggiungi proprietari, aggiungi i seguenti dettagli come richiesto per Proprietari sviluppatori, Proprietari operatori e Proprietari attività. Tieni presente che devi inserire l'indirizzo email del proprietario se aggiungi un nome visualizzato.
      1. Inserisci il nome visualizzato di un proprietario.
      2. Inserisci l'indirizzo email del proprietario. Questo valore deve avere il formato username@yourdomain, ad esempio 222larabrown@gmail.com.
    10. Ripeti questi passaggi per ogni sviluppatore, operatore e proprietario dell'attività.
    11. Fai clic su Registrati.

    Nella scheda Servizi e carichi di lavoro, nella sezione Servizi e carichi di lavoro registrati, puoi vedere il nuovo servizio aggiunto.

  4. Ripeti i passaggi precedenti per registrare gli altri servizi come tutorial-service-forwarding-rule e tutorial-service-url-map, rispettivamente.

  5. Registra un workload ripetendo i passaggi precedenti per registrare un servizio con le seguenti eccezioni:

    1. Nel riquadro Registra servizio o carico di lavoro, nella sezione Scegli servizio o carico di lavoro, seleziona il Nome del carico di lavoro, l7-xlb-backend-example, e fai clic su Continua.
    2. Nel riquadro Seleziona risorsa, inserisci il Nome della risorsa,tutorial-workload-mig.
    3. 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 vedere il nuovo carico di lavoro aggiunto.

gcloud

  1. Aggiungi una persona con autorizzazioni di editor dell'hub di app:

    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 di App Hub nel progetto dell'host di App Hub. Questo valore ha il formato username@yourdomain, ad esempio 222larabrown@gmail.com.

  2. Elenca tutti i servizi rilevati nel progetto host App Hub. Questo comando restituisce i servizi che possono essere registrati a un'applicazione.

    gcloud apphub discovered-services list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Viene visualizzato 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 IDdel servizio, ad esempio BACKEND_SERVICE_SP2_ID, dall'output da utilizzare nel passaggio successivo.

  3. 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 servizio ID del servizio di backend che vuoi registrare.
    • FORWARDING_RULE_SERVICE_ID: il servizio ID della regola di forwarding che vuoi registrare.
    • URL_MAP_SERVICE_ID: il servizio ID della sitemap che vuoi registrare.
  4. Elenca tutti i servizi registrati nell'applicazione.

    gcloud apphub applications services list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Viene visualizzato un output simile al seguente:

    ID                               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
    

    I servizi registrati, ma scollegati, sono indicati da un valore vuoto nel SERVICE_REFERENCE. Per ulteriori informazioni sugli stati di registrazione, consulta le proprietà e gli attributi di App Hub.

  5. Elenca tutti i carichi di lavoro rilevati nel progetto host di App Hub. Questo comando restituisce i workload che possono essere registrati in un'applicazione.

    gcloud apphub discovered-workloads list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Viene visualizzato un output simile al seguente:

    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'}
    

    Copia l'ID del carico di lavoro dall'output da utilizzare nel passaggio successivo.

  6. Registra il carico di lavoro del passaggio precedente nella tua applicazione come tutorial-workload-mig. Copia l'ID del carico di lavoro dal campo di output del passaggio precedente.

    gcloud 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
    

    Sostituisci WORKLOAD_ID con l'ID del workload che vuoi registrare.

  7. Elenca tutti i carichi di lavoro registrati nell'applicazione.

    gcloud apphub applications workloads list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Viene visualizzato un output simile al seguente:

    ID                        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
    

    I carichi di lavoro registrati, ma scollegati, sono indicati da un valore vuoto nel WORKLOAD_REFERENCE campo. 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 dai progetti di servizio collegati al progetto host App Hub.

  1. Nella console Google Cloud, vai alla pagina Servizi e carichi di lavoro di App Hub.

    Vai a Servizi e carichi di lavoro

    Vengono visualizzati tutti i servizi e i carichi di lavoro dei progetti di servizio App Hub collegati.

  2. Nell'elenco Regione, seleziona us-west1. Il carico di lavoro Gruppo di istanze di carico di lavoro viene visualizzato con dettagli come Tipo di App Hub, Criticità e Registrato a.

  3. Per filtrare i servizi o i workload in base allo stato:

    1. Nel campo Filtro, seleziona filtri come Stato registrazione.
    2. Fai clic su Registrato. Viene visualizzato un elenco di servizi e carichi di lavoro registrati all'applicazione.

Visualizza le metriche delle applicazioni

Puoi visualizzare le metriche di sistema per le applicazioni create nel progetto host di App Hub. Queste metriche corrispondono ai segnali finali: traffico, errori, latenza e saturazione che aiutano a monitorare le prestazioni e lo stato dell'applicazione.

  1. Nella console Google Cloud, vai alla pagina Applications (Applicazioni) di App Hub.

    Vai a Applicazioni

  2. Fai clic sul nome dell'applicazione, Tutorial.

    La scheda Servizi e workload viene visualizzata con i metadati dei servizi e dei workload registrati nella tua applicazione.

  3. Per visualizzare le metriche di sistema dei servizi e dei carichi di lavoro registrati, fai clic su Metriche.

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 di App Hub

Console

  1. Nella console Google Cloud, vai alla pagina App di App Hub.

    Vai a Applicazioni

  2. Fai clic sul nome di un'applicazione, Tutorial.

  3. Nella scheda Servizi e carichi di lavoro, fai clic sul nome di un servizio nella sezione Servizi e carichi di lavoro registrati.

  4. Nella pagina Servizi e carichi di lavoro, fai clic su Disregistra.

    Un avviso indica che il servizio non è registrato.

  5. Nella scheda Servizi e workload, fai clic sul nome di un workload nella sezione Servizi e workload registrati.

  6. Nella scheda Dettagli, fai clic su Disregistra.

    Viene visualizzato un avviso che indica che il carico di lavoro non è registrato.

  7. Vai alla pagina Applicazioni di App Hub.

    Vai a Applicazioni

  8. Fai clic sul nome di un'applicazione.

  9. Nella pagina tutorial-application, fai clic su Elimina.

  10. Nella console Google Cloud, vai alla pagina Impostazioni di App Hub.

    Vai alle impostazioni

  11. Nella pagina Impostazioni, seleziona la casella di controllo per il progetto di servizio che vuoi rimuovere dal progetto host App Hub.

  12. Fai clic su Scollega progetti.

gcloud

  1. Elenca i servizi registrati nell'applicazione:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  2. Annullare 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 servizio.

    I servizi ora sono servizi rilevati che possono essere registrati nell'applicazione.

  3. Elenca i workload registrati nell'applicazione:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  4. Annullare la registrazione del carico di lavoro 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 caricamento di lavoro.

    Il carico di lavoro ora è un carico di lavoro rilevato che può essere registrato nell'applicazione.

  5. Elimina l'applicazione:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    
  6. 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ù, elimina tutte le risorse per evitare che la fatturazione continui per le risorse che hai creato in questa soluzione.

Utilizza questa procedura se hai eseguito il deployment della soluzione utilizzando l'interfaccia a riga di comando di Terraform.

  1. In Cloud Shell, assicurati che la directory di lavoro corrente sia terraform-docs-samples/lb/regional_external_http_load_balancer. Se non è così, vai a quella directory.

  2. Rimuovi le risorse di cui è stato eseguito il provisioning da Terraform:

    terraform destroy
    

    Terraform mostra un elenco delle risorse che verranno eliminate.

  3. Quando ti viene chiesto di eseguire le azioni, inserisci yes.

    Terraform mostra messaggi che indicano l'avanzamento. Dopo che tutte le risorse sono state eliminate, Terraform mostra il seguente messaggio:

    Destroy complete!
    

Quando non hai più bisogno del progetto Google Cloud utilizzato per la soluzione, puoi eliminarlo.

Elimina il progetto

Console

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.

gcloud

Per eliminare un progetto Google Cloud:

gcloud projects delete PROJECT_ID

Sostituisci PROJECT_ID con gli ID progetto di hosting o di servizio.

Passaggi successivi