Dienstinstanz mit der SaaS-Laufzeit bereitstellen

Informationen zum Bereitstellen einer Dienstinstanz mit der SaaS-Laufzeit. In diesem Schnellstartbeispiel ist Ihre Dienstinstanz eine VM.

Hinweis

  1. Melden Sie sich in Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  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. Installieren Sie die Google Cloud CLI.

  7. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  8. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    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. Installieren Sie die Google Cloud CLI.

  14. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  15. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init

Berechtigungen für das SaaS-Runner-Dienstkonto gewähren

Die SaaS-Laufzeit verwendet mehrere Dienstkonten. Sie haben im vorherigen Abschnitt ein Dienstkonto erstellt. Wenn Sie die SaaS Runtime API aktivieren, erstellt die SaaS-Laufzeit ein weiteres Dienstkonto.

Das von der SaaS-Laufzeit erstellte Dienstkonto heißt service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com, wobei PROJECT-NUMBER Ihre Projektnummer ist.

Gewähren Sie diesem Dienstkonto die erforderlichen Berechtigungen:

  1. Öffnen Sie die Seite SaaS Runtime > Übersicht > Erste Schritte.

    Erste Schritte mit der SaaS-Laufzeit

  2. Klicken Sie im Banner mit der Meldung Die erforderlichen Berechtigungen für das SaaS-Laufzeitkonto wurden nicht erteilt auf Berechtigungen erteilen.

Dienstinstanz mit einer Terraform-Konfiguration definieren

Sie müssen eine Terraform-Konfiguration verwenden, um die Infrastruktur zu definieren, die für die Dienstinstanz bereitgestellt werden soll. In dieser Kurzanleitung stellen Sie eine VM bereit.

So erstellen Sie eine Terraform-Konfiguration, die eine VM definiert:

  1. Erstellen Sie auf Ihrem lokalen Computer ein Verzeichnis mit dem Namen terraform-vm.

  2. Erstellen Sie im Verzeichnis terraform-vm die folgenden vier Terraform-Dateien:

    1. Eine Datei mit dem Namen versions.tf und folgendem Inhalt:

      terraform {
        required_version = "1.5.7"
        required_providers {
          google = {
            source  = "hashicorp/google"
            version = "~> 4.0"
          }
        }
      }
      
    2. Eine Datei mit dem Namen outputs.tf und folgendem Inhalt:

      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. Eine Datei mit dem Namen variables.tf und folgendem Inhalt:

      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. Eine Datei mit dem Namen main.tf und folgendem Inhalt:

      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. Wenn Sie ein ZIP-Archiv mit diesen vier Terraform-Konfigurationsdateien erstellen möchten, wechseln Sie in Ihrem Terminal zum Verzeichnis terraform-vm und führen Sie den folgenden Befehl aus:

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

    Sie haben jetzt ein gezipptes Archiv mit dem Namen terraform-files.zip, das alle vier Terraform-Konfigurationsdateien enthält.

Repository in Artifact Registry erstellen

Wenn Sie die SaaS-Laufzeit verwenden möchten, benötigen Sie ein Repository in Artifact Registry. So erstellen Sie dieses Repository:

  1. Rufen Sie in der Console Artifact Registry auf.

    Zu Artifact Registry

  2. Klicken Sie auf Repository erstellen.

  3. Geben Sie für Name vm-quickstart-repo ein.

  4. Lassen Sie Docker als Format ausgewählt.

  5. Wählen Sie bei Region die Option us-central1 (Iowa) aus.

  6. Klicken Sie auf Erstellen.

SaaS-Angebot erstellen

Sie haben die Terraform-Konfiguration, die die VM definiert, die Sie bereitstellen möchten, und ein Repository. Sie können jetzt die SaaS-Laufzeit verwenden, um die Bereitstellungseinheiten zu modellieren und die VM bereitzustellen.

SaaS-Angebotsressource erstellen

  1. Rufen Sie in der Console SaaS Runtime > SaaS-Angebot auf.

    SaaS-Angebot aufrufen

  2. Klicken Sie auf Erstellen.

  3. Geben Sie im Feld Name des SaaS-Angebots Folgendes ein: vm-quickstart-saas-offering.

  4. Wählen Sie im Feld Region die Region us-central1 aus und klicken Sie dann auf Ok.

  5. Klicken Sie auf Erstellen.

In den Regionen, die Sie für das SaaS-Angebot ausgewählt haben, werden die Bereitstellungen Ihres SaaS-Angebots gehostet. Im Beispiel dieses Schnellstarts ist das SaaS-Angebot eine einzelne VM. In diesen Regionen wird die VM bereitgestellt und gehostet.

Wenn Endnutzer auf diese VMs zugreifen, greifen sie auf die VMs zu, die in den hier angegebenen Regionen bereitgestellt werden.

Bereitstellungseinheiten modellieren

Um das SaaS-Angebot zu modellieren, erstellen Sie Komponenten namens Arten von Einheiten. Eine Art der Einheit definiert eine Komponente in Ihrem Dienst, die bereitgestellt und verwaltet werden soll. Sie haben beispielsweise einen Einheitentyp für eine VM und einen zweiten Einheitentyp für die Anwendung, die auf dieser VM ausgeführt wird.

In dieser Kurzanleitung erstellen Sie einen Einheitentyp für die VM.

