Infrastruktur mit Infrastructure Manager bereitstellen

Auf dieser Seite wird beschrieben, wie Sie mit Infrastructure Manager eine Reihe vonGoogle Cloud -Ressourcen bereitstellen, die in einer Terraform-Konfiguration definiert sind.

Informationen zum Aufrufen einer Bereitstellungsvorschau ohne Bereitstellung von Ressourcen finden Sie unter Bereitstellungsvorschau ansehen.

Sie können die Bereitstellung auf mehrere Projekte und Standorte ausweiten. Das Dienstkonto benötigt Berechtigungen für die Ressourcen und Projekte, in denen die Ressourcen bereitgestellt werden. Eine Liste der Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.

Auf dieser Seite wird davon ausgegangen, dass Sie mit Terraform vertraut sind. Weitere Informationen finden Sie unter Terraform und Infra Manager.

Hinweise

  1. Aktivieren Sie Infra Manager.
  2. Sie benötigen die IAM-Berechtigungen zum Erstellen von Bereitstellungen: roles/config.admin.
  3. Sie benötigen ein Dienstkonto mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.
  4. Geben Sie die Terraform-Konfiguration an, die bereitgestellt werden soll. Achten Sie darauf, dass diese Terraform-Konfiguration den Einschränkungen entspricht. Achten Sie insbesondere darauf, dass die Konfiguration keine sensiblen Daten enthält.
  5. Wenn Sie sich eine Vorschau der Bereitstellung ansehen möchten, bevor Sie Ressourcen konfigurieren, lesen Sie den Hilfeartikel Bereitstellung in der Vorschau ansehen.
  6. Prüfen Sie das Kontingent Ihrer Organisation für Produkte, die mit Ihrer geplanten Infrastruktur verknüpft sind. Es kann zu Bereitstellungsfehlern kommen, wenn die geplante Infrastruktur das Kontingent Ihrer Organisation für die Produkte überschreitet, die für die Bereitstellung verwendet werden. Weitere Informationen finden Sie unter Kontingente und Limits.

Konfigurationsspezifische Berechtigungen erteilen

Wenn Sie in der Terraform-Konfiguration angegebene Google Cloud -Ressourcen bereitstellen möchten, benötigt das Dienstkonto, mit dem Sie Infra Manager aufrufen, die erforderlichen Berechtigungen, die für die bereitgestellten Ressourcen spezifisch sind.

Diese Berechtigungen sind zusätzlich zu den Berechtigungen erforderlich, die für die Nutzung des Infra Manager-Dienstes erforderlich sind.

Weitere Informationen zum Gewähren von Berechtigungen für die Ressourcen von Google Cloud und zum Zugriff auf die erforderlichen Projekte finden Sie unter Dienstkonto konfigurieren.

Privates Git-Repository und Host mit Cloud Build verbinden

Wenn Sie eine Terraform-Konfiguration aus einem privaten Git-Repository bereitstellen, müssen Sie Ihren Git-Host und Ihr Repository mit Cloud Build verbinden.

Bereitstellung mit einer Terraform-Konfiguration erstellen

Mit Infra Manager können Sie eine Terraform-Konfiguration auf verschiedene Arten bereitstellen:

  • Empfohlen: Verwenden Sie Infra Manager in der Google Cloud Console, um eine Quelle auszuwählen, Bereitstellungsdetails aufzurufen, eine Vorschau zu erstellen und Terraform-Konfigurationen bereitzustellen. Sie können Infra Manager in der Google Cloud Console verwenden, um aus Cloud Storage-Buckets, Git-Repositories und lokalen Verzeichnissen bereitzustellen.
  • Mit Infra Manager in der Google Cloud CLI können Sie Terraform-Konfigurationen aus folgenden Quellen bereitstellen:
    • Cloud Storage-Buckets
    • Git-Repositories
    • Lokale Verzeichnisse

Unter Terraform-Module und -Blueprints für Google Cloud finden Sie Beispiele und Vorlagen für Terraform-Konfigurationen, die Sie mit Infra Manager verwenden können.

Wählen Sie den Tab mit dem ausgewählten Workflow aus, um weitere Informationen zum Erstellen einer Bereitstellung zu erhalten.

Konsole

