Configurare un progetto host (legacy)

Questo documento descrive come configurare un progetto host in App Hub e creare un confine multi-progetto.

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. L'associazione del progetto host e dei progetti di servizio definisce un confine multi-progetto.

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:

  1. Identifica il Google Cloud progetto che vuoi utilizzare come progetto host. Puoi utilizzare un progetto esistente o crearne uno nuovo.
  2. 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. 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

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

  2. Vai alla pagina Panoramica da App Hub:

    Vai alla panoramica

  3. Fai clic su Configura Hub app.

  4. Nella pagina Abilita App Hub, scegli Configurazione completa per creare un confine multi-progetto.

  5. Prendi nota del nome e dell'ID del progetto. Queste informazioni identificano il progetto host e utilizzerai questi valori per concedere l'accesso.

  6. Esamina l'elenco delle API in fase di abilitazione. Alcune API hanno costi associati. Scopri di più sui costi delle API o fai clic su ciascuna API per visualizzare i costi associati.

  7. Fai clic su Continua.

  8. Nella scheda Definisci confine, verifica i dati del progetto.

  9. Fai clic su Aggiungi progetto per aggiungere progetti di servizio al tuo confine o aggiungili in un secondo momento.

  10. Fai clic su Continua.

  11. Nella scheda Concedi accesso, scegli i ruoli e le autorizzazioni IAM appropriati per gli amministratori del progetto. Per un elenco dei ruoli consigliati incentrati sulle applicazioni nei prodottiGoogle Cloud , vedi Concedere ruoli incentrati sulle applicazioni agli utenti.

  12. Nella casella Nuove entità, inserisci gli utenti, i gruppi o i service account che devono disporre dell'accesso amministrativo alle attività incentrate sulle applicazioni nel progetto.

  13. Fai clic su Concedi ruoli e poi su Completa.

In un secondo momento, puoi concedere ruoli IAM aggiuntivi alle tue entità dalla pagina IAM. Per ulteriori informazioni, consulta Concedi un ruolo IAM utilizzando la console Google Cloud .

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Assicurati che sia installata la versione più recente di Google Cloud CLI:

    gcloud components update
    
  3. Trova l'ID progetto del progetto Google Cloud che vuoi configurare come progetto host.

  4. 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.

  5. Abilita l'API App Hub nel progetto host:

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

Aggiungere progetti di servizio

Aggiungi progetti di servizio al tuo confine di gestione delle applicazioni collegandoli al progetto host.

Per collegare i progetti di servizio al progetto host e creare un confine multi-progetto, segui questi passaggi:

Console

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

    Vai a Benvenuto

  2. Vai alla pagina Impostazioni perimetri dall'App Hub:

    Vai alle impostazioni del confine

  3. Fai clic su Aggiungi progetto.

  4. Seleziona i progetti di servizio che vuoi collegare al progetto host e aggiungi al tuo confine 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.
  5. Fai clic su Seleziona.

    La tabella Progetti nel tuo confine mostra i progetti di servizio selezionati. Il completamento della procedura di allegato potrebbe richiedere del tempo.

  6. Verifica che l'elenco dei progetti di servizio sia completo.

gcloud

  1. Trova l'ID progetto di ciascuno dei Google Cloud progetti che vuoi configurare come progetti di servizio.
  2. 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.
  3. 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

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

    Vai a Benvenuto

  2. Vai alla pagina IAM:

    Vai a IAM

  3. Fai clic su Concedi l'accesso. Viene visualizzato il riquadro Concedi l'accesso.

  4. Nel campo Nuove entità, inserisci l'indirizzo email dell'entità a cui vuoi concedere l'accesso ad App Hub.

  5. Fai clic su Seleziona un ruolo e inserisci App Hub nel campo Filtro.

  6. Seleziona il ruolo IAM di App Hub che intendi assegnare all'entità e fai clic su Salva.

  7. In ognuno 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

  1. Trova l'ID progetto di ciascuno dei Google Cloud progetti che hai configurato come progetti host e di servizio.

  2. 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 formato username@yourdomain, ad esempio my.user@example.com.
    • ROLE_NAME: il ruolo IAM di App Hub che vuoi assegnare all'entità, ad esempio roles/apphub.admin.
  3. 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

Per proteggere le tue applicazioni con un perimetro dei 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 i progetti di servizio

Rimuovi i progetti di servizio dal tuo confine di gestione delle applicazioni dissociandoli dal progetto host.

Per dissociare un progetto di servizio da un progetto host:

Console

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

    Vai a Benvenuto

  2. Vai alla pagina Impostazioni perimetri dall'App Hub:

    Vai alle impostazioni del confine

  3. Seleziona le caselle di controllo dei progetti di servizio che vuoi scollegare dal progetto host e rimuovere dal tuo perimetro.

  4. Fai clic su Scollega progetti.

    La tabella Progetti nel tuo confine viene aggiornata per mostrare solo i progetti che rimangono collegati al progetto host.

  5. Verifica che l'elenco dei progetti di servizio sia aggiornato.

gcloud

  1. Trova l'ID progetto di ciascuno dei progetti di servizio che vuoi rimuovere dal progetto host.
  2. 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.
  3. 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