Men-deploy instance layanan dengan Runtime SaaS

Pelajari cara men-deploy instance layanan menggunakan SaaS Runtime. Dalam contoh mulai cepat ini, instance layanan Anda adalah VM.

Sebelum memulai

  1. Login ke Akun Google Anda.

    Jika Anda belum memilikinya, Daftar untuk membuat akun baru.

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Create a service account:

    1. 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.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. 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.

    5. Click Create and continue.
    6. Grant the Project > Owner role to the service account.

      To grant the role, find the Select a role list, then select Project > Owner.

    7. Click Continue.
    8. Click Done to finish creating the service account.

  6. Instal Google Cloud CLI.

  7. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  8. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  9. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  10. Verify that billing is enabled for your Google Cloud project.

  11. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  12. Create a service account:

    1. 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.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. 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.

    5. Click Create and continue.
    6. Grant the Project > Owner role to the service account.

      To grant the role, find the Select a role list, then select Project > Owner.

    7. Click Continue.
    8. Click Done to finish creating the service account.

  13. Instal Google Cloud CLI.

  14. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  15. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init

Memberikan izin ke akun layanan pelaksana SaaS

Runtime SaaS menggunakan lebih dari satu akun layanan. Anda membuat akun layanan di bagian sebelumnya, dan saat Anda mengaktifkan SaaS Runtime API, SaaS Runtime akan membuat akun layanan lain.

Akun layanan yang dibuat oleh SaaS Runtime disebut service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com, dengan PROJECT-NUMBER adalah nomor project Anda.

Berikan izin yang diperlukan untuk akun layanan ini dengan melakukan hal berikut:

  1. Buka halaman SaaS Runtime > Ringkasan > Mulai.

    Buka Mulai menggunakan Runtime SaaS

  2. Di banner dengan pesan Izin yang diperlukan untuk akun SaaS Runtime belum diberikan, klik Berikan izin.

Menentukan instance layanan menggunakan konfigurasi Terraform

Anda harus menggunakan konfigurasi Terraform untuk menentukan infrastruktur yang akan di-deploy untuk instance layanan. Dalam panduan memulai ini, Anda akan men-deploy VM.

Untuk membuat konfigurasi Terraform yang menentukan VM:

  1. Buat direktori bernama terraform-vm di komputer lokal Anda.

  2. Di dalam terraform-vm, buat empat file Terraform berikut:

    1. File bernama versions.tf dengan konten berikut:

      terraform {
        required_version = "1.5.7"
        required_providers {
          google = {
            source  = "hashicorp/google"
            version = "~> 4.0"
          }
        }
      }
      
    2. File bernama outputs.tf dengan konten berikut:

      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
      }
      
    3. File bernama variables.tf dengan konten berikut:

      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
      }
      
    4. File bernama main.tf dengan konten berikut:

      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"]
      }
      
  3. Untuk membuat arsip zip yang berisi empat file konfigurasi Terraform ini, buka direktori terraform-vm di terminal Anda dan jalankan perintah berikut:

    zip terraform-files.zip main.tf outputs.tf variables.tf versions.tf
    

    Sekarang Anda memiliki arsip ZIP bernama terraform-files.zip yang berisi keempat file konfigurasi Terraform.

Membuat repositori di Artifact Registry

Untuk menggunakan SaaS Runtime, Anda memerlukan repositori di Artifact Registry. Untuk membuat repositori ini, lakukan hal berikut:

  1. Di konsol, buka Artifact Registry.

    Buka Artifact Registry

  2. Klik Buat repositori.

  3. Untuk Name, ketik vm-quickstart-repo.

  4. Biarkan Format yang dipilih sebagai Docker.

  5. Untuk Region, pilih us-central1 (Iowa).

  6. Klik Create.

Membuat penawaran SaaS

Anda memiliki konfigurasi Terraform yang menentukan VM yang ingin Anda deploy dan repositori. Sekarang Anda dapat menggunakan SaaS Runtime untuk memodelkan unit deployment dan men-deploy VM.

Membuat resource penawaran SaaS

  1. Di konsol, buka SaaS Runtime > SaaS Offering.

    Buka Penawaran SaaS

  2. Klik Create.

  3. Di kolom Name of the SaaS offering, ketik: vm-quickstart-saas-offering.

  4. Di kolom Region, pilih region us-central1, lalu klik Oke.

  5. Klik Create.

Region yang Anda pilih untuk penawaran SaaS adalah tempat deployment penawaran SaaS Anda dihosting. Dalam contoh panduan memulai ini, penawaran SaaS adalah satu VM, sehingga region ini adalah tempat VM disediakan dan dihosting.

Jika Anda memiliki pengguna akhir yang mengakses VM ini, mereka akan mengakses VM yang di-deploy di region yang Anda tentukan di sini.

Membuat model unit deployment

Untuk memodelkan penawaran SaaS, Anda membuat komponen yang disebut jenis unit. Jenis unit menentukan komponen dalam layanan Anda untuk di-deploy dan dikelola. Misalnya, Anda mungkin memiliki satu jenis unit untuk VM, dan jenis unit kedua untuk aplikasi yang berjalan di VM tersebut.