In diesem Abschnitt wird beschrieben, wie Sie eine Terraform-Konfiguration mit Infra Manager in der Google Cloud -Konsole bereitstellen.

  1. Rufen Sie in der Google Cloud Console die Seite Infra Manager auf.

    Zu Infra Manager

  2. Klicken Sie auf Erstellen, um eine neue Bereitstellung zu erstellen.
  3. Legen Sie auf der Seite Bereitstellungsdetails die ersten Parameter für Ihre Bereitstellung fest.

    Ersetzen Sie:

    • Bereitstellungs-ID: Geben Sie im Feld Bereitstellungs-ID einen aussagekräftigen Namen für die Bereitstellung ein. Weitere Informationen zu den Benennungsbeschränkungen finden Sie in der Dokumentation zum Bereitstellungsnamen.
    • Region: Wählen Sie im Drop-down-Menü eine unterstützte Region aus.
    • Terraform-Version: Wählen Sie im Drop-down-Menü eine unterstützte Terraform-Version aus. Die Liste der verfügbaren Terraform-Versionen wird automatisch basierend auf der von Ihnen ausgewählten Region ausgefüllt.
    • Dienstkonto: Wählen Sie ein vorhandenes Dienstkonto aus oder erstellen Sie ein neues. Infra Manager validiert Berechtigungen automatisch basierend auf der in Ihrer Terraform-Konfiguration beschriebenen Infrastruktur. Weitere Informationen zur Arbeit mit Dienstkonten und Infra Manager finden Sie unter Dienstkonto konfigurieren.
    • Quelle der Terraform-Konfiguration: Klicken Sie auf die Ein/Aus-Schaltfläche, um entweder Git oder Cloud Storage als Quelle für die Terraform-Konfiguration auszuwählen, die Sie bereitstellen möchten.
      • Ersetzen Sie für Git Folgendes:
        • Git-Repository: Geben Sie die URL, den Branch oder das Tag eines öffentlichen oder privaten Git-Repositorys an.
          Wenn Sie ein privates Git-Repository angeben, müssen Sie Ihren Host und Ihr Repository mit Cloud Build verbunden haben.
        • Optional: Git-Verzeichnis: Das Verzeichnis im Git-Repository, das die Terraform-Konfiguration enthält.
        • Optional: Git-Referenz: Die Git-Referenz der Konfiguration. Wenn Sie keine Referenz angeben, wird der standardmäßig konfigurierte Branch des Git-Repositorys verwendet.
      • Ersetzen Sie unter Cloud Storage-Bucket Folgendes:
        • Quelle: Der Name des Storage-Buckets, in dem die Konfiguration gespeichert ist.

    Klicken Sie auf Weiter.

  4. Verwenden Sie auf der Seite Terraform-Details die Felder Schlüssel und Wert, um die Liste der Eingabewerte in Ihrer Terraform-Konfiguration zu füllen.

    Die Werte können beliebige Eingabewerte in der Terraform-Konfiguration sein, auch solche, die nicht standardmäßig definiert sind. Wenn alle Eingabewerte in der Terraform-Konfiguration standardmäßig definiert sind, sind diese Werte optional. Klicken Sie auf Weiter.

  5. Legen Sie auf der Seite Erweiterte Details optionale Parameter für die Bereitstellung fest.

    Ersetzen Sie:

    • Labels: Labels und Anmerkungen sind Schlüssel/Wert-Paare mit freiem Text. Sie können damit beliebige Informationen an die Ressource anhängen. Weitere Informationen finden Sie in der Dokumentation zu Anmerkungen.
    • Worker-Pool: Die Worker-Pool-Ressource, in der der Cloud Build-Job ausgeführt wird. Das Format des Worker-Pools ist projects/{project}/locations/{location}/workerPools/{workerPoolId}.
    • Cloud Storage-Bucket für Artefakte: Der Speicherort von Cloud Build-Protokollen und -Artefakten in Cloud Storage. Das Format des Pfads ist gs://{bucket}/{folder}.
  6. Klicken Sie auf Bereitstellung erstellen, um die Bereitstellung Ihrer Terraform-Konfiguration zu starten. Auf der Seite Deployments wird Ihr Deployment zusammen mit dem Status zur Liste hinzugefügt.
  7. Wenn Sie weitere Informationen zu Ihrer Bereitstellung benötigen, wählen Sie sie aus, um die Seite Bereitstellungsdetails aufzurufen.
  8. Fertig! Sie haben Ihre Terraform-Konfiguration mit Infra Manager bereitgestellt.

gcloud-CLI

