Registra le risorse esistenti in un'applicazione

La registrazione delle risorse Google Cloud esistenti come servizi e carichi di lavoro in un'applicazione App Hub ti consente di semplificare la gestione organizzando le risorse in base al loro scopo aziendale. Questo approccio fornisce visibilità, monitoraggio, governance e controllo operativo unificati.

Questa guida mostra come raggruppare le risorse Google Cloud esistenti che non sono ancora definite formalmente come applicazione.

Prima di iniziare

Devi completare la configurazione iniziale per la gestione delle applicazioni prima di organizzare le risorse in applicazioni. Questo processo in genere prevede i seguenti ruoli e passaggi:

Crea un'applicazione

Crea un'applicazione in App Hub che funga da contenitore logico per le tue risorse Google Cloud esistenti:

Console

  1. Nella console Google Cloud , utilizza il selettore di progetti per selezionare il progetto di gestione.

  2. Vai alla pagina Applicazioni da App Hub:

    Vai a Applicazioni

  3. Fai clic su Crea applicazione.

  4. Nella scheda Dettagli applicazione, seleziona la posizione migliore per la tua applicazione in base ai requisiti di distribuzione geografica:

    • Seleziona Globale per creare un'applicazione globale.
    • Seleziona Regionale per creare un'applicazione regionale. Poi, seleziona la regione specifica per la tua applicazione in base alle regioni supportate da App Hub.

    Per saperne di più sulla posizione migliore per la tua applicazione, consulta Applicazioni globali e regionali.

  5. Inserisci un nome per l'applicazione.

    Questo nome è un identificatore univoco che può contenere solo lettere minuscole, numeri o trattini. Non puoi modificare questo nome dopo aver creato l'applicazione.

  6. Se vuoi, aggiungi un nome visualizzato e una descrizione per l'applicazione.

    Non sono identificatori unici e puoi modificarli dopo aver creato l'applicazione.

  7. Fai clic su Continua.

  8. Nella scheda Risorse applicazione, sfoglia le risorse dell'infrastruttura e seleziona le caselle di controllo delle risorse che vuoi registrare come servizi e workload dell'applicazione.

    Puoi selezionare fino a 10 risorse alla volta.

  9. Fai clic su Continua.

  10. Nella scheda Attributi e proprietari, puoi aggiungere attributi per l'applicazione, come criticità, ambiente e proprietari dell'applicazione.

    Puoi scegliere di utilizzare gli stessi attributi e proprietari per le risorse che stai registrando nell'applicazione oppure definirli in un secondo momento.

  11. Fai clic su Crea.

Una volta creata l'applicazione, la pagina Applicazioni mostra i relativi dettagli, incluse le risorse registrate come servizi e workload. Dopo aver creato l'applicazione, puoi registrare altri servizi e workload.

gcloud

  1. Utilizza Google Cloud CLI per creare un'applicazione dal terminale o da Cloud Shell:

    gcloud apphub applications create APPLICATION_NAME \
      --project=PROJECT_ID \
      --scope-type=LOCATION \
      --location=REGION \
      --display-name=DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    Sostituisci APPLICATION_NAME con il nome della tua applicazione. Questo nome è un identificatore univoco che può contenere solo lettere minuscole, numeri o trattini.

    Utilizza flag facoltativi come --criticality-type per definire gli attributi di primo livello dell'applicazione e supportare la rilevabilità e la governance.

    Per i flag obbligatori e facoltativi, sostituisci quanto segue:

    • Obbligatorio: PROJECT_ID: l'ID del progetto di gestione.
    • Obbligatorio: LOCATION: la posizione della tua applicazione in base ai requisiti di distribuzione geografica. Utilizza uno dei seguenti valori:

      • REGIONAL per le applicazioni regionali.
      • GLOBAL per le applicazioni globali.

      Per saperne di più sulla posizione migliore per la tua applicazione, consulta Applicazioni globali e regionali.

    • Obbligatorio: REGION: la regione specifica per la tua applicazione. Utilizza uno dei seguenti valori:

      • Se la località --scope-type per la tua applicazione è impostata su REGIONAL, specifica un nome di regione supportato da App Hub.
      • Se la posizione --scope-type per la tua applicazione è impostata su GLOBAL, utilizza global.
    • (Facoltativo) DISPLAY_NAME: il nome visualizzato della tua applicazione. Il nome visualizzato non è un identificatore univoco e puoi modificarlo dopo aver creato l'applicazione.

    • (Facoltativo) CRITICALITY: il livello di importanza dell'applicazione per le tue operazioni. Utilizza uno dei seguenti valori:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • (Facoltativo) ENVIRONMENT: la fase del ciclo di vita del software. Utilizza uno dei seguenti valori:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • (Facoltativo) DEV_NAME e DEV_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dello sviluppatore, rispettivamente.

    • (Facoltativo) OPERATOR_NAME e OPERATOR_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'operatore, rispettivamente.

    • (Facoltativo) BUSINESS_NAME e BUSINESS_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'attività, rispettivamente.

  2. Elenca le applicazioni nel tuo progetto:

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

    Devi ottenere un output simile al seguente:

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

