Terraform-Konfiguration erstellen

Beim Auswählen von Lösungen für private Kataloge für Ihre Organisation können Sie eine Terraform-Konfiguration oder Konfiguration erstellen, die Ihre Nutzer mithilfe von Terraform bereitstellen. Nachdem Sie die Konfiguration erstellt haben, können Sie sie für Nutzer freigeben, indem Sie sie Katalogen zuweisen.

In dieser Anleitung verwenden Sie Cloud Build, um Terraform-Befehle in der neuesten Version des Terraform-Docker-Images auszuführen. Außerdem speichern Sie mit Cloud Storage Terraform-Ressourcen wie Module und Statusdateien verwalten

Ressourcen und Anleitungen zur Verwendung von Terraform finden Sie unter Terraform mit Google Cloud verwenden.

Hinweis

  • Sie benötigen die folgenden IAM-Rollen (Identity and Access Management):

    • Katalogadministrator (roles/cloudprivatecatalogproducer.admin) ODER Katalogverwaltung (roles/cloudprivatecatalogproducer.manager) für das Google Cloud-Projekt, in dem Private Catalog aktiviert ist.
    • Storage-Administrator (roles/storage.admin) für das Projekt, in dem der private Katalog aktiviert ist.
    • Cloud Build-Bearbeiter (roles/cloudbuild.builds.editor) für das Projekt, in dem Sie die Lösung erstellen möchten.

      Wenn Sie diese Rollen nicht haben, wenden Sie sich an den Organisationsadministrator, um Zugriff anzufordern.

  • Richten Sie Cloud Build in dem Projekt ein, in dem Sie die Konfiguration erstellen:

    1. Aktivieren Sie die Cloud Build API.

      Aktivieren Sie die API

      Bei der Aktivierung der API wird automatisch ein Cloud Build-Dienstkonto erstellt, das Sie im folgenden Schritt verwenden.

    2. Weisen Sie dem Dienstkonto die folgenden IAM-Rollen zu:

      Schritte zum Zuweisen von Rollen finden Sie unter Zugriff für Cloud Build-Dienstkonto konfigurieren.

Konfigurationsdateien in Cloud Storage hochladen

Sie verwalten Ihre Terraform-Konfigurationsdateien für Private Catalog mit Cloud Storage.

Cloud Storage-Bucket erstellen

Zum Einrichten von Cloud Storage erstellen Sie einen Bucket in demselben Projekt, in dem Sie den privaten Katalog für Ihre Organisation aktiviert haben:

  1. In the Cloud Console, go to the Cloud Storage Browser page.

    Go to Browser

  2. Click Create bucket.
  3. On the Create a bucket page, enter your bucket information. To go to the next step, click Continue.
    • For Name your bucket, enter a name that meets the bucket naming requirements.
    • For Choose where to store your data, do the following:
      • Select a Location type option.
      • Select a Location option.
    • For Choose a default storage class for your data, select a storage class.
    • For Choose how to control access to objects, select an Access control option.
    • For Advanced settings (optional), specify an encryption method, a retention policy, or bucket labels.
  4. Click Create.

Objektversionierung aktivieren

Sie müssen die Objektversionsverwaltung für Ihren Bucket verwenden, um zu verhindern, dass Ihre Terraform-Konfiguration gelöscht oder überschrieben wird. Informationen zum Aktivieren der Objektversionsverwaltung finden Sie in der Cloud Storage-Dokumentation unter Objektversionsverwaltung verwenden.

Zugriff auf den Bucket gewähren

Wenn Nutzer in Ihrer Organisation die Konfiguration bereitstellen, muss ihr Cloud Build-Dienstkonto Lesezugriff auf den Bucket haben. Wenn Ihr Bucket in demselben Cloud-Projekt gespeichert ist, in dem Nutzer die Konfiguration bereitstellen, hat das Dienstkonto bereits diesen Zugriff.