In diesem Abschnitt wird beschrieben, wie eine Terraform-Konfiguration bereitgestellt wird, die in einem Cloud Storage-Bucket gespeichert ist. Mit einem Storage-Bucket können Sie den Zugriff auf die Konfiguration steuern.

  1. Die Terraform-Konfiguration muss sich in einem Cloud Storage-Bucket befinden. Weitere Informationen finden Sie unter Konfiguration in einen Speicher-Bucket hochladen.
  2. Wenn sich der Speicher-Bucket in einem anderen Projekt als dem Projekt befindet, in dem Sie Infra Manager ausführen, muss das Dienstkonto von Infra Manager Leseberechtigungen für den Bucket haben. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.

    Wenn sich der Speicher-Bucket im selben Projekt wie Infra Manager befindet, ist die Leseberechtigung für den Bucket bereits aktiviert.

  3. Terraform-Konfiguration bereitstellen:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
            --quota-validation=QUOTA_VALIDATION \
            --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
            --tf-version-constraint=TERRAFORM_VERSION \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Ersetzen Sie:
  • PROJECT_ID: die Projekt-ID, unter der Infra Manager ausgeführt wird.
  • LOCATION: Der Speicherort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infrastrukturmanager-Standorte.
  • DEPLOYMENT_ID: die von Ihnen angegebene Bereitstellungs-ID. Weitere Informationen zu Einschränkungen für die Bereitstellungs-ID finden Sie unter Bereitstellungsname.
  • SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
  • SERVICE_ACCOUNT: Der Name des Dienstkontos, mit dem Sie Infra Manager aufrufen.
  • BUCKET_NAME: Der Name des Storage-Buckets, in dem die Konfiguration gespeichert ist.
  • OBJECT_NAME: der Objektname der Konfigurationsdatei. Dieses Objekt kann ein Verzeichnis oder eine ZIP-Datei sein, aber keine Terraform-Datei. Wenn Sie die Objektversionsverwaltung verwenden, können Sie auch die Generierungsnummer des Objekts angeben. Weitere Informationen finden Sie unter Versionierte Objekte verwenden.

    Wenn der Speicher-Bucket der Stammpfad der Terraform-Konfiguration ist, ist OBJECT_NAME optional.

  • Optional: QUOTA_VALIDATION: Der Wert, der festlegt, ob die Kontingentprüfung für Ressourcen in Ihren Terraform-Konfigurationsdateien beim Erstellen einer Bereitstellung aktiviert oder erzwungen wird. Mögliche Werte:
    • ENABLED: Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien aktivieren. Bietet Informationen zu Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Kontingentprüfung erzwingen, damit die Bereitstellung fehlschlägt, wenn für die in Ihrer Terraform-Konfigurationsdatei definierte Infrastruktur nicht genügend Kontingent verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentprüfung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentbestätigung gilt für eine begrenzte Anzahl von Google Cloud -Ressourcen. Weitere Informationen finden Sie unter Kontingente und Limits.

  • INPUT_1_NAME und INPUT_2_NAME: Alle Eingabewerte in der Terraform-Konfiguration, einschließlich derjenigen, die nicht standardmäßig definiert sind. Sie können beispielsweise project_id=my-project als Projekt angeben, in dem Sie die Ressourcen bereitstellen.

    Wenn alle Eingabewerte in der Konfiguration standardmäßig definiert sind, ist dieses Flag optional.

  • Optional:TERRAFORM_VERSION: Die Version von Terraform für Infra Manager, die zum Erstellen der Bereitstellung verwendet werden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird die neueste unterstützte Version von Terraform verwendet.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE sind Schlüssel/Wert-Paare im freien Format, die an Ihre Infra Manager-Bereitstellungen angehängt werden können. Weitere Informationen zur Verwendung und zu den Einschränkungen von Anmerkungen und Labels finden Sie unter Anmerkungen und Labels.

gcloud-CLI

