App Design Center は、アプリケーションにコンポーネントとして追加できるいくつかの Google Cloud プロダクト をサポートしています。これらのコンポーネントの独自のバージョンを使用する場合や、他のコンポーネントを追加する場合は、Terraform モジュールを App Design Center にインポートします。
Terraform モジュールは、 Google Cloud プロダクトの再利用可能な構成です。 Terraform モジュールをインポートすると、次のことが可能になります。
- アプリケーション開発を加速し、管理する。
- App Design Center で既存の設計上の決定を再利用する。
- アプリケーション デベロッパーが確立された設計ポリシーを遵守できるようにする。
Terraform モジュールをインポートすると、App Design Center は、スペースのカタログに対応するコンポーネント テンプレートを作成します。その後、テンプレートをアプリケーション テンプレート設計のコンポーネントとして使用できます。
での Terraform については、以下をご覧ください。 Google Cloud
始める前に
このドキュメントのタスクを実行するには、次の表に示すように、アプリ対応フォルダまたは管理プロジェクトに必要なロールを付与するよう管理者に依頼してください。
| タスク | 必要なロール |
|---|---|
| Terraform モジュールをカスタム コンポーネントとしてインポートする | App Design Center 管理者(roles/designcenter.admin)、またはApp Design Center ユーザー( roles/designcenter.user) |
ロールの詳細については、IAM を使用したアクセス制御をご覧ください。
モジュールを構成してインポートする
GitHub に接続し、メタデータ ファイルを作成して、Terraform モジュールをインポートする手順は次のとおりです。
Developer Connect を使用してリポジトリに接続する
Terraform モジュールを保存する GitHub リポジトリ への Developer Connect 接続を作成します。 Google Cloud この接続は、インポート時に使用します。
Developer Connect 接続を作成します。
手順については、GitHub に接続するをご覧ください。
Developer Connect リポジトリ リンクを作成します。
手順については、既存の接続にリポジトリ リンクを追加するをご覧ください。
省略可: Terraform モジュールのメタデータを準備する
Terraform モジュールをインポートするときに、独自のメタデータを提供することも、App Design Center にメタデータ ファイルを作成させることもできます。
たとえば、サービス アカウント用に作成する metadata.yaml ファイルは次のようになります。
spec:
info:
actuationTool:
flavor: Terraform
version: ">= 1.3"
interfaces: # Optional
variables:
- name: service_account
connections:
- source:
source: github.com/terraform-google/terraform-google-service-accounts
version: ">= 4.4"
spec:
outputExpr: email
requirements:
roles: # Optional after IAM integrations
- level: Project
roles:
- roles/iam.serviceAccountUser
- roles/iap.admin
- roles/run.admin
- roles/iam.serviceAccountAdmin
providerVersions:
- source: hashicorp/google
version: ">= 6, < 7"
- source: hashicorp/google-beta
version: ">= 6, < 7"
ui: # Optional
input:
variables:
ca_root_module:
name: ca_root_module
title: CA Root Module
service_account:
name: service_account
title: Service Account
リポジトリからインポートする
単一の Google Cloud プロダクトに基づく Terraform モジュールをインポートして、App Design Center コンポーネントを作成できます。リポジトリ内の Terraform モジュールを変更した場合は、これらの手順を繰り返して変更をインポートします。
Terraform モジュールをインポートする手順は次のとおりです。
コンポーネントを作成するカタログを特定します。
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE次のように置き換えます。
PROJECT: 管理プロジェクト ID。LOCATION: 地域 ID。SPACE: スペース ID。
詳細については、gcloud design-center spaces catalogs list をご覧ください。
スペースの限定公開カタログにカタログ テンプレートを作成します。
gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \ --project=PROJECT \ --catalog=CATALOG \ --location=LOCATION \ --space=SPACE