Configurare App Hub

Questo documento fornisce istruzioni per configurare App Hub per creare, eseguire e gestire applicazioni su Google Cloud. È rivolto a chi configura e amministra App Hub.

Se stai configurando App Hub, le attività principali sono:

  1. Decidi se creare un nuovo progetto host di App Hub o utilizzare un progetto esistente come progetto host.
    • Se prevedi di avere più di un progetto host, ti consigliamo vivamente di crearli nella stessa cartella.
    • I progetti host in App Hub non sono uguali ai progetti host VPC condiviso e non hanno gli stessi requisiti. Ad esempio, non è necessaria una rete VPC condiviso per utilizzare App Hub. In questo documento, tutti i riferimenti ai progetti host si riferiscono ai progetti host di App Hub.
    • Un progetto host non può essere un progetto di servizio diverso da se stesso.
  2. Abilita l'API App Hub nel progetto host.
  3. Aggiungi uno o più progetti di servizio App Hub al progetto host.
    • I progetti di servizio in App Hub non sono uguali ai progetti di servizio VPC condiviso e non hanno gli stessi requisiti. In questo documento, tutti i riferimenti ai progetti di servizio si riferiscono ai progetti di servizio App Hub.
  4. Designa gli utenti di App Hub come amministratori, editor o visualizzatori di App Hub.
  5. Creare applicazioni.
  6. Registra i servizi e i carichi di lavoro nell'applicazione.

Servizi e workload

Con App Hub, le risorse dei progetti di servizio collegati al progetto host sono disponibili come servizi e workload. La registrazione dei tuoi servizi e carichi di lavoro a un'applicazione ti consente di osservare e monitorare le risorse. Puoi designare le seguenti risorse come servizi App Hub e registrarle alle applicazioni App Hub:

  • Regole di forwarding
  • Mappe URL
  • Servizi di backend

Puoi designare i gruppi di istanze gestite (MIG), ma non le singole VM, come carichi di lavoro e registrarli alle applicazioni App Hub.

App Hub supporta le risorse globali (Anteprima) e regionali. Per maggiori informazioni, consulta le risorse supportate di App Hub.

Procedura di configurazione complessiva

Il seguente elenco riepiloga i passaggi per configurare App Hub:

  1. Determina quali risorse esistenti includere nella tua applicazione e a quali progetti appartengono.
  2. Crea un progetto host App Hub e abilita l'API App Hub nel progetto. Facoltativamente, in base alla struttura organizzativa della tua attività, puoi creare più di un progetto host. Se crei più progetti, ti consigliamo di farlo in una nuova cartella.
  3. Collega i progetti di servizio. Dopo aver configurato un progetto host, collega al progetto host i progetti di servizio con le risorse di base necessarie per le tue applicazioni. Tieni presente quanto segue:
    1. I progetti di servizio devono trovarsi nella stessa organizzazione del progetto host. Dopo aver associato un progetto di servizio a un progetto host, non puoi spostarlo in un'altra organizzazione. Per spostare il progetto di servizio in un'altra organizzazione, devi seguire le istruzioni riportate in questo documento per rimuovere o scollegare il collegamento del progetto di servizio al progetto host. Puoi quindi collegare il progetto di servizio a un'altra organizzazione.
    2. Un progetto di servizio non può essere collegato a più di un progetto host.
    3. Un progetto host può essere un progetto di servizio autonomo, ma non può essere un progetto di servizio per qualsiasi altro progetto host.
    4. Dopo aver associato i progetti di servizio a un progetto host, eseguire una query sul progetto host per i servizi o i carichi di lavoro restituisce automaticamente tutti i servizi e i carichi di lavoro in tutti i progetti di servizio.
  4. Crea un'applicazione per organizzare più servizi e carichi di lavoro. Tieni presente quanto segue:
    1. Assicurati che l'applicazione abbia un nome univoco nel progetto e nella posizione host.
    2. Un progetto di servizio può essere associato a un progetto host con più applicazioni, ma le sue singole risorse possono essere registrate in una sola applicazione.
  5. Esegui query su servizi e carichi di lavoro e registrali nella tua applicazione. Dopo aver creato un'applicazione, esegui una query sul progetto host per trovare i servizi e i carichi di lavoro disponibili. Le query vengono eseguite sul progetto host e su tutti i progetti di servizio collegati al progetto host. Inoltre, restituiscono tutti i servizi e i carichi di lavoro in questi progetti. Tieni presente quanto segue:
    1. Puoi registrare un servizio o un carico di lavoro solo in una singola applicazione.
    2. Devi registrare i servizi e i carichi di lavoro di una regione specifica in un'applicazione regionale nella stessa regione o in un'applicazione globale. Le istruzioni e i comandi che seguono presuppongono che tutte le risorse si trovino nella stessa regione. Per informazioni sulle regioni che puoi designare, consulta Località.
    3. I servizi e i workload registrati non sono interessati dagli aggiornamenti della risorsa dell'infrastruttura di base. In altre parole, se elimini le risorse di base che fungono da servizi e carichi di lavoro, App Hub non elimina i carichi di lavoro e i servizi associati dalla tua applicazione. Devi annullare la registrazione del workload o del servizio separatamente.