Terraform

Per creare un'applicazione con Terraform, utilizza la risorsa google_apphub_application. Questa risorsa consente di definire le proprietà dell'applicazione, inclusi nome, posizione e attributi.

L'esempio seguente crea un'applicazione regionale in us-central1 con attributi di criticità, ambiente e proprietario definiti:

resource "google_apphub_application" "example" {
    project        = "my-project-id"
    location       = "us-central1"
    application_id = "my-application"
    display_name   = "My Application"
    description    = "This application represents our platform."
    scope {
        type = "REGIONAL"
    }
    attributes {
        criticality {
            type = "MISSION_CRITICAL"
        }
        environment {
            type = "PRODUCTION"
        }
        business_owners {
            display_name = "Alice"
            email        = "[email protected]"
        }
        developer_owners {
            display_name = "Bob"
            email        = "[email protected]"
        }
        operator_owners {
            display_name = "Charlie"
            email        = "[email protected]"
        }
    }
}

Registra servizi e workload

App Hub ti consente di selezionare le risorse supportate che si trovano all'interno del limite di gestione delle applicazioni per registrarle come servizi e workload. Dopo aver creato un'applicazione, puoi registrarvi risorse come servizi e workload. Google Cloud

Puoi registrare solo servizi esclusivi a un'applicazione. Tuttavia, i servizi condivisi possono essere registrati in più di un'applicazione. App Hub rileverà i servizi condivisi quando li registri in un'applicazione, anche se sono già registrati in un'altra applicazione, ma potresti non essere in grado di modificare i relativi attributi.

Console

Dopo aver creato un'applicazione, puoi registrarvi più risorse:

  1. Nella console Google Cloud , utilizza il selettore di progetti per selezionare il progetto di gestione.

  2. Vai alla pagina Applicazioni da App Hub:

    Vai a Applicazioni

  3. Fai clic sul nome dell'applicazione per cui vuoi registrare Google Cloud le risorse.

  4. Nella pagina dell'applicazione, seleziona la scheda Servizi e carichi di lavoro.

  5. Fai clic su Registra servizi o workload.

  6. Nella scheda Servizi e carichi di lavoro, sfoglia le risorse dell'infrastruttura e seleziona le caselle di controllo delle risorse che vuoi registrare come servizi o carichi di lavoro dell'applicazione.

    Puoi selezionare fino a 10 risorse alla volta.

  7. Fai clic su Continua.

  8. Nella scheda Attributi e proprietari, puoi aggiungere attributi per queste risorse, come criticità, ambiente e proprietari delle risorse.

    Puoi scegliere di utilizzare gli stessi attributi e proprietari dell'applicazione o definire attributi diversi in un secondo momento.

  9. Fai clic su Register (Registrati).

La scheda Servizi e carichi di lavoro mostra tutti i servizi e i carichi di lavoro registrati dell'applicazione.

gcloud

App Hub ti consente di selezionare risorse supportate che si trovano all'interno del limite di gestione delle applicazioni come servizi o carichi di lavoro. Utilizza Google Cloud CLI per elencare i servizi o i carichi di lavoro che puoi registrare nell'applicazione dal terminale o da Cloud Shell. I comandi sono leggermente diversi per servizi e carichi di lavoro:

