Questo documento descrive come configurare un progetto host in App Hub.
Il progetto host è un modello di configurazione dell'applicazione legacy supportato per gli utenti esistenti di App Hub. Ti consigliamo di definire i limiti a livello di cartella configurando una cartella abilitata per le app per le nuove implementazioni. I confini a livello di cartella 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 disponibili per la gestione delle applicazioni, vedi Scegliere il modello di configurazione dell'applicazione.
Panoramica dei progetti host e di servizio
Un progetto host è un progetto Google Cloud a cui colleghi altri progetti che contengono i servizi e i carichi di lavoro che vuoi raggruppare come applicazioni App Hub. I progetti che colleghi al progetto host sono chiamati progetti di servizio.
Un progetto host può gestire le proprie risorse direttamente collegandosi a se stesso. Tuttavia, per una configurazione a progetto singolo, ti consigliamo di utilizzare l'approccio a progetto singolo.
Prima di iniziare
Prima di configurare un progetto Google Cloud come progetto host e collegarvi progetti di servizio, completa i seguenti passaggi:
- Identifica il Google Cloud progetto che vuoi utilizzare come progetto host. Puoi utilizzare un progetto esistente o crearne uno nuovo.
Identifica i progetti Google Cloud 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. I progetti di servizio devono soddisfare i seguenti requisiti:
- 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 Google Cloud come progetto host:
Console
Nella 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.enablepermission. 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 updateTrova 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_IDSostituisci
HOST_PROJECT_IDcon 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 i progetti di servizio contenenti i servizi e i workload che vuoi registrare nelle applicazioni App Hub al progetto host:
Console
Nella console Google Cloud , utilizza il selettore di progetti per selezionare il progetto host.
Vai alla pagina Impostazioni da 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 per i 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_IDSostituisci 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 dissociare un progetto di servizio da un progetto host, vedi Rimuovere i progetti di servizio.
Assegnare ruoli e autorizzazioni di App Hub
Per concedere ruoli e autorizzazioni App Hub appropriati agli utenti di App Hub nei progetti host e di servizio, segui questi passaggi:
Console
Nella 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_IDcon l'ID del progetto di servizio a cui stai concedendo l'accesso.
Configura i Controlli di servizio VPC
Per proteggere le tue applicazioni con un perimetro di Controlli di servizio VPC, aggiungi il progetto host e i progetti di servizio di App Hub al perimetro prima di creare le applicazioni. Per saperne di più, consulta Utilizzare i Controlli di servizio VPC con App Hub.
(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 ulteriori informazioni e istruzioni di configurazione, consulta Configurare un ambito delle metriche e Configurare un ambito delle metriche utilizzando l'API.
Rimuovere progetti di servizio
Per dissociare un progetto di servizio da un progetto host:
Console
Nella console Google Cloud , utilizza il selettore di progetti per selezionare il progetto host.
Vai alla pagina Impostazioni da 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_IDSostituisci 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 da 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 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