Prerequisiti

Prima di configurare App Hub, completa le seguenti attività.

  1. Decidi quale progetto esistente deve essere il progetto host o creane uno nuovo. Ti consigliamo vivamente di creare un nuovo progetto.
  2. Assicurati di aver deciso chi detiene i ruoli IAM (Identity and Access Management) per App Hub: amministratore di App Hub, editor di App Hub e visualizzatore di App Hub.

Tieni presente quanto segue:

  • I progetti host possono avere uno o più progetti di servizio collegati.
  • Un progetto di servizio non può essere collegato a più di un progetto host.
  • La persona che collega un progetto di servizio a un progetto host deve disporre del ruolo IAM App Hub Admin sia nel progetto di servizio sia nel progetto host. Per ulteriori informazioni, consulta Ruoli e autorizzazioni di App Hub.

Configurare App Hub

In questa sezione, crei un'architettura di App Hub di esempio.

Nell'esempio, un'organizzazione ha tre progetti di servizio, con le relative risorse di infrastruttura di cui è stato eseguito il deployment nei progetti come segue:

  • Il progetto di servizio 1 ha due risorse di infrastruttura, Servizio 1 e Servizio 2.
  • Il progetto di servizio 2 ha tre risorse di infrastruttura, Servizio 3, Workload 1 e Workload 2.
  • Il progetto di servizio 3 ha tre risorse di infrastruttura, Servizio 4, Workload 3 e Workload 4.

Assicurati che i progetti che scegli per creare l'esempio contengano le risorse descritte in questa sezione o preparati ad aggiustare l'esempio man mano che segui le istruzioni.

Le sezioni seguenti contengono le istruzioni per creare un exampleApp Hub. Creando un progetto host e aggiungendo progetti di servizio al progetto host, puoi creare un'applicazione e collegare servizi e carichi di lavoro all'applicazione. L'esempio contiene tre progetti di servizio, ma puoi aggiungerne meno o di più.

L'esempio presuppone che tutti i progetti di servizio aggiunti esistano già e contengono servizi e carichi di lavoro che aggiungi all'applicazione. Prima di creare l'esempio, determina quali progetti di servizi contengono i servizi e i carichi di lavoro da includere nell'applicazione.

Attivare App Hub

