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 Vorschau einer Bereitstellung ohne Bereitstellung von Ressourcen finden Sie unter Vorschau einer Bereitstellung aufrufen.

Sie können die Bereitstellung in mehreren Projekten und an mehreren Standorten vornehmen. 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. Infra Manager aktivieren.
  2. Prüfen Sie, ob Sie die erforderlichen IAM-Berechtigungen zum Erstellen von Bereitstellungen haben: roles/config.admin.
  3. Achten Sie darauf, dass Sie ein Dienstkonto mit den erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.
  4. Ermitteln Sie die Terraform-Konfiguration, die bereitgestellt werden soll. Prüfen Sie, ob diese Terraform-Konfiguration den Einschränkungen entspricht. Achten Sie insbesondere darauf, dass die Konfiguration keine vertraulichen Daten enthält.
  5. Wenn Sie eine Vorschau der Bereitstellung sehen möchten, bevor Sie Ressourcen konfigurieren, lesen Sie den Abschnitt Vorschau einer Bereitstellung.
  6. Prüfen Sie das Kontingent Ihrer Organisation für Produkte, die mit der gewünschten Infrastruktur verknüpft sind. Es kann zu Bereitstellungsfehlern kommen, wenn die geplante Infrastruktur das Kontingent Ihrer Organisation für die Produkte überschreitet, die in Ihrer Bereitstellung verwendet werden. Weitere Informationen finden Sie unter Kontingente und Limits.

Konfigurationsspezifische Berechtigungen erteilen

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

Diese Berechtigungen sind zusätzlich zu den Berechtigungen erforderlich, die für die Verwendung des Infra Manager-Dienstes benötigt werden.

Weitere Informationen zum Erteilen von Berechtigungen für die Google Cloud -Ressourcen und zum Sicherstellen, dass Sie Zugriff auf die erforderlichen Projekte haben, 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

Sie können Infra Manager verwenden, um eine Terraform-Konfiguration auf verschiedene Arten bereitzustellen:

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

Terraform-Module und -Blueprints für Google Cloud

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 Console 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 Namensbeschränkungen finden Sie in der Dokumentation unter Bereitstellungsname.
    • 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 anhand der in Ihrer Terraform-Konfiguration beschriebenen Infrastruktur. Weitere Informationen zum Arbeiten mit Dienstkonten und Infra Manager finden Sie unter Dienstkonto konfigurieren.
    • Quelle der Terraform-Konfiguration: Klicken Sie auf den Ein/Aus-Schalter, 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:
        • Git-Repository: Geben Sie eine öffentliche oder private Git-Repository-URL, einen Branch oder ein Tag an.
          Wenn Sie ein privates Git-Repository angeben, müssen Sie Ihren Host und Ihr Repository mit Cloud Build verbinden.
        • 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 Zweig des Git-Repositorys verwendet.
      • Ersetzen Sie für Cloud Storage-Bucket:
        • Quelle: Der Name des Speicher-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 auszufüllen.

    Die Werte können beliebige Eingabewerte in der Terraform-Konfiguration sein, einschließlich derer, die nicht standardmäßig definiert sind. Wenn alle Ihre Eingabewerte standardmäßig in der Terraform-Konfiguration 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 Freiformtext. Sie können damit beliebige Informationen anhängen, die mit der Ressource verknüpft sind. Weitere Informationen finden Sie in der Dokumentation zu Anmerkungen.
    • Worker-Pool: Die Worker-Pool-Ressource, in der der Cloud Build-Job ausgeführt wird. Der Worker-Pool hat das Format projects/{project}/locations/{location}/workerPools/{workerPoolId}.
    • Cloud Storage-Bucket für Artefakte: Der Speicherort von Cloud Build-Logs 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 (Bereitstellungen) wird Ihr Deployment zusammen mit seinem Status in der Liste angezeigt.
  7. Wenn Sie weitere Informationen zu Ihrem Deployment sehen möchten, wählen Sie es aus, um zur Seite Deployment-Details zu gelangen.
  8. Fertig! Sie haben Ihre Terraform-Konfiguration mit Infra Manager bereitgestellt.