Registra servizi

  1. Elenca i servizi disponibili che puoi registrare in un'applicazione:

    gcloud apphub discovered-services list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    Per i flag obbligatori e facoltativi, sostituisci quanto segue:

    • Obbligatorio: PROJECT_ID: l'ID del progetto di gestione.
    • Obbligatorio: REGION: la regione specifica del tuo servizio in base alla tua distribuzione geografica. Utilizza uno dei seguenti valori:

    • (Facoltativo) FILTER_EXPRESSION: l'espressione di filtro per il flag --filter per visualizzare solo i servizi di un progetto specificato all'interno del limite di gestione delle applicazioni o con una proprietà specifica, ad esempio:

      • service_properties.gcp_project=projects/PROJECT_ID
      • service_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"

    L'output è simile al seguente:

    ID            SERVICE_REFERENCE                                                                                             SERVICE_PROPERTIES
    SERVICE_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. Copia l'ID servizio, SERVICE_ID, dall'output.

  3. Registra il servizio nella tua applicazione:

    gcloud apphub applications services create SERVICE_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \
      --display-name=SERVICE_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    Sostituisci SERVICE_NAME con il nome che vuoi utilizzare per registrare il servizio nell'applicazione.

    Utilizza flag facoltativi come --criticality-type per definire gli attributi di primo livello del servizio e supportare la rilevabilità e la governance.

    Per i flag obbligatori e facoltativi, sostituisci quanto segue:

    • Obbligatorio: PROJECT_ID: l'ID del progetto di gestione.
    • Obbligatorio: REGION: la regione specifica del tuo servizio in base alla tua distribuzione geografica. Utilizza uno dei seguenti valori:

    • Obbligatorio: APPLICATION_NAME: il nome dell'applicazione per cui vuoi registrare il servizio.

    • Obbligatorio: SERVICE_ID: l'ID servizio che hai copiato dall'output precedente.

    • (Facoltativo) SERVICE_DISPLAY_NAME: il nome visualizzato del tuo servizio.

    • (Facoltativo) CRITICALITY: il livello di importanza del servizio per le tue operazioni. Utilizza uno dei seguenti valori:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • (Facoltativo) ENVIRONMENT: la fase del ciclo di vita del software. Utilizza uno dei seguenti valori:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • (Facoltativo) DEV_NAME e DEV_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dello sviluppatore, rispettivamente.

    • (Facoltativo) OPERATOR_NAME e OPERATOR_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'operatore, rispettivamente.

    • (Facoltativo) BUSINESS_NAME e BUSINESS_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'attività, rispettivamente.

  4. Elenca i servizi registrati nella tua applicazione:

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

    Per ogni servizio registrato, devi ottenere un output simile al seguente:

    ID              DISPLAY_NAME            SERVICE_REFERENCE                                                                                             CREATE_TIME
    SERVICE_NAME    SERVICE_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    2023-11-01T21:38:08
    

Registra workload

  1. Elenca i workload disponibili che puoi registrare in un'applicazione:

    gcloud apphub discovered-workloads list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    Per i flag obbligatori e facoltativi, sostituisci quanto segue:

    L'output è simile al seguente:

    ID             WORKLOAD_REFERENCE                                                                                    WORKLOAD_PROPERTIES
    WORKLOAD_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. Copia l'ID workload, WORKLOAD_ID, dall'output.

  3. Registra il workload nella tua applicazione:

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \
      --display-name=WORKLOAD_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    Sostituisci WORKLOAD_NAME con il nome che vuoi utilizzare per registrare il workload nell'applicazione.

    Utilizza flag facoltativi come --criticality-type per definire gli attributi di primo livello del workload e supportare la rilevabilità e la governance.

    Per i flag obbligatori e facoltativi, sostituisci quanto segue:

    • Obbligatorio: PROJECT_ID: l'ID del progetto di gestione.
    • Obbligatorio: REGION: la regione specifica del tuo workload in base alla tua distribuzione geografica. Utilizza uno dei seguenti valori:

    • Obbligatorio: APPLICATION_NAME: il nome dell'applicazione per cui vuoi registrare il workload.

    • Obbligatorio: WORKLOAD_ID: l'ID workload che hai copiato dall'output precedente.

    • (Facoltativo) WORKLOAD_DISPLAY_NAME: il nome visualizzato del tuo workload.

    • (Facoltativo) CRITICALITY: il livello di importanza del workload per le tue operazioni. Utilizza uno dei seguenti valori:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • (Facoltativo) ENVIRONMENT: la fase del ciclo di vita del software. Utilizza uno dei seguenti valori:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • (Facoltativo) DEV_NAME e DEV_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dello sviluppatore, rispettivamente.

    • (Facoltativo) OPERATOR_NAME e OPERATOR_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'operatore, rispettivamente.

    • (Facoltativo) BUSINESS_NAME e BUSINESS_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'attività, rispettivamente.

  4. Elenca i carichi di lavoro registrati nella tua applicazione:

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

    Per ogni carico di lavoro registrato, devi ottenere un output simile al seguente:

    ID               DISPLAY_NAME             WORKLOAD_REFERENCE                                                                                    CREATE_TIME
    WORKLOAD_NAME    WORKLOAD_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    2023-11-01T21:38:08
    