In questa sezione, seleziona o crea un nuovo progetto host, attiva l'API App Hub e concedi i ruoli e le autorizzazioni appropriati alle persone della tua organizzazione. Collega anche i progetti di servizio al progetto host.

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 API.

    Enable the API

  4. Se sei il creator del progetto, ti viene concesso il ruolo di proprietario di base (roles/owner). Per impostazione predefinita, questo ruolo 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 nel progetto. 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 di calcolo). Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM 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 e fai clic su Salva.

    6. In ogni progetto di servizio App Hub, concedi lo stesso ruolo di amministratore di App Hub allo stesso utente.

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

    Vai alle impostazioni

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

  7. Esegui una di queste operazioni:

    • Dall'elenco dei progetti, seleziona le caselle di controllo per i progetti che vuoi aggiungere come progetti di servizio.
    • Cerca i progetti e seleziona quelli da aggiungere come progetti di servizio.
  8. Fai clic su Seleziona. La tabella Progetti di servizio collegati mostra i progetti di servizio selezionati.

  9. Fai clic su Chiudi.

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 l'API App Hub nel progetto host appena creato.

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    
  5. Se sei il creator del progetto, ti viene assegnato il ruolo di proprietario di base (roles/owner). Per impostazione predefinita, questo ruolo 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 nel progetto. 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 di calcolo). Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

    1. Facoltativamente, concedi alle persone che amministreranno App Hub il ruolo di amministratore App Hub nel progetto host. Ripeti il seguente comando per ogni amministratore.

      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 Amministratore App Hub nel progetto host. Questo valore ha il formato username@yourdomain, ad esempio robert.smith@example.com.

    2. Concedi il ruolo Amministratore di App Hub nei progetti 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. Una singola persona può avere il ruolo in più progetti di servizi.

      gcloud projects add-iam-policy-binding SERVICE_PROJECT_1 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_2 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_3 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      

      Sostituisci quanto segue:

      • SERVICE_PROJECT_1: il primo di tre progetti di servizi in questo esempio.
      • SERVICE_PROJECT_2: il secondo di tre progetti di servizi in questo esempio.
      • SERVICE_PROJECT_3: il terzo dei tre progetti di servizio in questo esempio.
  6. Aggiungi i progetti di servizio al progetto host App Hub.

    gcloud apphub service-projects add SERVICE_PROJECT_1 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_2 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_3 \
        --project=HOST_PROJECT_ID
    

(Facoltativo) Aggiungi i progetti di servizio all'ambito delle metriche del progetto host

Puoi visualizzare le metriche di sistema per le applicazioni nel progetto host aggiungendo i progetti di servizio come contenitori di risorse all'ambito delle metriche del progetto host. Un progetto host di App Hub funge da progetto di definizione dell'ambito che ospita un ambito delle metriche. L'ambito delle metriche di un progetto Google Cloud definisce i set di contenitori di risorse i cui dati delle serie temporali possono essere tracciati e monitorati dal progetto host. Per ulteriori informazioni su contenitori di risorse, ambito delle metriche e progetti di ambito, consulta Cloud Monitoring: modello di dati.

Per visualizzare le metriche di sistema di un'applicazione, devi aggiungere o eliminare manualmente i progetti di servizi monitorati, come richiesto, dai progetti host. Tuttavia, se utilizzi il progetto host come progetto di servizio autonomo, poiché le applicazioni App Hub si trovano nello stesso progetto, non aggiungere il progetto all'ambito delle metriche.

Assicurati di disporre dei seguenti ruoli IAM:

Console

  1. Nella console Google Cloud, vai alla pagina  Impostazioni:

    Vai a Impostazioni

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Seleziona Ambito delle metriche.

    La scheda Ambito delle metriche elenca le risorse monitorate dal progetto Google Cloud corrente. Vengono elencati anche i progetti Google Cloud il cui ambito delle metriche include il progetto Google Cloud corrente.

  3. Per aggiungere progetti Google Cloud all'ambito delle metriche:

    1. Nel riquadro Progetti Google Cloud, fai clic su Aggiungi progetti.
    2. Nella finestra di dialogo Aggiungi progetti Google Cloud, fai clic su Seleziona progetti e poi seleziona le caselle di controllo per i progetti di servizi richiesti che vuoi monitorare.
    3. Per salvare le modifiche, fai clic su Aggiungi progetti.

      Viene visualizzata la pagina Impostazioni con la tabella aggiornata in modo da elencare le tue selezioni.

Dopo aver aggiunto i progetti a un ambito delle metriche, sono necessari circa 60 secondi per la propagazione delle modifiche in tutti i sistemi di monitoraggio.

Per scoprire di più sulla configurazione degli ambiti delle metriche utilizzando la console Google Cloud, consulta Configurare un ambito delle metriche.

gcloud

Per aggiungere i progetti di servizio come contenitore di risorsa monitorata al progetto host App Hub:

gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_1 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_2 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_3 \
    --project=HOST_PROJECT_ID

Per ulteriori informazioni sulla configurazione degli ambiti delle metriche utilizzando Google Cloud CLI, consulta Configurare un ambito delle metriche utilizzando l'API.

Crea un'applicazione

Se non ne hai ancora una, crea un'applicazione che fungerà da contenitore per i tuoi servizi e carichi di lavoro. In base all'ambito dei servizi e dei carichi di lavoro dei tuoi progetti di servizi, crea un'applicazione globale (Anteprima) o regionale.

  • Un'applicazione globale (anteprima) ti consente di registrare i servizi e i carichi di lavoro rilevati dalle risorse Google Cloud regionali e globali.
  • Un'applicazione regionale ti consente di registrare i servizi e i carichi di lavoro rilevati dalle risorse Google Cloud regionali.

