Terraform herunterladen und bereitstellen

In diesem Dokument wird beschrieben, wie Sie Terraform für eine Vorlage oder Anwendung herunterladen, die Sie in App Design Center entworfen haben. Verwenden Sie diese Option, wenn Sie die Anwendung mit Ihren eigenen CI/CD-Tools bereitstellen möchten.

Wenn Sie diesen Code mit Ihren eigenen Tools herunterladen und bereitstellen, enthalten die exportierten Terraform-Dateien die Logik, um Ihre Anwendung automatisch in App Hub zu registrieren. Diese Funktion ermöglicht die Laufzeitüberwachung in Security Command Center.

Da Sie die Anwendung jedoch extern bereitstellen, wird sie als nicht verwaltete Anwendung behandelt. Daher können Sie keine anwendungsorientierten Google Cloud -Funktionen verwenden, die nur für verwaltete Anwendungen verfügbar sind, z. B. Sicherheitsbewertungen zur Designzeit und das Zurückverfolgen von Sicherheitsergebnissen zu ihrer Quelle , um die Ursache zu beheben.

Wenn Sie die Lebenszyklusverwaltung von Anwendungen in App Design Center voll ausschöpfen und alle anwendungsorientierten Google Cloud-Funktionen nutzen möchten, stellen Sie eine Anwendung mit App Design Center bereit.

Das System generiert die folgenden Terraform-Dateien:

  • main.tf: Infrastrukturcode, der ein Modul für jede Komponente in der Vorlage enthält.
  • outputs.tf: Stellt Informationen zu bereitgestellten Infrastrukturkomponenten bereit.
  • variables.tf: Deklariert Name, Typ und Beschreibung für Variablen, die in der Datei main.tf verwendet werden.
  • input.tfvars: Definiert Werte für Variablen, die in der Datei main.tf verwendet werden.
  • providers.tf: Definiert Labels, mit denen Terraform mit Google Cloud APIs und Ressourcen interagieren kann.

Hintergrundinformationen finden Sie unter Übersicht über Terraform auf Google Cloud.

Hinweis

Bitten Sie Ihren Administrator, Ihnen die erforderlichen Rollen für den Ordner mit aktivierter App oder das Verwaltungsprojekt zuzuweisen, um die Aufgaben in diesem Dokument auszuführen. Die erforderlichen Rollen sind in der folgenden Tabelle aufgeführt:

Aufgabe Erforderliche Rollen
Generierten Terraform-Code lokal oder in ein Quellcodeverwaltungs-Repository exportieren Anwendungsadministrator (roles/designcenter.applicationAdmin) oder
Anwendungseditor (roles/designcenter.applicationEditor)

Weitere Informationen zu Rollen finden Sie unter Zugriffssteuerung mit IAM.

Terraform-Code exportieren

Wenn Sie Ihre Vorlagen und Anwendungen außerhalb von Google Cloudverwalten möchten, können Sie Terraform-Code generieren und auf Ihren lokalen Computer oder in Ihr Code Repository exportieren.

Lokal exportieren

Sie können Terraform-Code exportieren, der aus einer Vorlage oder einer Anwendung generiert wurde.

Vorlage

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

    Vorlagen aufrufen

  2. Klicken Sie auf die Vorlagen-ID der Vorlage, die Sie exportieren möchten.

  3. Klicken Sie auf Code abrufen.

    Das System lädt eine ZIP-Datei auf Ihren lokalen Computer herunter. Sie können die Anwendung mit Ihren eigenen Bereitstellungstools und ‑workflows bereitstellen.

Anwendung

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

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie auf den Anwendungsnamen der Anwendung, die Sie exportieren möchten.

  3. Klicken Sie auf Code abrufen.

    Das System lädt eine ZIP-Datei auf Ihren lokalen Computer herunter. Sie können die Anwendung mit Ihren eigenen Bereitstellungstools und ‑workflows bereitstellen.

In Ihr Repository exportieren

