Esegui il deployment di un'istanza di servizio con Runtime SaaS
Scopri come eseguire il deployment di un'istanza di servizio utilizzando Runtime SaaS. In questo esempio di guida rapida, l'istanza di servizio è una VM.
Prima di iniziare
-
Accedi al tuo Account Google.
Se non ne hai già uno, registrati per creare un nuovo account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the SaaS Runtime, Artifact Registry, Infrastructure Manager, Developer Connect, Cloud Build, and Cloud Storage APIs.
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.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the SaaS Runtime, Artifact Registry, Infrastructure Manager, Developer Connect, Cloud Build, and Cloud Storage APIs.
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.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
Concedi le autorizzazioni al account di servizio del runner SaaS
Runtime SaaS utilizza più di un account di servizio. Nella sezione precedente hai creato un service account e, quando abiliti l'API SaaS Runtime, SaaS Runtime crea un altro account di servizio.
Il account di servizio creato da Runtime SaaS si chiama
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com,
dove PROJECT-NUMBER è il numero del tuo progetto.
Concedi a questo account di servizio le autorizzazioni richieste procedendo nel seguente modo:
Apri la pagina Runtime SaaS > Panoramica > Inizia.
Nel banner con il messaggio Non sono state concesse le autorizzazioni richieste per l'account Runtime SaaS, fai clic su Concedi autorizzazioni.
Definisci l'istanza del servizio utilizzando una configurazione Terraform
Devi utilizzare una configurazione Terraform per definire l'infrastruttura da deploy per l'istanza di servizio. In questa guida rapida, esegui il deployment di una VM.
Per creare una configurazione Terraform che definisce una VM:
Crea una directory denominata
terraform-vmsulla tua macchina locale.All'interno di
terraform-vm, crea i seguenti quattro file Terraform:Un file denominato
versions.tfcon i seguenti contenuti:terraform { required_version = "1.5.7" required_providers { google = { source = "hashicorp/google" version = "~> 4.0" } } }Un file denominato
outputs.tfcon i seguenti contenuti:output "instance_name" { description = "Name of the instance" value = google_compute_instance.vm_instance.name } output "instance_external_ip" { description = "External IP of the instance" value = google_compute_instance.vm_instance.network_interface[0].access_config[0].nat_ip } output "instance_self_link" { description = "Self-link of the instance" value = google_compute_instance.vm_instance.self_link }Un file denominato
variables.tfcon i seguenti contenuti:variable "region" { description = "The Google Cloud region" type = string default = "us-central1" } variable "zone" { description = "The Google Cloud zone" type = string default = "us-central1-a" } variable "instance_name" { description = "Name for the Compute Engine instance" type = string default = "saas-runtime-vm-instance" } variable "machine_type" { description = "Machine type for the Compute Engine instance" type = string default = "e2-medium" } variable "disk_size" { description = "Boot disk size in GB" type = number default = 10 } variable "actuation_sa" { description = "The email of the Actuation Service Account" type = string } variable "tenant_project_id" { description = "The project ID of the tenant project" type = string } variable "tenant_project_number" { description = "The project number of the tenant project" type = number }Un file denominato
main.tfcon i seguenti contenuti:resource "google_compute_instance" "vm_instance" { project = var.tenant_project_id name = var.instance_name machine_type = var.machine_type zone = var.zone boot_disk { initialize_params { image = "debian-cloud/debian-11" size = var.disk_size } } network_interface { network = "default" access_config { # Ephemeral public IP - empty block is okay here } } tags = ["allow-ssh"] }
Per creare un archivio zip contenente questi quattro file di configurazione Terraform, vai alla directory
terraform-vmnel terminale ed esegui questo comando:zip terraform-files.zip main.tf outputs.tf variables.tf versions.tfOra hai un archivio compresso denominato
terraform-files.zipche contiene tutti e quattro i file di configurazione di Terraform.
Crea un repository in Artifact Registry
Per utilizzare Runtime SaaS, devi avere un repository in Artifact Registry. Per creare questo repository:
Nella console, vai ad Artifact Registry.
Fai clic su Crea repository.
In Nome, digita
vm-quickstart-repo.Mantieni Docker come Formato selezionato.
In Regione, scegli
us-central1 (Iowa).Fai clic su Crea.
Crea un'offerta SaaS
Hai la configurazione Terraform che definisce la VM di cui vuoi eseguire il deployment e un repository. Ora puoi utilizzare Runtime SaaS per modellare le unità di deployment ed eseguire il deployment della VM.
Crea una risorsa di offerta SaaS
Nella console, vai a Runtime SaaS > Offerta SaaS.
Fai clic su Crea.
Nel campo Nome dell'offerta SaaS, digita
vm-quickstart-saas-offering.Nel campo Regione, seleziona la regione
us-central1, poi fai clic su Ok.Fai clic su Crea.
Le regioni che hai selezionato per l'offerta SaaS sono quelle in cui vengono ospitati i deployment della tua offerta SaaS. Nell'esempio di questa guida rapida, l'offerta SaaS è una singola VM, quindi queste regioni sono quelle in cui viene eseguito il provisioning e l'hosting della VM.
Se hai utenti finali che accedono a queste VM, accederanno a queste VM distribuite nelle regioni che specifichi qui.
Modellare le unità di deployment
Per modellare l'offerta SaaS, crei componenti chiamati tipi di unità. Un tipo di unità definisce un componente all'interno del servizio da implementare e gestire. Ad esempio, potresti avere un tipo di unità per una VM e un secondo tipo di unità per l'applicazione in esecuzione su quella VM.
In questa guida rapida crei un tipo di unità per la VM.
Per creare il tipo di unità:
Nella console, vai a SaaS Runtime > Tipi di unità.
Seleziona Crea.
Nella pagina Crea blueprint:
- Seleziona Carica.
- Per caricare la configurazione Terraform che definisce la VM, procedi nel seguente modo:
- Nel campo Selettore file, seleziona Sfoglia.
- Vai a
terraform-files.zipe selezionalo. Si tratta del file di archivio zip che hai creato in precedenza. - Seleziona Apri.
- Fai clic su Avanti: configura il progetto iniziale.
Nella pagina Progetto iniziale del datastore:
- Seleziona Artifact Registry:
- Nel campo Seleziona repository da Artifact Registry, seleziona Sfoglia.
- Seleziona
vm-quickstart-repo, il repository che hai creato in precedenza. - Fai clic su Seleziona.
- Nel campo Nome immagine artefatto, digita
vm-quickstart-blueprint. - In Versione Terraform di Infrastructure Manager, seleziona
1.5.7. - Per il service account Cloud Build, seleziona il service account che hai creato nella sezione Prima di iniziare.
- Fai clic su Avanti: dettagli del tipo di unità.
- Seleziona Artifact Registry:
Nella pagina Configura le proprietà del tipo di unità, segui questi passaggi:
- Per Nome del tipo di unità, digita
vm-quickstart-unit-kind. - Per Offerta SaaS, seleziona
vm-quickstart-saas-offering, ovvero la risorsa dell'offerta SaaS che hai creato in precedenza. - Fai clic su Avanti: configurazione della release.
- Per Nome del tipo di unità, digita
In Nome della release, digita
vm-quickstart-first-release.Fai clic su Crea.
Esegui il provisioning dell'istanza di servizio
Per eseguire il provisioning delle risorse che fanno parte di un tipo di unità, crea unità. Quando crei un'unità, Runtime SaaS esegue il provisioning delle risorse definite nella configurazione Terraform collegata al tipo di unità. Le risorse vengono provisionate in ogni regione che fa parte dell'offerta SaaS.
Nell'esempio di questa guida rapida, la VM viene sottoposta a provisioning nella
regione us-central1.
Creare un'unità:
Nella console, vai a SaaS Runtime > Unità.
Seleziona Crea.
Nella pagina Crea un'unità:
- In Nome unità, digita:
vm-quickstart-unit. - Nella sezione Offerta SaaS, seleziona la risorsa dell'offerta SaaS che
hai creato in precedenza:
vm-quickstart-saas-offering. - In Regione, seleziona
us-central1. - In Tipo di unità, seleziona il tipo di unità che hai creato in precedenza:
vm-quickstart-unit-kind. - Seleziona Crea.
- In Nome unità, digita:
Per eseguire il provisioning della VM:
- Nella pagina Dettagli unità, seleziona Provisioning.
- Per il campo Rilascio, seleziona
vm-quickstart-first-release. - Per Service account, seleziona il service account che hai creato nella sezione Prima di iniziare.
Aggiungi un progetto tenant:
- Seleziona Aggiungi variabili del progetto tenant.
- Seleziona il Google Cloud progetto che utilizzi per questa guida rapida. Quando Runtime SaaS esegue il deployment della VM, lo esegue in questo progetto.
Seleziona Provisioning.
SaaS Runtime esegue il provisioning di una VM nella regione specificata nell'offerta SaaS. Puoi creare unità in
qualsiasi regione specificata nell'unità. In questa guida rapida,
hai specificato una regione (us-central1) ed è qui che
viene eseguito il provisioning della VM.
Visualizza la VM di cui è stato eseguito il deployment
Ora hai utilizzato Runtime SaaS per eseguire il deployment della VM.
Per visualizzare la VM che hai deployment in questa guida rapida:
Nella console, vai alla pagina Runtime SaaS > Unità > Dettagli unità.
Fai clic sul nome dell'unità:
vm-quickstart-unit.Nella pagina Dettagli unità:
Verifica che lo stato sia:
- Pronta se è stato eseguito il provisioning della VM.
- Provisioning se l'operazione è ancora in corso.
Espandi la sezione Variabili.
In Variabili di output, puoi vedere l'IP esterno che puoi utilizzare per raggiungere l'istanza.
Puoi anche visualizzare la VM in Compute Engine:
Nella console, vai alla pagina Compute Engine > Istanze VM.
Visualizza la VM elencata in Istanze VM.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Elimina il progetto
Se hai eseguito il deployment della soluzione in un nuovo progetto Google Cloud e non ne hai più bisogno, eliminalo completando i seguenti passaggi:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Al prompt, digita l'ID progetto e fai clic su Chiudi.
Passaggi successivi
- Per saperne di più su Runtime SaaS, consulta la panoramica di Runtime SaaS.
- Per iniziare a utilizzare Runtime SaaS, inizia con Crea un'offerta SaaS.
- Per capire come vengono utilizzati i service account e come concedere autorizzazioni granulari per questi account, consulta Service account di Runtime SaaS.
- Per la procedura di aggiornamento della release, vedi Implementare una release.