Questa pagina descrive come configurare un progetto host per raggruppare servizi e carichi di lavoro come applicazioni App Hub.
I progetti host sono un modello di configurazione supportato per gli utenti esistenti di App Hub. Tuttavia, ti consigliamo di utilizzare le cartelle abilitate per le app per configurare App Hub per le nuove implementazioni. Le cartelle abilitate per le app forniscono l'accesso all'insieme completo di funzionalità di Google Cloud incentrate sulle applicazioni, come Application Design Center e Gemini Cloud Assist. Per un confronto delle principali differenze tra i modelli di configurazione di App Hub disponibili, consulta Scegliere il modello di configurazione di App Hub.
Panoramica dei progetti host e di servizio
Un progetto host è un progetto Google Cloud standard che designi per raggruppare lerisorse supportate come applicazioni App Hub. Colleghi manualmente altri progetti, chiamati progetti di servizio, a questo progetto host in modo che App Hub possa rilevare i servizi e i workload all'interno di questi progetti e registrarli.
Il modello di progetto host e di servizio in App Hub è diverso dal modello utilizzato dal VPC condiviso. Non puoi utilizzare un progetto host VPC condiviso e i relativi progetti di servizio collegati per App Hub. In App Hub, i progetti host e di servizio servono per raggruppare logicamente le risorse delle applicazioni, non per condividere le reti VPC.
Prima di iniziare
Devi completare i seguenti passaggi prima di configurare i progetti Google Cloud come progetti host e di servizio per le tue applicazioni:
- Identifica il Google Cloud progetto che vuoi utilizzare come progetto host. Puoi utilizzare un progetto esistente o crearne uno nuovo.
Identifica i Google Cloud progetti che vuoi collegare al progetto host come progetti di servizio. Devi identificare tutti i progetti che contengono i servizi e i workload che intendi registrare nelle applicazioni di App Hub. Le risorse in altri progetti non saranno visibili ad App Hub. Per i progetti di servizio, considera i seguenti aspetti:
- I progetti di servizio devono appartenere alla stessa organizzazione del progetto host.
- Un progetto di servizio può essere collegato a un solo progetto host alla volta.
- Un progetto host può fungere da progetto di servizio per gestire le proprie risorse, ma non puoi collegarlo come progetto di servizio a nessun altro progetto host.
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per collegare i progetti di servizio al progetto host,
chiedi all'amministratore di concederti il
ruolo IAM Amministratore hub app (roles/apphub.admin
)
sul progetto host e su ogni progetto di servizio che vuoi collegare.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Configura il progetto host
Per configurare un progetto come progetto host, segui questi passaggi:
Console
Nella pagina Benvenuto della console Google Cloud , utilizza il selettore di progetti per selezionare il progetto che vuoi configurare come progetto host.
-
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
gcloud
-
In the Google Cloud console, 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.
Assicurati che sia installata la versione più recente di Google Cloud CLI:
gcloud components update
Trova l'ID progetto del progetto Google Cloud che vuoi configurare come progetto host.
Imposta il progetto host come progetto predefinito per i comandi:
gcloud config set project HOST_PROJECT_ID
Sostituisci
HOST_PROJECT_ID
con l'ID del progetto che vuoi configurare come progetto host.Abilita l'API App Hub nel progetto host:
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Associa i progetti di servizio
Collega al progetto host i progetti di servizio contenenti i servizi e i workload che vuoi raggruppare come applicazioni App Hub:
Console
Nella pagina Benvenuto della console Google Cloud , utilizza il selettore di progetti per selezionare il progetto host.
Vai alla pagina Impostazioni di App Hub:
Fai clic su Allega progetti.
Seleziona i progetti di servizio da collegare al progetto host in uno dei seguenti modi:
- Dall'elenco dei progetti, seleziona le caselle di controllo dei progetti che vuoi allegare come progetti di servizio.
- Filtra i nomi dei progetti e seleziona le relative caselle di controllo.
Fai clic su Seleziona.
La tabella Progetti di servizio collegati mostra i progetti di servizio selezionati.
Fai clic su Chiudi.
gcloud
- Trova l'ID progetto di ciascuno dei Google Cloud progetti che vuoi configurare come progetti di servizio.
Associa ogni progetto di servizio:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio da collegare.HOST_PROJECT_ID
: l'ID del progetto host.
Ripeti la procedura precedente per ogni progetto di servizio che vuoi collegare al progetto host.
Terraform
Per collegare un progetto di servizio a un progetto host utilizzando Terraform, utilizza
la risorsa google_apphub_service_project_attachment
,
ad esempio:
resource "google_apphub_service_project_attachment" "example" {
service_project_attachment_id = google_project.service_project.project_id
depends_on = [time_sleep.wait_120s]
}
resource "google_project" "service_project" {
project_id ="project-1"
name = "Service Project"
org_id = "123456789"
deletion_policy = "DELETE"
}
resource "time_sleep" "wait_120s" {
depends_on = [google_project.service_project]
create_duration = "120s"
}
Per scollegare un progetto di servizio è necessario rimuovere l'allegato. Per ulteriori informazioni, consulta Rimuovere i progetti di servizio.
Assegnare ruoli e autorizzazioni di App Hub
Segui questi passaggi per concedere i ruoli e le autorizzazioni di App Hub appropriati agli utenti di App Hub nei progetti host e di servizio:
Console
Nella pagina Benvenuto della console Google Cloud , utilizza il selettore di progetti per selezionare il progetto host.
Vai alla pagina IAM:
Fai clic su
Concedi l'accesso. Viene visualizzato il riquadro Concedi l'accesso.Nel campo Nuove entità, inserisci l'indirizzo email dell'entità a cui vuoi concedere l'accesso ad App Hub.
Fai clic su Seleziona un ruolo e inserisci App Hub nel campo Filtro.
Seleziona il ruolo IAM di App Hub che intendi assegnare all'entità e fai clic su Salva.
In ciascuno dei progetti di servizio App Hub che hai collegato al progetto host, ripeti la procedura precedente per concedere gli stessi ruoli agli stessi utenti.
gcloud
Trova l'ID progetto di ciascuno dei Google Cloud progetti che hai configurato come progetti host e di servizio.
Concedi l'accesso alle entità nel progetto host:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del progetto host.EMAIL_ADDRESS
: l'indirizzo email del principal che deve ottenere l'accesso ad App Hub nel progetto host. Questo valore deve avere il formatousername@yourdomain
, ad esempiomy.user@example.com
.ROLE_NAME
: il ruolo IAM di App Hub che vuoi assegnare all'entità, ad esempioroles/apphub.admin
.
In ciascuno dei progetti di servizio App Hub che hai collegato al progetto host, concedi gli stessi ruoli agli stessi utenti:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'
Sostituisci
SERVICE_PROJECT_ID
con l'ID del progetto di servizio a cui stai concedendo l'accesso.
Configura i Controlli di servizio VPC
Se vuoi proteggere le tue applicazioni con un perimetro di Controlli di servizio VPC, aggiungi i tuoi progetti host e di servizio App Hub al perimetro prima di creare le tue applicazioni. Per maggiori informazioni, consulta Utilizzo dei Controlli di servizio VPC con App Hub.
Ora puoi registrare risorse esistenti in un'applicazione.
(Facoltativo) Configura l'ambito delle metriche
Per visualizzare le metriche di sistema per le applicazioni all'interno del progetto host in Cloud Monitoring, aggiungi i progetti di servizio collegati all'ambito delle metriche del progetto host. Il progetto host funge da progetto di definizione dell'ambito per i dati delle serie temporali, consentendo la creazione di grafici e il monitoraggio dei dati. Per maggiori informazioni e istruzioni dettagliate sulla configurazione, consulta Configurare un ambito delle metriche e Configurare un ambito delle metriche utilizzando l'API.
Rimuovere i progetti di servizio
Puoi modificare gli allegati del progetto di servizio per consentire a servizi e workload diversi di essere raggruppati in un'applicazione. Puoi collegare altri progetti di servizio al progetto host oppure seguire questi passaggi per rimuovere il collegamento di un progetto di servizio da un progetto host:
Console
Nella pagina Benvenuto della console Google Cloud , utilizza il selettore di progetti per selezionare il progetto host.
Vai alla pagina Impostazioni di App Hub:
Seleziona le caselle di controllo dei progetti di servizio che vuoi rimuovere dal progetto host.
Fai clic su Scollega progetti.
La tabella Progetti di servizio collegati viene aggiornata in modo da visualizzare solo i progetti che rimangono collegati al progetto host.
gcloud
- Trova l'ID progetto di ciascuno dei progetti di servizio che vuoi rimuovere dal progetto host.
Rimuovi ogni progetto di servizio:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio da rimuovere.HOST_PROJECT_ID
: l'ID del progetto host.
Ripeti la procedura precedente per ogni progetto di servizio che vuoi rimuovere dal progetto host.
Quando rimuovi un progetto di servizio da un progetto host, valuta la possibilità di rimuoverlo anche dall'ambito delle metriche del progetto host se in precedenza hai configurato l'ambito delle metriche. Per saperne di più, vedi Rimuovere i progetti da un ambito delle metriche.
Passaggi successivi
- Registrare le risorse esistenti in un'applicazione
- Configurare il monitoraggio delle applicazioni
- Ruoli e autorizzazioni IAM di App Hub
- Panoramica di App Hub