Wenn Sie Ihre Vorlagen über Ihr Quellcodeverwaltungs-Repository verwalten möchten, können Sie Vorlagen und Anwendungen nach GitHub exportieren. Anschließend können Sie Ihre vorhandenen Workflows zur Versionsverwaltung verwenden und Builds, Tests und Bereitstellungen mit Ihrer eigenen CI/CD-Pipeline auslösen.

Mit Ihrem Repository verbinden

So erstellen Sie eine Developer Connect-Verbindung zwischen Ihrem GitHub-Repository und Ihrem Verwaltungsprojekt:

  1. Ändern Sie Ihre Organisationsrichtlinie, um die folgenden Dienste Ihrer Zulassungsliste hinzuzufügen:

    1. developerconnect.googleapis.com.
    2. secretmanager.googleapis.com.

    Eine Anleitung zum Ändern Ihrer Organisationsrichtlinie finden Sie unter Einschränkung „Nutzung von Ressourcendiensten einschränken“ verwenden.

  2. Erstellen Sie eine Developer Connect-Verbindung zu Ihrem GitHub-Repository, einschließlich der folgenden Schritte:

    1. Wählen Sie Datenstandort aktivieren aus.
    2. Verknüpfen Sie das Repository, in das Sie Ihre Anwendung exportieren möchten.

    Eine Anleitung zum Erstellen einer Verbindung und zum Verknüpfen eines Repositorys finden Sie unter GitHub verbinden.

  3. So kopieren Sie den Repository-URI:

    1. Öffnen Sie die Seite Developer Connect-Git-Repositories.
    2. Klicken Sie in der Tabelle Repositories auf Weitere Optionen und wählen Sie Ressourcenpfad kopieren aus.

Generieren und exportieren

So generieren Sie Terraform-Code und exportieren ihn in Ihr GitHub-Repository:

Vorlage

  1. Ermitteln Sie Ihre Space-ID.

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    Ersetzen Sie Folgendes:

  2. Ermitteln Sie die Vorlagen-ID der Vorlage, die Sie exportieren möchten.

    gcloud design-center spaces application-templates list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    Ersetzen Sie Folgendes:

  3. Generieren Sie den Terraform-Code Ihrer Vorlage und exportieren Sie ihn nach GitHub.

    gcloud design-center spaces application-templates generate APPLICATION_TEMPLATE \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION \
        --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \
        --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \
        --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH
    

    Ersetzen Sie Folgendes:

    • APPLICATION_TEMPLATE: Die Vorlagen-ID der Vorlage, die Sie exportieren möchten.
    • SPACE: Ihre Space-ID.
    • PROJECT: Ihre Verwaltungs-Projekt-ID.
    • LOCATION: Ihre Standort-ID.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: Das Verzeichnis relativ zu Ihrem GitHub-Repository.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: Der Branch in Ihrem GitHub-Repository.

    Weitere Informationen finden Sie unter gcloud design-center spaces application-templates generate.

  4. Prüfen Sie in Ihrem Repository, ob die Vorlage erfolgreich exportiert wurde.

Anwendung

  1. Ermitteln Sie Ihre Space-ID.

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    Ersetzen Sie Folgendes:

  2. Ermitteln Sie die Anwendungs-ID der Anwendung, die Sie exportieren möchten.

    gcloud design-center spaces applications list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    Ersetzen Sie Folgendes:

  3. Generieren Sie den Terraform-Code Ihrer Anwendung und exportieren Sie ihn nach GitHub.

    gcloud design-center spaces applications generate APPLICATION \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION \
        --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \
        --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \
        --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH
    

    Ersetzen Sie Folgendes:

    • APPLICATION: Die Anwendungs-ID der Anwendung, die Sie exportieren möchten.
    • SPACE: Ihre Space-ID.
    • PROJECT: Ihre Verwaltungs-Projekt-ID.
    • LOCATION: Ihre Standort-ID.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: Das Verzeichnis relativ zu Ihrem GitHub-Repository.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: Der Branch in Ihrem GitHub-Repository.

    Weitere Informationen finden Sie unter gcloud design-center spaces applications generate.

  4. Prüfen Sie in Ihrem Repository, ob die Anwendung erfolgreich exportiert wurde.

Nächste Schritte