Tieni presente che dopo aver creato un'applicazione, non puoi modificarne l'ambito. Per ulteriori informazioni sulle applicazioni globali e regionali, consulta App Hub: applicazioni globali e regionali.

Console

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

    Vai a Applicazioni

  3. Fai clic su Crea applicazione.

  4. Nella pagina Crea applicazione, nel riquadro Scegli la regione e il nome dell'applicazione, in base all'ambito dei servizi e dei carichi di lavoro che vuoi registrare nell'applicazione, esegui una delle seguenti operazioni:

    • Per creare un'applicazione che ti consenta di registrare servizi e carichi di lavoro da una posizione globale, seleziona Globale (anteprima).

    • Per creare un'applicazione che ti consenta di registrare servizi e workload da un'unica posizione:

      1. Seleziona Regionale.
      2. Seleziona una Regione.
  5. Inserisci il nome dell'applicazione e fai clic su Continua.

  6. Se vuoi, aggiungi altri dettagli per la richiesta nei campi che seguono. Per ulteriori informazioni, consulta Aggiornare un'applicazione App Hub esistente in questo documento.

  7. Fai clic su Crea.

gcloud

  1. Crea una nuova applicazione denominata APPLICATION_NAME e assegnale un nome visualizzato, APPLICATION_DISPLAY_NAME.

    gcloud apphub applications create APPLICATION_NAME \
      --scope-type=SCOPE_TYPE \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

    • APPLICATION_NAME: il nome dell'applicazione. Il nome deve includere solo caratteri alfanumerici minuscoli senza spazi.
    • SCOPE_TYPE: l'ambito della tua applicazione che definisce i servizi e i carichi di lavoro che puoi registrare all'applicazione. Utilizza uno dei seguenti valori:
    • REGION: la regione dell'applicazione. A seconda del valore di --scope-type, assegna il valore us-east1 oglobal (Anteprima).
  2. Elenca le applicazioni nel progetto host.

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente:

    ID                DISPLAY_NAME              CREATE_TIME
    APPLICATION_NAME  APPLICATION_DISPLAY_NAME  2023-10-31T18:33:48
    
  3. Visualizza i dettagli dell'applicazione che hai creato.

    gcloud apphub applications describe APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Il comando restituisce informazioni in formato YAML, simili a quelle riportate di seguito.

    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: APPLICATION_DISPLAY_NAME
    name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME
    scope:
      type: SCOPE_TYPE
    state: ACTIVE
    uid: [APPLICATION_UID]
    updateTime: '2023-10-31T18:33:48.343303819Z'
    
    

Aggiornare un'applicazione App Hub esistente

Puoi anche aggiornare gli attributi dell'applicazione dopo la sua creazione.

Console

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

    Vai a Applicazioni

  2. Nell'elenco delle applicazioni, fai clic su Modifica in corrispondenza dell'applicazione che vuoi aggiornare.

  3. Modifica i campi in base alle esigenze e fai clic su Salva.

  4. (Facoltativo) Nell'elenco Criticità, per indicare l'importanza dell'applicazione, seleziona una delle seguenti opzioni:

    • Mission critical
    • Alta
    • Medio
    • Bassa
  5. (Facoltativo) Nell'elenco Ambiente, per indicare la fase del ciclo di vita del software, seleziona una delle seguenti opzioni:

    • Produzione
    • Staging
    • Sviluppo
    • Test
  6. (Facoltativo) Aggiungi i seguenti dettagli come richiesto per i proprietari sviluppatori, proprietari operatori e proprietari di 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.
  7. Ripeti questi passaggi per ogni sviluppatore, operatore e proprietario dell'attività.

  8. Fai clic su Salva.

