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.
Nel riquadro Scegli la regione e il nome dell'applicazione, seleziona la posizione migliore per la tua applicazione in base ai requisiti di distribuzione geografica:
- Seleziona Regionale per creare un'applicazione regionale. Poi, seleziona la regione specifica per la tua applicazione in base alle regioni supportate da App Hub.
- Seleziona Globale per creare un'applicazione globale.
Per saperne di più sulla posizione migliore per la tua applicazione, consulta Applicazioni globali e regionali.
Inserisci il nome dell'applicazione e fai clic su Continua. Questo nome è un identificatore univoco che può contenere solo lettere minuscole, numeri o trattini. Non puoi modificare questo nome dopo aver creato l'applicazione.
(Facoltativo) Definisci gli attributi di primo livello dell'applicazione per supportare la rilevabilità e la governance:
- Nella sezione Aggiungi attributi, inserisci il nome visualizzato. Il nome visualizzato non è un identificatore univoco e puoi modificarlo dopo aver creato l'applicazione.
- Nell'elenco Criticità, seleziona un valore per indicare l'importanza dell'applicazione.
- Nell'elenco Ambiente, seleziona un valore per indicare la fase del ciclo di vita del software.
- Aggiungi i dettagli dei dati di contatto dei proprietari, inclusi nome visualizzato e indirizzo email. Tieni presente che gli indirizzi email devono avere il formato
username@yourdomain, ad esempiojane-doe@gmail.com.
Fai clic su Crea.
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 = "alice@example.com"
}
developer_owners {
display_name = "Bob"
email = "bob@example.com"
}
operator_owners {
display_name = "Charlie"
email = "charlie@example.com"
}
}
}
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, registra le risorseGoogle Cloud esistenti come servizi e workload.
Puoi registrare solo servizi esclusivi in un'unica 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
- 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 le risorse Google Cloud esistenti come servizi e carichi di lavoro.
Nella pagina dei dettagli dell'applicazione, seleziona la scheda Servizi e carichi di lavoro. Questa scheda mostra l'elenco delle risorse esistenti che puoi registrare nell'applicazione. 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.
Per ogni servizio o carico di lavoro che vuoi registrare, procedi nel seguente modo:
- Nella scheda Servizi e workload, fai clic su Registra servizio/workload.
- Vai al riquadro Seleziona risorsa e fai clic su Sfoglia per trovare il servizio o il workload che vuoi registrare.
- Scegli il servizio o il workload e fai clic su Seleziona.
- Nel riquadro Seleziona risorsa, inserisci un nome per il servizio o il carico di lavoro e fai clic su Continua.
(Facoltativo) Nel riquadro Aggiungi attributi, definisci gli attributi di primo livello della risorsa per supportare la rilevabilità e la governance.
Fai clic su Continua.
(Facoltativo) Nella sezione Aggiungi proprietari, aggiungi ulteriori dettagli sui proprietari del servizio o del workload.
Fai clic su Register (Registrati).
La scheda Servizi e workload mostra il servizio o il workload registrato.
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 datigoogle_apphub_discovered_service egoogle_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 detached se sposti un progetto o una cartella al di fuori del confine di gestione delle applicazioni o se elimini la risorsa sottostante. I servizi e i workload separati rimangono nell'applicazione finché non li annulli la registrazione, 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.
Concedi le autorizzazioni e inizia 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 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à, prestazioni e costi.