In diesem Abschnitt wird beschrieben, wie Sie mit einer Terraform-Konfiguration arbeiten, die in einem Git-Repository gespeichert ist.

  1. Sie müssen Git installiert haben.
  2. Wenn Ihre Terraform-Konfiguration in einem privaten Git-Repository gespeichert ist, müssen Ihr Git-Host und Ihr Repository mit Cloud Build verbunden sein.
  3. Terraform-Konfiguration bereitstellen:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --git-source-repo="GIT_REPO" \
            --git-source-directory="DIRECTORY" \
            --git-source-ref="REF" \
            --quota-validation=QUOTA_VALIDATION \
            --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
            --tf-version-constraint=TERRAFORM_VERSION \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Ersetzen Sie:
  • PROJECT_ID: die Projekt-ID, unter der Infra Manager ausgeführt wird.
  • LOCATION: Der Speicherort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infrastrukturmanager-Standorte.
  • DEPLOYMENT_ID: die von Ihnen angegebene Bereitstellungs-ID. Weitere Informationen zu Einschränkungen für die Bereitstellungs-ID finden Sie unter Bereitstellungsname.
  • SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
  • SERVICE_ACCOUNT: Der Name des Dienstkontos, mit dem Sie Infra Manager aufrufen.
  • GIT_REPO: das Git-Repository.
  • DIRECTORY: das Verzeichnis mit der Terraform-Konfiguration
  • Optional: REF: die Git-Referenz der Konfiguration. Die Referenz ist optional. Wenn Sie keine Referenz angeben, wird der standardmäßig konfigurierte Branch des Git-Repositorys verwendet.
  • Optional: QUOTA_VALIDATION: Der Wert, der festlegt, ob die Kontingentprüfung für Ressourcen in Ihren Terraform-Konfigurationsdateien beim Erstellen einer Bereitstellung aktiviert oder erzwungen wird. Mögliche Werte:
    • ENABLED: Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien aktivieren. Bietet Informationen zu Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Kontingentprüfung erzwingen, damit die Bereitstellung fehlschlägt, wenn für die in Ihrer Terraform-Konfigurationsdatei definierte Infrastruktur nicht genügend Kontingent verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentprüfung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentbestätigung gilt für eine begrenzte Anzahl von Google Cloud -Ressourcen. Weitere Informationen finden Sie unter Kontingente und Limits.

  • INPUT_1_NAME und INPUT_2_NAME: Alle Eingabewerte in der Terraform-Konfiguration, einschließlich derer, die nicht standardmäßig definiert sind. Sie können beispielsweise project_id=my-project als Projekt angeben, in dem Sie die Ressourcen bereitstellen.

    Wenn alle Eingabewerte in der Konfiguration standardmäßig definiert sind, ist dieses Flag optional.

  • Optional:TERRAFORM_VERSION: Die Version von Terraform für Infra Manager, die zum Erstellen der Bereitstellung verwendet werden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird die neueste unterstützte Version von Terraform verwendet.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE sind Schlüssel/Wert-Paare im freien Format, die an Ihre Infra Manager-Bereitstellungen angehängt werden können. Weitere Informationen zur Verwendung und zu den Einschränkungen von Anmerkungen und Labels finden Sie unter Anmerkungen und Labels.

gcloud-CLI

In diesem Abschnitt wird beschrieben, wie Sie mit einer Terraform-Konfiguration arbeiten, die auf Ihrem lokalen Computer gespeichert ist.

  1. Wenn Sie Cloud Shell verwenden, müssen Sie die Konfiguration in Cloud Shell hochladen. Weitere Informationen finden Sie unter Dateien mit Cloud Shell verwalten.
  2. Terraform-Konfiguration bereitstellen:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --local-source="LOCAL_DIRECTORY" \
            --quota-validation=QUOTA_VALIDATION \
            --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
            --tf-version-constraint=TERRAFORM_VERSION \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Ersetzen Sie:
  • PROJECT_ID: die Projekt-ID, unter der Infra Manager ausgeführt wird.
  • LOCATION: Der Speicherort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infrastrukturmanager-Standorte.
  • DEPLOYMENT_ID: die von Ihnen angegebene Bereitstellungs-ID. Weitere Informationen zu Einschränkungen für die Bereitstellungs-ID finden Sie unter Bereitstellungsname.
  • SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
  • SERVICE_ACCOUNT: Der Name des Dienstkontos, mit dem Sie Infra Manager aufrufen.
  • LOCAL_DIRECTORY: das lokale Verzeichnis, in dem die Terraform-Konfiguration gespeichert ist. Wenn Sie Cloud Shell verwenden, ist dies das Verzeichnis in Cloud Shell, in dem die Konfiguration gespeichert ist.
  • Optional: QUOTA_VALIDATION: Der Wert, der festlegt, ob die Kontingentprüfung für Ressourcen in Ihren Terraform-Konfigurationsdateien beim Erstellen einer Bereitstellung aktiviert oder erzwungen wird. Mögliche Werte:
    • ENABLED: Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien aktivieren. Bietet Informationen zu Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Kontingentprüfung erzwingen, damit die Bereitstellung fehlschlägt, wenn für die in Ihrer Terraform-Konfigurationsdatei definierte Infrastruktur nicht genügend Kontingent verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentprüfung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentbestätigung gilt für eine begrenzte Anzahl von Google Cloud -Ressourcen. Weitere Informationen finden Sie unter Kontingente und Limits.

  • INPUT_1_NAME und INPUT_2_NAME: Alle Eingabewerte in der Terraform-Konfiguration, einschließlich derer, die nicht standardmäßig definiert sind. Sie können beispielsweise project_id=my-project als Projekt angeben, in dem Sie die Ressourcen bereitstellen.

    Wenn alle Eingabewerte in der Konfiguration standardmäßig definiert sind, ist dieses Flag optional.

  • Optional:TERRAFORM_VERSION: Die Version von Terraform für Infra Manager, die zum Erstellen der Bereitstellung verwendet werden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird die neueste unterstützte Version von Terraform verwendet.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE sind Schlüssel/Wert-Paare im freien Format, die an Ihre Infra Manager-Bereitstellungen angehängt werden können. Weitere Informationen zur Verwendung und zu den Einschränkungen von Anmerkungen und Labels finden Sie unter Anmerkungen und Labels.

Nächste Schritte