Dalam panduan memulai ini, Anda akan membuat satu jenis unit untuk VM.

Untuk membuat jenis unit:

  1. Di konsol, buka SaaS Runtime > Unit Kinds.

    Buka Jenis unit

  2. Pilih Create.

  3. Di halaman Create blueprints:

    1. Pilih Upload.
    2. Untuk mengupload konfigurasi Terraform yang menentukan VM, lakukan hal berikut:
      1. Di kolom Pemilih file, pilih Browse.
      2. Buka dan pilih terraform-files.zip, yang merupakan file arsip zip yang Anda buat sebelumnya.
      3. Pilih Buka.
    3. Klik Berikutnya: Konfigurasi blueprint.
  4. Di halaman Blueprint toko:

    1. Pilih Artifact Registry:
      1. Di kolom Select repository from Artifact Registry, pilih Browse.
      2. Pilih vm-quickstart-repo, yaitu repositori yang Anda buat sebelumnya.
      3. Klik Pilih.
    2. Di kolom Artifact image name, ketik vm-quickstart-blueprint.
    3. Untuk Versi terraform Infrastructure Manager, pilih 1.5.7.
    4. Untuk akun layanan Cloud Build, pilih akun layanan yang Anda buat di bagian Sebelum memulai.
    5. Klik Berikutnya: Detail jenis unit.
  5. Di halaman Configure unit kind properties, lakukan langkah berikut:

    1. Untuk Unit kind name, ketik vm-quickstart-unit-kind.
    2. Untuk SaaS Offering, pilih vm-quickstart-saas-offering, yang merupakan resource penawaran SaaS yang Anda buat sebelumnya.
    3. Klik Berikutnya: Konfigurasi rilis
  6. Untuk Release name, ketik vm-quickstart-first-release.

  7. Klik Create.

Menyediakan instance layanan

Untuk menyediakan resource yang merupakan bagian dari jenis unit, Anda membuat unit. Saat Anda membuat unit, SaaS Runtime menyediakan resource yang ditentukan dalam konfigurasi Terraform yang terhubung ke jenis unit. Resource disediakan di setiap region yang merupakan bagian dari penawaran SaaS.

Dalam contoh panduan memulai ini, VM disediakan di region us-central1.

  1. Membuat unit:

    1. Di konsol, buka SaaS Runtime > Units.

      Buka Unit

    2. Pilih Create.

    3. Di halaman Buat unit:

      1. Untuk Unit name, ketik: vm-quickstart-unit.
      2. Di bagian SaaS offering, pilih resource penawaran SaaS yang Anda buat sebelumnya: vm-quickstart-saas-offering.
      3. Di bagian Region, pilih us-central1.
      4. Di bagian Unit kind, pilih jenis unit yang Anda buat sebelumnya: vm-quickstart-unit-kind.
      5. Pilih Create.
  2. Untuk menyediakan VM:

    1. Di halaman Detail unit, pilih Sediakan.
    2. Untuk kolom Rilis, pilih vm-quickstart-first-release.
    3. Untuk Service account, pilih akun layanan yang Anda buat di bagian Sebelum memulai.
    4. Tambahkan project Tenant:

      1. Pilih Tambahkan variabel project tenant.
      2. Pilih project Google Cloud yang Anda gunakan untuk panduan memulai ini. Saat men-deploy VM, SaaS Runtime akan men-deploy-nya ke project ini.
    5. Pilih Provision.

SaaS Runtime menyediakan VM di region yang Anda tentukan dalam penawaran SaaS. Anda dapat membuat unit di wilayah mana pun yang Anda tentukan dalam unit. Dalam panduan memulai ini, Anda menentukan satu region (us-central1), dan VM akan disediakan di region ini.

Melihat VM yang di-deploy

Sekarang Anda telah menggunakan SaaS Runtime untuk men-deploy VM.

Untuk melihat VM yang Anda deploy dalam panduan memulai ini:

  1. Di konsol, buka halaman SaaS Runtime > Units > Unit details.

    Buka Unit

  2. Klik nama unit Anda: vm-quickstart-unit.

  3. Di halaman Detail unit:

    1. Pastikan Status adalah:

      • Siap jika VM disediakan.
      • Penyediaan jika operasi masih berlangsung.
    2. Luaskan bagian Variabel.

    3. Di Output variables, Anda dapat melihat IP eksternal yang dapat digunakan untuk menjangkau instance.

  4. Anda juga dapat melihat VM di Compute Engine:

    1. Di konsol, buka halaman Compute Engine > VM instances.

      Buka instance VM

    2. Lihat VM yang tercantum di bagian VM instances.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Menghapus project

Jika Anda men-deploy solusi di project Google Cloud baru, dan tidak lagi memerlukan project tersebut, hapus dengan melakukan langkah-langkah berikut:

  1. Di Konsol Google Cloud , buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus.
  3. Pada layar perintah, ketik project ID, lalu klik Matikan.

Langkah berikutnya