Implementa una instancia de servicio con el entorno de ejecución de SaaS
Aprende a implementar una instancia de servicio con el entorno de ejecución de SaaS. En este ejemplo de inicio rápido, tu instancia de servicio es una VM.
Antes de comenzar
-
Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
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
(
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente 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
(
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Otorga permisos a la cuenta de servicio del ejecutor de SaaS
El entorno de ejecución de SaaS usa más de una cuenta de servicio. En la sección anterior, creaste una cuenta de servicio y, cuando habilitas la API de SaaS Runtime, SaaS Runtime crea otra cuenta de servicio.
La cuenta de servicio que crea el entorno de ejecución de SaaS se llama service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com, donde PROJECT-NUMBER es tu número de proyecto.
Para otorgar a esta cuenta de servicio los permisos necesarios, haz lo siguiente:
Abre la página SaaS Runtime > Overview > Get Started.
En el banner con el mensaje No se otorgaron los permisos necesarios para la cuenta del entorno de ejecución de SaaS, haz clic en Otorgar permisos.
Define la instancia de servicio con una configuración de Terraform
Debes usar una configuración de Terraform para definir la infraestructura que se implementará para la instancia del servicio. En esta guía de inicio rápido, implementarás una VM.
Para crear una configuración de Terraform que defina una VM, sigue estos pasos:
Crea un directorio llamado
terraform-vmen tu máquina local.Dentro de
terraform-vm, crea los siguientes cuatro archivos de Terraform:Un archivo llamado
versions.tfcon el siguiente contenido:terraform { required_version = "1.5.7" required_providers { google = { source = "hashicorp/google" version = "~> 4.0" } } }Un archivo llamado
outputs.tfcon el siguiente contenido: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 archivo llamado
variables.tfcon el siguiente contenido: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 archivo llamado
main.tfcon el siguiente contenido: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"] }
Para crear un archivo zip que contenga estos cuatro archivos de configuración de Terraform, navega al directorio
terraform-vmen tu terminal y ejecuta el siguiente comando:zip terraform-files.zip main.tf outputs.tf variables.tf versions.tfAhora tienes un archivo comprimido llamado
terraform-files.zipque contiene los cuatro archivos de configuración de Terraform.
Crea un repositorio en Artifact Registry
Para usar el entorno de ejecución de SaaS, necesitas un repositorio en Artifact Registry. Para crear este repositorio, haz lo siguiente:
En la consola, ve a Artifact Registry.
Haz clic en Crear repositorio.
En Nombre (Name), escribe
vm-quickstart-repo.Mantén Docker como el formato seleccionado.
En Región, elige
us-central1 (Iowa).Haz clic en Crear.
Crea una oferta de SaaS
Tienes la configuración de Terraform que define la VM que deseas implementar y un repositorio. Ahora puedes usar el entorno de ejecución de SaaS para modelar las unidades de implementación y, luego, implementar la VM.
Crea un recurso de oferta de SaaS
En la consola, ve a SaaS Runtime > SaaS Offering.
Haz clic en Crear.
En el campo Nombre de la oferta de SaaS, escribe
vm-quickstart-saas-offering.En el campo Región, selecciona la región
us-central1y, luego, haz clic en Aceptar.Haz clic en Crear.
Las regiones que seleccionaste para la oferta de SaaS son aquellas en las que se alojan las implementaciones de tu oferta de SaaS. En el ejemplo de esta guía de inicio rápido, la oferta de SaaS es una sola VM, por lo que estas regiones son donde se aprovisiona y aloja la VM.
Si los usuarios finales acceden a estas VMs, lo harán a las VMs implementadas en las regiones que especifiques aquí.
Modelar las unidades de implementación
Para modelar la oferta de SaaS, creas componentes llamados tipos de unidades. Un tipo de unidad define un componente dentro de tu servicio para implementar y administrar. Por ejemplo, puedes tener un tipo de unidad para una VM y un segundo tipo de unidad para la aplicación que se ejecuta en esa VM.
En esta guía de inicio rápido, crearás un tipo de unidad para la VM.
Para crear el tipo de unidad, haz lo siguiente:
En la consola, ve a SaaS Runtime > Unit Kinds.
Selecciona Crear.
En la página Crear esquemas, haz lo siguiente:
- Selecciona Subir.
- Para subir la configuración de Terraform que define la VM, haz lo siguiente:
- En el campo Selector de archivos, selecciona Explorar.
- Navega hasta
terraform-files.zip, que es el archivo de archivo zip que creaste antes, y selecciónalo. - Selecciona Abrir.
- Haz clic en Siguiente: Configurar el esquema.
En la página Store blueprint, haz lo siguiente:
- Selecciona Artifact Registry:
- En el campo Seleccionar repositorio de Artifact Registry, selecciona Explorar.
- Selecciona
vm-quickstart-repo, que es el repositorio que creaste anteriormente. - Haz clic en Seleccionar.
- En el campo Nombre de la imagen del artefacto, escribe
vm-quickstart-blueprint. - En Versión de Terraform de Infrastructure Manager, selecciona
1.5.7. - Para la cuenta de servicio de Cloud Build, selecciona la cuenta de servicio que creaste en la sección Antes de comenzar.
- Haz clic en Siguiente: Detalles del tipo de unidad.
- Selecciona Artifact Registry:
En la página Configurar las propiedades del tipo de unidad, haz lo siguiente:
- En Nombre del tipo de unidad, escribe
vm-quickstart-unit-kind. - En Oferta de SaaS, selecciona
vm-quickstart-saas-offering, que es el recurso de oferta de SaaS que creaste antes. - Haz clic en Siguiente: Configuración de lanzamiento.
- En Nombre del tipo de unidad, escribe
En Nombre de la versión, escribe
vm-quickstart-first-release.Haz clic en Crear.
Aprovisiona la instancia de servicio
Para aprovisionar los recursos que forman parte de un tipo de unidad, debes crear unidades. Cuando creas una unidad, SaaS Runtime aprovisiona los recursos definidos en la configuración de Terraform que está conectada al tipo de unidad. Los recursos se aprovisionan en cada región que forma parte de la oferta de SaaS.
En el ejemplo de esta guía de inicio rápido, la VM se aprovisiona en la región us-central1.
Sigue estos pasos para crear una unidad:
En la consola, ve a SaaS Runtime > Units.
Selecciona Crear.
En la página Crear una unidad, haz lo siguiente:
- En Nombre de la unidad, escribe
vm-quickstart-unit. - En Oferta de SaaS, selecciona el recurso de oferta de SaaS que creaste antes:
vm-quickstart-saas-offering. - En Región, selecciona
us-central1. - En Tipo de unidad, selecciona el tipo de unidad que creaste antes:
vm-quickstart-unit-kind. - Selecciona Crear.
- En Nombre de la unidad, escribe
Para aprovisionar la VM, haz lo siguiente:
- En la página Detalles de la unidad, selecciona Aprovisionar.
- En el campo Versión, selecciona
vm-quickstart-first-release. - En Cuenta de servicio, selecciona la cuenta de servicio que creaste en la sección Antes de comenzar.
Agrega un proyecto de inquilino:
- Selecciona Agregar variables del proyecto de usuario.
- Selecciona el proyecto Google Cloud que usas para esta guía de inicio rápido. Cuando el entorno de ejecución de SaaS implementa la VM, lo hace en este proyecto.
Selecciona Provision.
SaaS Runtime aprovisiona una VM en la región que especificaste en la oferta de SaaS. Puedes crear unidades en cualquiera de las regiones que especificaste en la unidad. En este inicio rápido, especificaste una región (us-central1), y esta es la región en la que se aprovisiona la VM.
Visualiza la VM implementada
Ya usaste el entorno de ejecución de SaaS para implementar la VM.
Para ver la VM que implementaste en esta guía de inicio rápido, haz lo siguiente:
En la consola, ve a la página SaaS Runtime > Units > Unit details.
Haz clic en el nombre de tu unidad:
vm-quickstart-unit.En la página Detalles de la unidad, haz lo siguiente:
Comprueba que el estado sea el siguiente:
- Ready si se aprovisionó la VM.
- Aprovisionamiento si la operación aún está en curso
Expande la sección Variables.
En las Variables de salida, puedes ver la IP externa que puedes usar para acceder a la instancia.
También puedes ver la VM en Compute Engine:
En la consola, ve a la página Compute Engine > Instancias de VM.
Verás la VM en Instancias de VM.
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Borra el proyecto
Si implementaste la solución en un proyecto Google Cloud nuevo y ya no lo necesitas, sigue estos pasos para borrarlo:
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- Cuando se te solicite, escribe el ID del proyecto y, luego, haz clic en Cerrar.
¿Qué sigue?
- Para obtener más información sobre SaaS Runtime, consulta la descripción general.
- Para comenzar a usar el entorno de ejecución de SaaS, comienza con Crea una oferta de SaaS.
- Para comprender cómo se usan las cuentas de servicio y cómo otorgar permisos detallados para estas cuentas, consulta Cuentas de servicio del entorno de ejecución de SaaS.
- Para conocer los pasos para actualizar la versión, consulta Lanza una versión.