gcloud

  1. Aggiorna l'applicazione con gli attributi criticality-type, environment-type e tipo di proprietario:

    gcloud apphub applications update APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    Sostituisci quanto segue:

    • APPLICATION_DISPLAY_NAME: il nome visualizzato della tua applicazione.
    • CRITICALITY_LEVEL: indica quanto sia critica un'applicazione, un servizio o un carico di lavoro per le operazioni aziendali. Fornisci uno dei seguenti valori:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT: indica le fasi del ciclo di vita del software. Fornisci uno dei seguenti valori:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 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.
  2. Elenca le applicazioni in cui l'attributo environment-type ha il valore PRODUCTION.

    gcloud apphub applications list \
        --filter='attributes.environment.type=PRODUCTION' \
        --project=HOST_PROJECT_ID \
        --location=REGION
    

    L'output è simile al seguente:

    ID                DISPLAY_NAME              CREATE_TIME
    APPLICATION_NAME  APPLICATION_DISPLAY_NAME  2023-10-31T18:33:48
    

Registra servizi e workload

Quando registri servizi e carichi di lavoro di infrastruttura a un'applicazione, questi vengono registrati come risorse di App Hub. Utilizza un'applicazione globale (Anteprima) per registrare risorse globali o distribuite su più regioni. Utilizza un'applicazione regionale per registrare le risorse della stessa regione dell'applicazione. Se utilizzi i segnaposto per creare l'applicazione con gcloud CLI, i servizi e i carichi di lavoro nei tre progetti di servizio sono i seguenti:

  • Il progetto di servizio 1 ha due risorse di infrastruttura, Servizio 1 e Servizio 2.
  • Il progetto di servizio 2 ha tre risorse di infrastruttura, Servizio 3, Workload 1 e Workload 2.
  • Il progetto di servizio 3 ha tre risorse di infrastruttura, Servizio 4, Workload 3 e Workload 4.

Console

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

    Vai a Applicazioni

  2. Fai clic sul nome dell'applicazione. La scheda Servizi e workload mostra un elenco di servizi e workload registrati nei tuoi progetti di servizi.

  3. Per ogni servizio o carico di lavoro da registrare:

    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 un servizio o un carico di lavoro e fai clic su Seleziona.
    4. Nel riquadro Seleziona risorsa, inserisci un Nome per il servizio o il carico di lavoro e fai clic su Continua.
    5. Se vuoi, nel riquadro Aggiungi attributi, aggiungi ulteriori dettagli per il servizio o il carico di lavoro nei campi che seguono. Per ulteriori informazioni, consulta la sezione Aggiornare un'applicazione App Hub esistente in questo documento. Tieni presente che puoi selezionare valori per i campi Criticità e Ambiente diversi da quelli impostati quando crei l'applicazione.
    6. Fai clic su Continua.
    7. Se vuoi, nella sezione Aggiungi proprietari, aggiungi ulteriori dettagli sui proprietari del servizio o del workload nei campi che seguono. Per ulteriori informazioni, consulta la sezione Aggiornare un'applicazione App Hub esistente in questo documento.
    8. Fai clic su Registrati.

La scheda Servizi e carichi di lavoro mostra il servizio o il workload registrato. Per ulteriori informazioni sugli stati di registrazione, consulta le proprietà e gli attributi di App Hub.