So erstellen Sie die Art der Einheit:

  1. Rufen Sie in der Console SaaS Runtime > Unit Kinds auf.

    Zu „Einheitentypen“

  2. Wählen Sie Erstellen aus.

  3. Auf der Seite Blaupausen erstellen:

    1. Wählen Sie Hochladen aus.
    2. So laden Sie die Terraform-Konfiguration hoch, die die VM definiert:
      1. Wählen Sie in der Dateiauswahl die Option Durchsuchen aus.
      2. Rufen Sie die zuvor erstellte ZIP-Archivdatei terraform-files.zip auf und wählen Sie sie aus.
      3. Wählen Sie Öffnen aus.
    3. Klicken Sie auf Weiter: Entwurf konfigurieren.
  4. Gehen Sie auf der Seite Entwurf speichern so vor:

    1. Wählen Sie die Artifact Registry aus:
      1. Wählen Sie im Feld Repository aus Artifact Registry auswählen die Option Durchsuchen aus.
      2. Wählen Sie vm-quickstart-repo aus, das Repository, das Sie zuvor erstellt haben.
      3. Klicken Sie auf Auswählen.
    2. Geben Sie im Feld Artifact image name vm-quickstart-blueprint ein.
    3. Wählen Sie für Terraform-Version von Infrastructure Manager die Option 1.5.7 aus.
    4. Wählen Sie für das Cloud Build-Dienstkonto das Dienstkonto aus, das Sie im Abschnitt Vorbereitung erstellt haben.
    5. Klicken Sie auf Weiter: Details zur Art der Einheit.
  5. Führen Sie auf der Seite Eigenschaften der Art der Einheit konfigurieren die folgenden Schritte aus:

    1. Geben Sie für Name der Einheit vm-quickstart-unit-kind ein.
    2. Wählen Sie unter SaaS-Angebot die zuvor erstellte SaaS-Angebotsressource vm-quickstart-saas-offering aus.
    3. Klicken Sie auf Weiter: Releasekonfiguration.
  6. Geben Sie für Releasename vm-quickstart-first-release ein.

  7. Klicken Sie auf Erstellen.

Dienstinstanz bereitstellen

Um die Ressourcen bereitzustellen, die Teil einer Art von Einheit sind, erstellen Sie Einheiten. Wenn Sie eine Einheit erstellen, stellt die SaaS-Laufzeit die Ressourcen bereit, die in der Terraform-Konfiguration definiert sind, die mit der Art der Einheit verbunden ist. Die Ressourcen werden in jeder Region bereitgestellt, die Teil des SaaS-Angebots ist.

Im Beispiel dieser Kurzanleitung wird die VM in der Region us-central1 bereitgestellt.

  1. Einheit erstellen:

    1. Wechseln Sie in der Console zu SaaS Runtime > Einheiten.

      Zu Einheiten

    2. Wählen Sie Erstellen aus.

    3. Auf der Seite Einheit erstellen:

      1. Geben Sie für Einheitenname Folgendes ein: vm-quickstart-unit.
      2. Wählen Sie unter SaaS-Angebot die zuvor erstellte SaaS-Angebotsressource aus: vm-quickstart-saas-offering.
      3. Wählen Sie unter Region us-central1 aus.
      4. Wählen Sie unter Einheitentyp den zuvor erstellten Einheitentyp aus: vm-quickstart-unit-kind.
      5. Wählen Sie Erstellen aus.
  2. So stellen Sie die VM bereit:

    1. Wählen Sie auf der Seite Gerätedetails die Option Bereitstellen aus.
    2. Wählen Sie für das Feld Release die Option vm-quickstart-first-release aus.
    3. Wählen Sie unter Dienstkonto das Dienstkonto aus, das Sie im Abschnitt Vorbereitung erstellt haben.
    4. Mandantenprojekt hinzufügen:

      1. Wählen Sie Variablen für Mandantenprojekt hinzufügen aus.
      2. Wählen Sie das Google Cloud -Projekt aus, das Sie für diese Kurzanleitung verwenden. Wenn die SaaS-Laufzeit die VM bereitstellt, wird sie in diesem Projekt bereitgestellt.
    5. Wählen Sie Bereitstellen aus.

Die SaaS-Laufzeit stellt eine VM in der Region bereit, die Sie im SaaS-Angebot angegeben haben. Sie können Einheiten in allen Regionen erstellen, die Sie in der Einheit angegeben haben. In dieser Kurzanleitung haben Sie eine Region (us-central1) angegeben, in der die VM bereitgestellt wird.

Bereitgestellte VM ansehen

Sie haben die SaaS-Laufzeit jetzt zum Bereitstellen der VM verwendet.

So rufen Sie die VM auf, die Sie in dieser Kurzanleitung bereitgestellt haben:

  1. Rufen Sie in der Console die Seite SaaS Runtime > Einheiten > Einheitendetails auf.

    Zu Einheiten

  2. Klicken Sie auf den Namen Ihrer Einheit: vm-quickstart-unit.

  3. Auf der Seite Einheitendetails:

    1. Prüfen Sie, ob der Status Folgendes ist:

      • Bereit, wenn die VM bereitgestellt wurde.
      • Bereitstellung, wenn der Vorgang noch läuft.
    2. Maximieren Sie den Bereich Variablen.

    3. In den Ausgabevariablen sehen Sie die externe IP-Adresse, die Sie verwenden können, um die Instanz zu erreichen.

  4. Sie können die VM auch in Compute Engine aufrufen:

    1. Rufen Sie in der Console die Seite Compute Engine > VM-Instanzen auf.

      Zur Seite „VM-Instanzen“

    2. Die VM wird unter VM-Instanzen aufgeführt.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

Projekt löschen

Wenn Sie die Lösung in einem neuen Google Cloud -Projekt bereitgestellt haben und das Projekt nicht mehr benötigen, löschen Sie es mit den folgenden Schritten:

  1. Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.

    Zu „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie an der Eingabeaufforderung die Projekt-ID ein und klicken Sie auf Beenden.

Nächste Schritte