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:
Per gli amministratori:
- Scegli il modello di configurazione dell'applicazione. Devi configurare un progetto di gestione e definire un confine di gestione delle applicazioni che includa le risorse Google Cloud che vuoi organizzare.
- Abilita le API richieste per tutte le risorse Google Cloud che intendi utilizzare.
- Concedi l'accesso agli utenti. Assegna i ruoli IAM appropriati in base alle responsabilità dell'utente nel ciclo di vita dell'applicazione.
Per sviluppatori e operatori:
- Chiedi all'amministratore di confermare che la configurazione iniziale sia stata completata.
- Assicurati di disporre dei ruoli IAM necessari per le attività che vuoi eseguire.
- Apri il progetto di gestione nella console Google Cloud o trova l'ID progetto del progetto di gestione per le interazioni con Terraform o Google Cloud CLI.
Crea un'applicazione
Crea un'applicazione in App Hub che funga da contenitore logico per le tue risorse Google Cloud esistenti:
Console
Nella console Google Cloud , utilizza il selettore di progetti per selezionare il progetto di gestione.
Vai alla pagina Applicazioni da App Hub:
Fai clic su Crea applicazione.
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.
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.
Se vuoi, aggiungi un nome visualizzato e una descrizione per l'applicazione.
Non sono identificatori unici e puoi modificarli dopo aver creato l'applicazione.
Fai clic su Continua.
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.
Fai clic su Continua.
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.
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
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_EMAILSostituisci
APPLICATION_NAMEcon il nome della tua applicazione. Questo nome è un identificatore univoco che può contenere solo lettere minuscole, numeri o trattini.Utilizza flag facoltativi come
--criticality-typeper 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:REGIONALper le applicazioni regionali.GLOBALper 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-typeper la tua applicazione è impostata suREGIONAL, specifica un nome di regione supportato da App Hub. - Se la posizione
--scope-typeper la tua applicazione è impostata suGLOBAL, utilizzaglobal.
- Se la località
(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_CRITICALHIGHMEDIUMLOW
(Facoltativo)
ENVIRONMENT: la fase del ciclo di vita del software. Utilizza uno dei seguenti valori:PRODUCTIONSTAGINGDEVELOPMENTTEST
(Facoltativo)
DEV_NAMEeDEV_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dello sviluppatore, rispettivamente.(Facoltativo)
OPERATOR_NAMEeOPERATOR_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'operatore, rispettivamente.(Facoltativo)
BUSINESS_NAMEeBUSINESS_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'attività, rispettivamente.
- Obbligatorio:
Elenca le applicazioni nel tuo progetto:
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGIONDevi 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:
Nella console Google Cloud , utilizza il selettore di progetti per selezionare il progetto di gestione.
Vai alla pagina Applicazioni da App Hub:
Fai clic sul nome dell'applicazione per cui vuoi registrare Google Cloud le risorse.
Nella pagina dell'applicazione, seleziona la scheda Servizi e carichi di lavoro.
Fai clic su Registra servizi o workload.
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.
Fai clic su Continua.
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.
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
Elenca i servizi disponibili che puoi registrare in un'applicazione:
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPer 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:- Se il servizio è regionale, specifica il nome della regione supportata da App Hub.
- Se il servizio è globale, utilizza
global.
(Facoltativo)
FILTER_EXPRESSION: l'espressione di filtro per il flag--filterper 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_IDservice_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'}- Obbligatorio:
Copia l'ID servizio,
SERVICE_ID, dall'output.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_EMAILSostituisci
SERVICE_NAMEcon il nome che vuoi utilizzare per registrare il servizio nell'applicazione.Utilizza flag facoltativi come
--criticality-typeper 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:- Se il servizio è regionale, specifica il nome della regione supportata da App Hub.
- Se il servizio è globale, utilizza
global.
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_CRITICALHIGHMEDIUMLOW
(Facoltativo)
ENVIRONMENT: la fase del ciclo di vita del software. Utilizza uno dei seguenti valori:PRODUCTIONSTAGINGDEVELOPMENTTEST
(Facoltativo)
DEV_NAMEeDEV_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dello sviluppatore, rispettivamente.(Facoltativo)
OPERATOR_NAMEeOPERATOR_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'operatore, rispettivamente.(Facoltativo)
BUSINESS_NAMEeBUSINESS_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'attività, rispettivamente.
- Obbligatorio:
Elenca i servizi registrati nella tua applicazione:
gcloud apphub applications services list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONPer 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
Elenca i workload disponibili che puoi registrare in un'applicazione:
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPer 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:- Se il workload è regionale, specifica il nome della regione supportata da App Hub.
- Se il workload è globale, utilizza
global.
(Facoltativo)
FILTER_EXPRESSION: l'espressione di filtro per il flag--filterper visualizzare solo i carichi di lavoro di un progetto specificato all'interno del limite di gestione delle applicazioni o con una proprietà specifica, ad esempioworkload_properties.gcp_project=projects/PROJECT_ID.
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'}- Obbligatorio:
Copia l'ID workload,
WORKLOAD_ID, dall'output.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_EMAILSostituisci
WORKLOAD_NAMEcon il nome che vuoi utilizzare per registrare il workload nell'applicazione.Utilizza flag facoltativi come
--criticality-typeper 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:- Se il workload è regionale, specifica il nome della regione supportata da App Hub.
- Se il workload è globale, utilizza
global.
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_CRITICALHIGHMEDIUMLOW
(Facoltativo)
ENVIRONMENT: la fase del ciclo di vita del software. Utilizza uno dei seguenti valori:PRODUCTIONSTAGINGDEVELOPMENTTEST
(Facoltativo)
DEV_NAMEeDEV_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dello sviluppatore, rispettivamente.(Facoltativo)
OPERATOR_NAMEeOPERATOR_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'operatore, rispettivamente.(Facoltativo)
BUSINESS_NAMEeBUSINESS_EMAIL: il nome visualizzato e l'indirizzo email del proprietario dell'attività, rispettivamente.
- Obbligatorio:
Elenca i carichi di lavoro registrati nella tua applicazione:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONPer 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
Per ottenere informazioni su un servizio utilizzando il relativo URI:
data "google_apphub_discovered_service" "my-service" { location = "REGION" service_uri = "SERVICE_URI" }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
Ottieni informazioni su un workload utilizzando il relativo URI:
data "google_apphub_discovered_workload" "my-workload" { location = "REGION" workload_uri = "WORKLOAD_URI" }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à:
- 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.
- (Facoltativo) Vai a Cloud Hub per visualizzare una dashboard operativa unificata per l'applicazione definita, inclusi i dati su integrità, rendimento e costi.