gcloud

  1. Aggiungi una persona con autorizzazioni di 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 di App Hub nel progetto host. Questo valore ha il formato username@yourdomain, ad esempio robert.smith@example.com.

  2. Elenca i carichi di lavoro rilevati dal progetto di servizio 2, collegato al progetto host. Questo comando restituisce i workload disponibili per essere registrati a un'applicazione.

    gcloud apphub discovered-workloads list \
      --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente, che include i MIG non registrati:

    ID                           WORKLOAD_REFERENCE                                                                                                      WORKLOAD_PROPERTIES
    [DISCOVERED_WORKLOAD_ID_1]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    [DISCOVERED_WORKLOAD_ID_2]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    

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

  3. Registra un carico di lavoro dal passaggio precedente alla tua applicazione.

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --discovered-workload='projects/HOST_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID_2' \
      --display-name='mywebserver-deployment1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

    • WORKLOAD_NAME: un nome con cui registrare il carico di lavoro.
    • DISCOVERED_WORKLOAD_ID_2: l'ID del workload dall'output del passaggio precedente.
  4. Ripeti i due passaggi precedenti per filtrare e registrare i carichi di lavoro che ti interessano dal progetto di servizio 3.

  5. (Facoltativo) Puoi aggiornare i carichi di lavoro con gli attributi criticality-type, environment-type e proprietario.

    gcloud apphub applications workloads update WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    Tieni presente che devi fornire uno dei valori specificati per criticality-type e environment-type, ma il valore può essere diverso da quelli impostati durante la creazione dell'applicazione.

  6. Elenca i workload registrati nell'applicazione.

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente:

    ID                DISPLAY_NAME                 WORKLOAD_REFERENCE                                                                                                    CREATE_TIME
    WORKLOAD_NAME     mywebserver-deployment1      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}   2023-10-31T18:34:23
    

    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.

  7. Elenca i servizi rilevati con regole di inoltro nel progetto di servizio 1 collegato al progetto host. Questo comando restituisce i servizi disponibili per la registrazione a un'applicazione.

    gcloud apphub discovered-services list \
      --filter='service_properties.gcp_project=projects/SERVICE_PROJECT_1 AND service_reference.uri~"forwardingRules"' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente:

    ID                           SERVICE_REFERENCE                                                                                                                    SERVICE_PROPERTIES
    [DISCOVERED_SERVICE_ID_1]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    [DISCOVERED_SERVICE_ID_2]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    

    Copia l'ID servizio DISCOVERED_SERVICE_ID_2 dall'output da utilizzare nel passaggio successivo.

  8. Registra la regola di forwarding testing-forwarding-rule-2 nel progetto di servizio 1 come servizio.

    gcloud apphub applications services create SERVICE_NAME \
      --discovered-service='projects/HOST_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE_ID_2' \
      --display-name='mywebserver-service1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

    • SERVICE_NAME: un nome con cui registrare il servizio.
    • DISCOVERED_SERVICE_ID_2: l'ID servizio ricavato dall'output del passaggio precedente.
  9. Ripeti i passaggi precedenti per elencare i servizi, filtrarli e registrarli nei progetti di servizi 1, 2 e 3.

  10. Aggiorna un servizio con l'attributo criticality-type e l'attributo environment-type.

    gcloud apphub applications services update SERVICE_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID  \
      --location=REGION
    
  11. Elenca i servizi registrati nell'APPLICATION_NAME applicazione e nel HOST_PROJECT_ID progetto host.

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente per ogni servizio:

    ID                DISPLAY_NAME                 SERVICE_REFERENCE                                                                                                                  CREATE_TIME
    SERVICE_NAME      mywebserver-service1         {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}   2023-11-01T21:38:08
    

    I servizi registrati, ma scollegati, sono indicati da un valore vuoto nel SERVICE_REFERENCE.

  12. Filtra i servizi nell'APPLICATION_NAME applicazione e nel progetto host HOST_PROJECT_ID in base a quelli in cui l'attributo environment-type è impostato su PRODUCTION.

    gcloud apphub applications services list \
      --filter='attributes.environment.type=PRODUCTION' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

La procedura di configurazione di App Hub è completata.

Aggiungere o rimuovere progetti di servizi

Puoi modificare i collegamenti dei progetti di servizi per rendere disponibili diverse risorse di infrastruttura da raggruppare in un'applicazione.

Per visualizzare le metriche di sistema per le applicazioni nel progetto host, dopo aver aggiunto un progetto di servizio a un progetto host, aggiungi i progetti di servizio come contenitori di risorse all'ambito delle metriche del progetto host. Per ulteriori informazioni, consulta la sezione Aggiungere progetti di servizio all'ambito delle metriche del progetto host in questo documento. Quando rimuovi un progetto di servizio da un progetto host, valuta la possibilità di rimuovere i progetti di servizio come contenitori di risorse dall'ambito delle metriche del progetto host (se in precedenza avevi scelto di visualizzare le metriche di sistema delle applicazioni nel progetto host). Per ulteriori informazioni, consulta in questo documento la procedura per rimuovere i progetti di servizio dall'ambito delle metriche del progetto host.

Console

Per aggiungere un progetto di servizio a un progetto host:

  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 visualizzato, cerca i progetti nell'elenco visualizzato e seleziona le caselle di controllo per i progetti da aggiungere come progetti di servizi.

  4. Fai clic su Seleziona. La tabella Progetti di servizio collegati mostra i progetti selezionati come progetti di servizio per il progetto host.

  5. Fai clic su Chiudi.