Terraform

Per utilizzare Terraform per registrare le risorse Google Cloud all'interno del limite di gestione delle applicazioni come servizi o workload in un'applicazione, utilizza le origini dati google_apphub_discovered_service e google_apphub_discovered_workload per recuperare dinamicamente le informazioni sulle risorse che vuoi registrare.

Quindi, utilizza le risorse google_apphub_service o google_apphub_workload per registrare rispettivamente servizi o workload.

Registra servizi

  1. Per ottenere informazioni su un servizio utilizzando il relativo URI:

    data "google_apphub_discovered_service" "my-service" {
        location = "REGION"
        service_uri = "SERVICE_URI"
    }
    
  2. Registra il servizio rilevato nella tua applicazione, ad esempio:

    resource "google_apphub_service" "example" {
        project            = "my-project-id"
        location           = "us-central1"
        application_id     = google_apphub_application.example.application_id
        service_id         = "frontend-load-balancer"
        discovered_service = data.google_apphub_discovered_service.my-forwarding-rule.name
        display_name       = "Frontend Load Balancer"
        description        = "The primary load balancer for the frontend."
    }
    

Registra workload

  1. Ottieni informazioni su un workload utilizzando il relativo URI:

    data "google_apphub_discovered_workload" "my-workload" {
        location = "REGION"
        workload_uri = "WORKLOAD_URI"
    }
    
  2. Registra il workload rilevato nella tua applicazione, ad esempio:

    resource "google_apphub_workload" "example" {
        project             = "my-project-id"
        location            = "us-central1"
        application_id      = google_apphub_application.example.application_id
        workload_id         = "frontend-instance-group"
        discovered_workload = data.google_apphub_discovered_workload.my-mig.name
        display_name        = "Frontend Instance Group"
        description         = "The managed instance group for the frontend."
    }
    

Lo stato di registrazione dei servizi e dei carichi di lavoro registrati a un'applicazione potrebbe cambiare in separato se sposti un progetto o una cartella al di fuori del limite di gestione delle applicazioni o elimini la risorsa sottostante. I servizi e i workload separati rimangono nell'applicazione finché non li annulli, ma App Hub non può più gestirli o monitorarli. Per ulteriori informazioni, vedi Stato di registrazione di servizi e workload.

Per ricollegare servizi o workload a un'applicazione, devi registrarli di nuovo.

Concedere le autorizzazioni e iniziare le operazioni

Dopo aver creato un'applicazione e registrato servizi e carichi di lavoro in App Hub, devi concedere l'accesso utente in base alle responsabilità del ciclo di vita per gestire questo raggruppamento logico come una singola unità:

  1. A seconda delle tue esigenze di accesso, puoi concedere le autorizzazioni a singole applicazioni o a tutte le applicazioni. Per un elenco dei ruoli consigliati, vedi Concedere ruoli incentrati sulle applicazioni agli utenti.
  2. (Facoltativo) Vai a Cloud Hub per visualizzare una dashboard operativa unificata per l'applicazione definita, inclusi i dati su integrità, rendimento e costi.