gcloud-CLI

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

  1. Achten Sie darauf, dass sich die Terraform-Konfiguration in einem Cloud Storage-Bucket befindet. Weitere Informationen finden Sie unter Konfiguration in einen Speicher-Bucket hochladen.
  2. Wenn sich der Storage-Bucket in einem anderen Projekt als dem Projekt befindet, in dem Sie Infra Manager ausführen, müssen Sie dafür sorgen, dass das Dienstkonto von Infra Manager die Leseberechtigung für den Bucket hat. 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. Stellen Sie die Terraform-Konfiguration bereit:

    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 \
            --annotations="ANNOTATION_KEY=ANNOTATION_VALUE"
            --provider-source=SERVICE_MAINTAINED
            
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 Infra Manager-Standorte.
  • DEPLOYMENT_ID: die von Ihnen angegebene Deployment-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 das 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, aber keine Terraform-Datei sein. Wenn Sie die Objektversionsverwaltung verwenden, können Sie auch die Generationsnummer 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 bestimmt, ob die Kontingentvalidierung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie eine Bereitstellung erstellen. Zulässige Werte:
    • ENABLED: Aktivieren Sie die Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien. Bietet Einblick in Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Erzwingt die Kontingentvalidierung, sodass die Bereitstellung fehlschlägt, wenn nicht genügend Kontingent für die in der Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentvalidierung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentvalidierung gilt für begrenzte 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. Beispielsweise können Sie das Projekt, in dem Sie die Ressourcen bereitstellen, als project_id=my-project angeben.

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

  • Optional:TERRAFORM_VERSION: Die Version von Terraform, die Infra Manager zum Erstellen der Bereitstellung verwenden 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 stellen ein Schlüssel/Wert-Paar mit Freiformtext dar, das an Ihre Infra Manager-Bereitstellungen angehängt werden kann. Weitere Informationen zur Verwendung und zu den Einschränkungen von Annotationen und Labels finden Sie unter Annotationen und Labels.
  • Optional: PROVIDER_SOURCE: Bestimmt, welcher Terraform-Provider für die Bereitstellung verwendet wird. Google Cloud Auf SERVICE_MAINTAINED setzen, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Provider zu verwenden. Weitere Informationen finden Sie unter Terraform-Anbieter für Google Cloudverwenden.

gcloud-CLI

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

  1. Prüfen Sie, ob Git installiert ist.
  2. Wenn Ihre Terraform-Konfiguration in einem privaten Git-Repository gespeichert ist, müssen Sie dafür sorgen, dass Git-Host und ‑Repository mit Cloud Build verbunden sind.
  3. Stellen Sie die Terraform-Konfiguration bereit:

    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 \
            --annotations="ANNOTATION_KEY=ANNOTATION_VALUE"
            --provider-source=SERVICE_MAINTAINED
            
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 Infra Manager-Standorte.
  • DEPLOYMENT_ID: die von Ihnen angegebene Deployment-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 das 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: Der Git-Verweis der Konfiguration. Die Referenz ist optional. Wenn Sie die Referenz nicht angeben, wird der standardmäßig konfigurierte Zweig des Git-Repositorys verwendet.
  • Optional: QUOTA_VALIDATION: Der Wert, der bestimmt, ob die Kontingentvalidierung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie eine Bereitstellung erstellen. Zulässige Werte:
    • ENABLED: Aktivieren Sie die Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien. Bietet Einblick in Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Erzwingt die Kontingentvalidierung, sodass die Bereitstellung fehlschlägt, wenn nicht genügend Kontingent für die in der Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentvalidierung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentvalidierung gilt für begrenzte 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. Beispielsweise können Sie das Projekt, in dem Sie die Ressourcen bereitstellen, als project_id=my-project angeben.

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

  • Optional:TERRAFORM_VERSION: Die Version von Terraform, die Infra Manager zum Erstellen der Bereitstellung verwenden 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 stellen ein Schlüssel/Wert-Paar mit Freiformtext dar, das an Ihre Infra Manager-Bereitstellungen angehängt werden kann. Weitere Informationen zur Verwendung und zu den Einschränkungen von Annotationen und Labels finden Sie unter Annotationen und Labels.
  • Optional: PROVIDER_SOURCE: Bestimmt, welcher Terraform-Provider für die Bereitstellung verwendet wird. Google Cloud Auf SERVICE_MAINTAINED setzen, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Provider zu verwenden. Weitere Informationen finden Sie unter Terraform-Anbieter für Google Cloudverwenden.

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. Stellen Sie die Terraform-Konfiguration bereit:

    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 \
            --annotations="ANNOTATION_KEY=ANNOTATION_VALUE"
            --provider-source=SERVICE_MAINTAINED
            
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 Infra Manager-Standorte.
  • DEPLOYMENT_ID: die von Ihnen angegebene Deployment-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 das 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 wird.
  • Optional: QUOTA_VALIDATION: Der Wert, der bestimmt, ob die Kontingentvalidierung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie eine Bereitstellung erstellen. Zulässige Werte:
    • ENABLED: Aktivieren Sie die Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien. Bietet Einblick in Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Erzwingt die Kontingentvalidierung, sodass die Bereitstellung fehlschlägt, wenn nicht genügend Kontingent für die in der Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentvalidierung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentvalidierung gilt für begrenzte 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. Beispielsweise können Sie das Projekt, in dem Sie die Ressourcen bereitstellen, als project_id=my-project angeben.

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

  • Optional:TERRAFORM_VERSION: Die Version von Terraform, die Infra Manager zum Erstellen der Bereitstellung verwenden 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 stellen ein Schlüssel/Wert-Paar mit Freiformtext dar, das an Ihre Infra Manager-Bereitstellungen angehängt werden kann. Weitere Informationen zur Verwendung und zu den Einschränkungen von Annotationen und Labels finden Sie unter Annotationen und Labels.
  • Optional: PROVIDER_SOURCE: Bestimmt, welcher Terraform-Provider für die Bereitstellung verwendet wird. Google Cloud Auf SERVICE_MAINTAINED setzen, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Provider zu verwenden. Weitere Informationen finden Sie unter Terraform-Anbieter für Google Cloudverwenden.

Nächste Schritte