Wenn Ihre Nutzer die Konfiguration in einem anderen Cloud-Projekt bereitstellen, gewähren Sie mit einer der folgenden Methoden Zugriff auf den Bucket:

  • Weisen Sie die Cloud Build-Dienstkonten Ihrer Nutzer oder die Rolle Storage-Objekt-Betrachter (roles/storage.objectViewer) einer Google Cloud-Ressource zu, in der Nutzer Terraform-Konfigurationen bereitstellen. wie einem Projekt, Ordner oder einer Organisation.

  • Verwenden Sie eine Access Control List (ACL), um den Zugriff auf den Bucket zu verwalten.

Weitere Informationen zum Verwalten des Zugriffs auf Buckets finden Sie in der Cloud Storage-Übersicht unter Zugriffssteuerung.

Terraform-Modul erstellen und hochladen

Nachdem Sie Ihren Cloud Storage-Bucket eingerichtet haben, müssen Sie ein Terraform-Modul erstellen und hochladen. Das ist ein Container mit allen Konfigurationsdateien. Der private Catalog verwendet das Modul, um automatisch eine JSON-Schemadatei für die Variablen Ihrer Konfiguration zu generieren.

Module gängiger Google Cloud-Anwendungsfälle finden Sie im Cloud Foundation Toolkit.

Das folgende Codebeispiel zeigt eine Terraform-Konfigurationsdatei, main.tf:


variable "machine_type" {
  type    = string
  default = "n1-standard-1"
}

variable "zone" {
  type    = string
  default = "us-central1-a"
}

variable "deployment_identifier" {
  description = "The unique name for your instance"
  type        = string
}

resource "google_compute_instance" "default" {
  name         = "vm-${var.deployment_identifier}"
  machine_type = var.machine_type
  zone         = var.zone

  boot_disk {
    device_name = "boot"
    auto_delete = true
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }

  network_interface {
    network = "default"
    access_config {
      // Ephemeral IP
    }
  }
}

Komprimieren Sie die Dateien nach dem Erstellen des Moduls in eine ZIP-Datei. Das Modul muss im Stammverzeichnis der ZIP-Datei gespeichert sein. Verwenden Sie keine Unterverzeichnisse.

Laden Sie anschließend die ZIP-Datei in den Bucket hoch. Schritte zum Hochladen der ZIP-Datei finden Sie in der Cloud Storage-Dokumentation unter Objekte hochladen.

Konfiguration in Private Catalog erstellen

Nachdem Sie einen Cloud Storage-Bucket mit Ihrem Terraform-Modul eingerichtet haben, erstellen Sie eine Private Catalog-Lösung, die den Bucket enthält.

So erstellen Sie die Terraform-Konfiguration als Private Catalog-Lösung:

  1. Wechseln Sie in der Cloud Console zur Admin-Seite Lösungen für Private Catalog.
    Zur Seite „Lösungen“

  2. Klicken Sie auf Auswählen, um das Google Cloud-Projekt auszuwählen.

  3. Klicken Sie auf Lösung erstellen. Wählen Sie in der Drop-down-Liste Create Terraform config (Terraform-Konfiguration erstellen) aus.

  4. Geben Sie einen Namen, eine Beschreibung und eine Kurzinfo für Ihre Terraform-Konfiguration ein. Die Slogan ist eine kurze Beschreibung einer Lösung, die Nutzer sehen, wenn sie im privaten Katalog surfen.

  5. Geben Sie im Feld Mit Terraform-Konfiguration verknüpfen den Link zum Cloud Storage-Bucket an, der Ihre ZIP-Datei für das Terraform-Modul enthält, z. B. gs://my-terraform-bucket/my-zip-file.zip.

  6. Optional können Sie ein Symbol für die Lösung hochladen. Die empfohlenen Abmessungen für ein Symbol sind 80 x 80 Pixel.

  7. Geben Sie optional einen Supportlink und Kontaktdaten für den Ersteller ein.

  8. Fügen Sie optional einen Link zur Dokumentation für die Lösung hinzu.

  9. Klicken Sie auf ERSTELLEN.

Die Lösung wird erstellt und auf der Seite Lösungen des privaten Katalogs für Administratoren angezeigt.

Der folgende Screenshot zeigt das Erstellen einer Terraform-Konfiguration:

Terraform-Konfiguration erstellen

Mehr zur Verwendung der Play Console erfahren