Per rimuovere un progetto di servizio da un progetto host:

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

    Vai alle impostazioni

  2. Nella pagina Impostazioni, seleziona le caselle di controllo per i progetti da rimuovere come progetti di servizio.

  3. Fai clic su Scollega progetti. La tabella Progetti di servizio collegati viene aggiornata in modo da mostrare solo i progetti che rimangono collegati al progetto host.

gcloud

Per aggiungere un progetto di servizio a un progetto host:

gcloud apphub service-projects add SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID
Sostituisci SERVICE_PROJECT_ID con il nome del progetto di servizio che vuoi aggiungere al progetto host.
Per rimuovere un progetto di servizio dal progetto host:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID

Visualizza le applicazioni, i servizi e i workload esistenti

Puoi visualizzare le applicazioni in un progetto ed elencare i servizi e i carichi di lavoro in un'applicazione.

Console

  • Per visualizzare le applicazioni in un progetto, vai alla pagina Applicazioni di App Hub nella console Google Cloud.

    Vai a Applicazioni

  • Per elencare i servizi e i workload:

    Applicazioni

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

      Vai a Applicazioni

    2. Fai clic sul nome di un'applicazione. Viene visualizzata una pagina con un elenco di servizi e carichi di lavoro registrati per la tua applicazione.

    3. (Facoltativo) Per filtrare i servizi o i workload:

      1. Nel campo Filtro, seleziona un filtro come Criticità.
      2. Seleziona Alto come valore.
        Viene visualizzato un elenco di servizi e carichi di lavoro di elevata criticità registrati per l'applicazione.

    Servizi e workload

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

      Vai a Servizi e carichi di lavoro

    2. Nell'elenco Regione, seleziona le regioni da cui vuoi visualizzare i servizi e i carichi di lavoro. Ad esempio, seleziona us-east1.
      La pagina Servizi e carichi di lavoro mostra tutti i servizi e i carichi di lavoro dei progetti di servizio collegati associati a us-east1.

    3. (Facoltativo) Per filtrare i servizi o i workload:

      1. Nel campo Filtro, seleziona un filtro, ad esempio Ambiente.
      2. Seleziona Produzione come valore.
        Viene visualizzato un elenco di servizi e carichi di lavoro nell'ambiente di produzione registrati a un'applicazione.

gcloud

Per visualizzare le applicazioni in un progetto:

gcloud apphub applications list \
    --project=HOST_PROJECT_ID \
    --location=REGION

Per elencare i servizi registrati in un'applicazione:

gcloud apphub applications services list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

Per elencare i carichi di lavoro registrati in un'applicazione:

gcloud apphub applications workloads list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

(Facoltativo) 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 App di App Hub.

    Vai a Applicazioni

  2. Fai clic sul nome di un'applicazione.

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

  3. (Facoltativo) Per modificare il periodo di tempo per il quale vengono visualizzate le metriche, utilizza il selettore dell'intervallo di tempo. L'intervallo di tempo predefinito è 1 ora.

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

    Viene visualizzata una tabella con i seguenti indicatori ideali:

    • Traffico: tassi di richieste in entrata sulla risorsa nel periodo di tempo selezionato.
    • Percentuale di errori del server: percentuale media di richieste in entrata che generano codici di errore HTTP della serie 5xx nel periodo di tempo selezionato.
    • Latenza P95: il 95° percentile della latenza per una richiesta di servizio aggregata nel periodo di tempo selezionato, in millisecondi.
    • Utilizzo della CPU: la percentuale media di utilizzo della CPU per un workload, aggregata nel periodo di tempo specificato. I valori sono in genere numeri compresi tra 0,0 e 100,0, ma possono superare 100,0.
    • Utilizzo della memoria: la percentuale media di utilizzo della memoria per un workload, aggregata nel periodo di tempo specificato.

(Facoltativo) Esplora le metriche utilizzando i grafici

Per creare grafici delle metriche per i progetti App Hub, utilizza Metrics Explorer. Puoi limitare i dati visualizzati nel grafico applicando filtri basati su etichette. Per ulteriori informazioni, consulta Creare grafici con Metrics Explorer.

Puoi filtrare i dati in base alle seguenti etichette dei metadati di sistema di App Hub (anteprima):

  • apphub_application_host_project_id
  • apphub_application_id
  • apphub_application_location
  • apphub_workload_criticality_type
  • apphub_workload_environment_type
  • apphub_workload_id

