Questa guida fornisce una panoramica dei tenant di App Lifecycle Manager e di come puoi utilizzarli per organizzare la tua offerta SaaS.
Tenant e progetti tenant
Una risorsa tenant di App Lifecycle Manager rappresenta un cliente, un client o un tenant logico della tua offerta SaaS. Funge principalmente da strumento organizzativo che ti aiuta a raggruppare le unità appartenenti a un tenant specifico.
Se la tua offerta SaaS ha più tenant, ti consigliamo di eseguire il provisioning delle risorse di ogni tenant in un progetto separato. Google Cloud Per separare le risorse tenant in progetti dedicati Google Cloud , devi creare almeno due progetti:
- Progetto produttore: il progetto in cui è configurata la tua offerta SaaS. Per l'applicazione SaaS è necessario un solo progetto produttore.
- Progetti tenant: i progetti con risorse App Lifecycle Manager per un tenant specifico. Ti consigliamo di creare un progetto per ogni tenant.
L'utilizzo di progetti separati per ogni tenant consente di impostare configurazioni (ad esempio policy IAM o peering di rete) all'interno dei progetti tenant e ti aiuta a monitorare i costi e gestire le risorse per ogni tenant.
Service account di attivazione in un progetto tenant
Il service account di attivazione deve disporre delle autorizzazioni nel progetto tenant per creare e gestire le risorse definite nella configurazione di Terraform. Ti consigliamo di configurare un account di attivazione separato per ogni tenant.
Per ulteriori informazioni sui service account di attivazione e sulle autorizzazioni potenzialmente richieste, consulta Service account di attivazione.
API in un progetto tenant
Quando App Lifecycle Manager (tramite Infrastructure Manager e il service account di attivazione) tenta di creare risorse (ad esempio una VM) in un progetto tenant, le API necessarie devono essere abilitate in quel progetto tenant. In caso contrario, il provisioning non andrà a buon fine.
Devi abilitare le API per tutti i tipi di risorse utilizzati dalla configurazione di Terraform all'interno di un progetto tenant.
Utilizzare un tipo di unità provvisorio per automatizzare la configurazione del tenant
La creazione manuale di progetti, l'abilitazione delle API e la configurazione di IAM per ogni nuovo tenant richiedono molto tempo e sono soggette a errori. Puoi automatizzare la procedura di configurazione del tenant utilizzando App Lifecycle Manager creando un tipo di unità provvisorio contenente una configurazione di Terraform che:
- Crea un nuovo Google Cloud progetto per il tenant.
- Abilita le API necessarie nel nuovo progetto.
- Crea un account di servizio di attivazione dedicato per il tenant di cui è stato eseguito il provisioning (nel progetto produttore o nel progetto tenant).
- Concede le autorizzazioni IAM necessarie ai service account all'interno del progetto tenant.
- Configura la rete, la registrazione o altre infrastrutture di base.
Il tipo di unità provvisorio deve:
- Definisci le variabili
outputdi Terraform pertenant_project_id,tenant_project_numbere l'indirizzo emailactuation_sache crea. - Ricevi
tenant_idcome variabileinput.
Configura il tipo di unità applicazione in modo che dipenda dal tipo di unità provvisorio e mappa le variabili di output alle variabili di input corrispondenti dell'unità applicazione.
Dopo aver configurato le dipendenze del tipo di unità, App Lifecycle Manager verifica che sia stato eseguito il provisioning dell'unità infrastruttura tenant sottostante (creando un progetto tenant e configurandone le autorizzazioni) prima di eseguire il provisioning dell'unità contenente l'applicazione.
Per ulteriori dettagli sull'implementazione di questo pattern, consulta Gestire le dipendenze tra le unità e utilizzare le variabili.
Passaggi successivi
- Scopri come creare progetti e risorse tenant.
- Scopri come associare le unità ai tenant