Mit dem Application Design Center können Sie Ihre vorhandenenGoogle Cloud -Terraform-Konfigurationen für mehrere Produkte unverändert in eine Anwendungsvorlage importieren, ohne Ihren Code in einzelne Komponentenmodule umstrukturieren oder ihn zuerst in einem Katalog veröffentlichen zu müssen.
Im Gegensatz zu Terraform-Modulen für ein einzelnes Produkt, die Sie als Katalogkomponenten importieren und im Design-Canvas verbinden, ist eine Terraform-Konfiguration für mehrere Produkte ein Stammmodul, das Ressourcen für mehrere Google Cloud -Produkte bereitstellt. Informationen zum Importieren von Einzelproduktmodulen als Komponenten finden Sie unter Komponenten importieren.
Wenn Sie vorhandene Terraform-Konfigurationen in das App Design Center importieren, können Sie Folgendes tun:
- Bringen Sie vorhandene Terraform-Konfigurationen in die Verwaltung des Anwendungslebenszyklus von App Design Center und registrieren Sie bereitgestellte Ressourcen automatisch in App Hub.
- Versionieren Sie Ihre Terraform-Konfigurationen, indem Sie unveränderliche Versionen von Anwendungsvorlagen erstellen.
- Anwendungen mit Infrastructure Manager als Vorabversion ansehen und bereitstellen oder die Terraform-Dateien nach Cloud Storage exportieren.
Nachdem Sie eine Vorlagenversion erstellt haben, können Sie sie auf eine der folgenden Arten verwenden:
- Direkt bereitstellen: Erstellen Sie eine Anwendung aus der Version, rufen Sie eine Vorschau auf, um einen Bewertungsbericht zu erhalten, und stellen Sie sie bereit. Sie müssen die Vorlage nicht in einem Katalog veröffentlichen, freigeben oder zuerst eine geteilte Vorlage finden.
- Über Ihren Katalog wiederverwenden: Veröffentlichen Sie die Version in Ihrem Katalog, fügen Sie sie als Komponente zu einer zusammengesetzten Anwendungsvorlage hinzu und exportieren Sie die Terraform-Konfiguration der zusammengesetzten Vorlage. Weitere Informationen finden Sie unter Anwendungsvorlage in einem Katalog veröffentlichen.
Hinweis
Bitten Sie Ihren Administrator, Ihnen die erforderlichen Rollen für den für die Verwaltung von Anwendungen konfigurierten Ordner oder das Verwaltungsprojekt zuzuweisen, wie in der folgenden Tabelle aufgeführt, um die Aufgaben in diesem Dokument auszuführen:
| Aufgabe | Erforderliche Rollen |
|---|---|
| Anwendungsvorlagen und Vorlagenversionen erstellen, importieren, Snapshots erstellen und exportieren | Application Design Center Admin (roles/designcenter.admin) oderApplication Design Center User ( roles/designcenter.user) |
| Anwendungen erstellen, bereitstellen und exportieren | Application Admin (roles/designcenter.applicationAdmin) oderApplication Editor ( roles/designcenter.applicationEditor) |
Weitere Informationen zu Rollen finden Sie unter Zugriffssteuerung mit Identity and Access Management.
Speichern Sie Ihr Terraform-Stammmodul (.tf-Dateien und alle unterstützenden Dateien, z. B. .json-Dateien) in einer der folgenden Quellen:
- Ein Cloud Storage-Bucket.
- Ein Developer Connect-Repository.
- Ein öffentliches Git-Repository.
- Eine lokale YAML- oder JSON-Datei, die die Dateien enthält.
Terraform in eine Anwendungsvorlage importieren
Führen Sie die folgenden Schritte mit der Google Cloud CLI aus, um eine Anwendungsvorlage zu erstellen, Ihre vorhandene Terraform-Konfiguration zu importieren und eine unveränderliche Vorlagenversion zu erstellen.
Erstellen Sie eine Anwendungsvorlage in Ihrem Space.
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --display-name=DISPLAY_NAMEErsetzen Sie Folgendes:
APPLICATION_TEMPLATE: Die ID für die Anwendungsvorlage, die Sie erstellen möchten.PROJECT: Die ID Ihres Verwaltungsprojekts.LOCATION: Ihre Standort-ID.SPACE: Ihre Space-ID.DISPLAY_NAME: Ein Anzeigename für die Anwendungsvorlage.
Weitere Informationen finden Sie unter gcloud design-center spaces application-templates create.
Importieren Sie Ihre Terraform-Konfiguration aus einer der folgenden Quellen in die Anwendungsvorlage:
Führen Sie den folgenden Befehl aus, um aus einem Cloud Storage-Bucket zu importieren:
gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --gcs-uri=GCS_URI \ --raw-terraform-import-enabledFühren Sie den folgenden Befehl aus, um aus einem Developer Connect-Repository zu importieren:
gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --developer-connect-repo-uri=DEVELOPER_CONNECT_REPO_URI \ --developer-connect-branch=DEVELOPER_CONNECT_BRANCH \ --developer-connect-dir=DEVELOPER_CONNECT_DIR \ --raw-terraform-import-enabledFühren Sie den folgenden Befehl aus, um aus einem öffentlichen Git-Repository zu importieren:
gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --git-source-repo=GIT_SOURCE_REPO \ --git-source-ref-tag=GIT_SOURCE_REF_TAG \ --git-source-dir=GIT_SOURCE_DIR \ --raw-terraform-import-enabledFühren Sie den folgenden Befehl aus, um eine lokale YAML- oder JSON-Datei mit einer
IaCModule-Nutzlast zu importieren:gcloud design-center spaces application-templates ingest-iac APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --iac-module-from-file=IAC_MODULE_FILE \ --raw-terraform-import-enabled
Ersetzen Sie Folgendes:
APPLICATION_TEMPLATE: Die ID der Anwendungsvorlage.PROJECT: Die ID Ihres Verwaltungsprojekts.LOCATION: Ihre Standort-ID.SPACE: Ihre Space-ID.GCS_URI: Der Cloud Storage-URI, der Ihre Terraform-Dateien enthält, im Formatgs://BUCKET_NAME/FOLDER_PATH.DEVELOPER_CONNECT_REPO_URI: Der URI des Developer Connect-Repository-Links im Formatprojects/PROJECT/locations/LOCATION/connections/CONNECTION/gitRepositoryLinks/REPO_LINK.DEVELOPER_CONNECT_BRANCH: Der Zweigname in Ihrem Developer Connect-Repository. Alternativ können Sie--developer-connect-ref-tagoder--developer-connect-commit-shaangeben.DEVELOPER_CONNECT_DIR: Der Verzeichnispfad in Ihrem Developer Connect-Repository.GIT_SOURCE_REPO: Die HTTPS-URL des öffentlichen Git-Repositorys.GIT_SOURCE_REF_TAG: Die Git-Referenz oder das Git-Tag im öffentlichen Git-Repository.GIT_SOURCE_DIR: Der Verzeichnispfad im öffentlichen Git-Repository.IAC_MODULE_FILE: Der Pfad zu einer lokalen YAML- oder JSON-Datei, die Ihre Terraform-Dateien enthält.
Erstellen Sie einen Snapshot der Anwendungsvorlage, um eine unveränderliche Version der Anwendungsvorlage zu generieren, mit der Sie Anwendungen erstellen und bereitstellen können.
gcloud design-center spaces application-templates snapshot APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACEErsetzen Sie Folgendes:
APPLICATION_TEMPLATE: Die ID der Anwendungsvorlage.PROJECT: Die ID Ihres Verwaltungsprojekts.LOCATION: Ihre Standort-ID.SPACE: Ihre Space-ID.
Die Ausgabe enthält den URI der erstellten Anwendungsvorlagenversion im Format
projects/PROJECT/locations/LOCATION/spaces/SPACE/applicationTemplates/APPLICATION_TEMPLATE/revisions/REVISION.
Anwendung aus der Vorlage erstellen und bereitstellen
Nachdem Sie eine Snapshot-Version Ihrer importierten Terraform-Vorlage erstellt haben, können Sie einen Anwendungsentwurf erstellen, Werte für Eingabevariablen angeben und die Anwendung bereitstellen.
Erstellen Sie einen Anwendungsentwurf aus der Version der Anwendungsvorlage.
gcloud design-center spaces applications create APPLICATION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --source-application-template-revision=SOURCE_APPLICATION_TEMPLATE_REVISION \ --deployment-project=DEPLOYMENT_PROJECT \ --deployment-region=DEPLOYMENT_REGION \ --app-parameters=APP_PARAMETERS \ --scope-type=SCOPE_TYPEErsetzen Sie Folgendes:
APPLICATION: Die ID der Anwendung, die Sie erstellen möchten.PROJECT: Die ID Ihres Verwaltungsprojekts.LOCATION: Ihre Standort-ID.SPACE: Ihre Space-ID.SOURCE_APPLICATION_TEMPLATE_REVISION: Der URI der Anwendungsvorlagenversion, der vom Befehlsnapshotzurückgegeben wird.DEPLOYMENT_PROJECT: Die Zielprojekt-ID, in der Ihre Terraform-Ressourcen bereitgestellt werden.DEPLOYMENT_REGION: Die Zielregion, in der Ihre Terraform-Ressourcen bereitgestellt werden.APP_PARAMETERS: Optional. Geben Sie Schlüssel/Wert-Paare für Variablen für Ihr Terraform-Stammmodul ein (z. B.key=KEY,value=VALUE) oder den Pfad zu einer YAML- oder JSON-Datei, die Ihre Anwendungsparameter enthält.SCOPE_TYPE: Der Bereich für Ihre Anwendung, entwederregionaloderglobal.
Weitere Informationen zum Verwalten von Anwendungen finden Sie unter Anwendungen verwalten.
Sehen Sie sich eine Vorschau Ihrer Anwendung an und stellen Sie sie bereit. Eine detaillierte Anleitung finden Sie unter Anwendungen bereitstellen.
Terraform-Code nach Cloud Storage exportieren
Sie können die Terraform-Dateien aus einer Anwendungsvorlage, einer Anwendungsvorlagenversion oder einer Anwendung in einen Cloud Storage-Bucket exportieren. Exportieren Sie, wenn Sie Terraform mit Ihren eigenen CI/CD-Tools ausführen oder eine Kopie in der Versionsverwaltung speichern möchten.
Führen Sie den folgenden Befehl aus, um Terraform-Dateien aus einem Entwurf einer Anwendungsvorlage zu exportieren:
gcloud design-center spaces application-templates export APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --artifact-location-gcs-uri=ARTIFACT_LOCATION_GCS_URIFühren Sie den folgenden Befehl aus, um Terraform-Dateien aus einer Version einer Anwendungsvorlage zu exportieren:
gcloud design-center spaces application-templates revisions export REVISION \ --application-template=APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --artifact-location-gcs-uri=ARTIFACT_LOCATION_GCS_URIFühren Sie den folgenden Befehl aus, um Terraform-Dateien aus einer Anwendung zu exportieren (einschließlich
zz_adc_inputs.auto.tfvars.json, die mit Ihren konfigurierten Anwendungsparametern gefüllt ist):gcloud design-center spaces applications export APPLICATION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --artifact-location-gcs-uri=ARTIFACT_LOCATION_GCS_URI
Ersetzen Sie Folgendes:
APPLICATION_TEMPLATE: Die ID der Anwendungsvorlage.REVISION: Die Revisions-ID der Anwendungsvorlage.APPLICATION: Die Anwendungs-ID.PROJECT: Die ID Ihres Verwaltungsprojekts.LOCATION: Ihre Standort-ID.SPACE: Ihre Space-ID.ARTIFACT_LOCATION_GCS_URI: Der Cloud Storage-Ziel-URI im Formatgs://BUCKET_NAME/EXPORT_FOLDER.
Nächste Schritte
- Apps verwalten
- Anwendungen bereitstellen
- Terraform herunterladen und bereitstellen.
- Terraform-Code aus der Google Cloud Console exportieren.
- Anwendungsvorlage in einem Katalog veröffentlichen
- Komponenten importieren