Per visualizzare le etichette dei metadati di App Hub in un grafico, segui queste istruzioni. Puoi seguire la stessa procedura per le altre etichette dei metadati di sistema e le metriche di App Hub.

  1. Nella console Google Cloud, vai alla pagina  Esplora metriche:

    Vai a Esplora metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nell'elemento Metrica, espandi il menu Seleziona una metrica, digita VM Instance nella barra dei filtri e poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:
    1. Nel menu Risorse attive, seleziona Istanza VM.
    2. Nel menu Categorie di metriche attive, seleziona Metriche più utilizzate.
    3. Nel menu Metriche attive, seleziona Utilizzo CPU.
    4. Fai clic su Applica.
    Il nome completo di questa metrica è compute.googleapis.com/instance/cpu/utilization.
  3. Configura la modalità di visualizzazione dei dati. Per visualizzare solo le metriche relative a un'etichetta specifica, segui questi passaggi:
    1. Nell'elemento Filtro, fai clic su Aggiungi filtro e poi seleziona apphub_application_id. Per il valore, inserisci un nome specifico per il centro app.
    2. Nella voce Aggregazione, imposta il primo menu su Nessuna aggregazione.

    Per ulteriori informazioni sulla configurazione di un grafico, consulta Selezionare le metriche durante l'utilizzo di Metrics Explorer.

Esegui la pulizia

Ripulisci un'applicazione esistente e rimuovi un allegato del progetto di servizio dal progetto host per rimuovere le risorse associate al progetto. In questo modo viene interrotta la rilevamento automatico delle risorse nel progetto di servizio.

Per farlo, devi prima eliminare i carichi di lavoro e i servizi registrati nell'applicazione.

Console

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

    Vai a Applicazioni

  2. Fai clic sul nome di un'applicazione. Viene visualizzato un elenco di servizi e carichi di lavoro registrati nell'applicazione.

  3. Annullare la registrazione di un servizio o di un workload.

    1. Nella scheda Servizi e carichi di lavoro, fai clic sul nome del servizio o del carico di lavoro che vuoi annullare la registrazione nella sezione Servizi e carichi di lavoro registrati.
    2. Nella scheda Dettagli, fai clic su Disregistra per aggiornare il servizio o il carico di lavoro come risorsa Riscoperta.
      Nella scheda Servizi e workload, un avviso indica che il workload non è registrato.
    3. Ripeti queste istruzioni per ogni servizio e carico di lavoro.
  4. Vai alla pagina Applicazioni di App Hub.

    Vai a Applicazioni

  5. Fai clic sul nome di un'applicazione.

  6. Nella pagina con i dettagli dell'applicazione, fai clic su Elimina.

  7. Per rimuovere i progetti di servizio dal progetto host, consulta la sezione Aggiungere o rimuovere progetti di servizio di questo documento.

  8. Per rimuovere i progetti di servizio dall'ambito delle metriche del progetto host:

    1. Nella console Google Cloud, vai alla pagina  Impostazioni:

      Vai a Impostazioni

      Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

    2. Seleziona Ambito delle metriche.
    3. Nel riquadro Progetti Google Cloud, fai clic su Rimuovi progetto e completa la finestra di dialogo di conferma.

gcloud

  1. Elenca i workload registrati nell'applicazione:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME --project=HOST_PROJECT_ID \
      --location=REGION
    
  2. Annullare la registrazione del carico di lavoro dall'applicazione:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

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

  3. Ripeti il comando precedente per eliminare i restanti carichi di lavoro registrati dall'applicazione.

  4. Elenca i servizi registrati nell'applicazione:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  5. Annullare la registrazione del servizio dall'applicazione:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Il servizio è ora un servizio rilevato che può essere registrato nell'applicazione.

  6. Ripeti il comando precedente per annullare la registrazione dei servizi registrati rimanenti dall'applicazione.

  7. Elimina l'applicazione:

    gcloud apphub applications delete APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  8. Rimuovi un progetto di servizio dal progetto host:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  9. Ripeti il comando precedente per rimuovere tutti i progetti di servizio dal progetto host.

  10. Rimuovi i progetti di servizio dall'ambito delle metriche del progetto host (Anteprima):

    gcloud beta monitoring metrics-scopes delete projects/SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  11. Ripeti il comando precedente per rimuovere tutti i progetti di servizio dal progetto host dell'ambito delle metriche.

Passaggi successivi