独自のデプロイツールとワークフローがある場合は、テンプレートまたはアプリケーションを Terraform ファイルとしてダウンロードできます。
システムによって次の Terraform ファイルが生成されます。
main.tf: テンプレート内の各コンポーネントのモジュールを含むインフラストラクチャ コード。outputs.tf: デプロイされたインフラストラクチャ コンポーネントに関する情報を 公開します。variables.tf:main.tfファイルで使用される変数の名前、型、説明を宣言します。input.tfvars:main.tfファイルで使用される変数の値を定義します。providers.tf: Terraform が API やリソースとやり取りする際に役立つラベルを定義します。 Google Cloud
背景情報については、での Terraform の概要をご覧ください Google Cloud。
独自のデプロイツールとワークフローがない場合は、コンソールからアプリケーションをデプロイするをご覧ください。Google Cloud
始める前に
このドキュメントのタスクを実行するには、次の表に示すように、アプリ対応フォルダまたは管理プロジェクトに必要なロールを付与するよう管理者に依頼してください。
| タスク | 必要なロール |
|---|---|
| 生成された Terraform コードをローカルまたはソース管理リポジトリにエクスポートする | アプリケーション管理者(roles/designcenter.applicationAdmin)、またはアプリケーション編集者( roles/designcenter.applicationEditor) |
ロールの詳細については、IAM を使用したアクセス制御をご覧ください。
Terraform コードをエクスポートする
でテンプレートとアプリケーションを管理しない場合は、Terraform を生成してローカルマシンまたはコード リポジトリにエクスポートできます。 Google Cloud
ローカルにエクスポートする
テンプレートまたはアプリケーションから生成された Terraform コードをエクスポートできます。
テンプレート
コンソールで、[テンプレート] ページに移動します。 Google Cloud
エクスポートするテンプレート ID をクリックします。
[コードを取得] をクリックします。
システムによって zip ファイルがローカル コンピュータにダウンロードされます。独自のデプロイツールとワークフローを使用してアプリケーションをデプロイできます。
アプリケーション
コンソールで、[アプリケーション] ページに移動します。 Google Cloud
エクスポートするアプリケーション名 をクリックします。
[コードを取得] をクリックします。
システムによって zip ファイルがローカル コンピュータにダウンロードされます。独自のデプロイツールとワークフローを使用してアプリケーションをデプロイできます。
リポジトリにエクスポートする
ソースコード管理リポジトリでテンプレートを管理するには、テンプレートとアプリケーションを GitHub にエクスポートします。既存のバージョン管理ワークフローを使用して、独自の CI/CD パイプラインを使用してビルド、テスト、デプロイをトリガーできます。
リポジトリに接続する
GitHub リポジトリと管理プロジェクトの間に Developer Connect 接続を作成するには、次の操作を行います。
組織のポリシーを変更して、次のサービスを許可リストに追加します。
developerconnect.googleapis.com。secretmanager.googleapis.com。
組織のポリシーを変更する手順については、リソース サービスの使用を制限する制約を使用するをご覧ください。
次のものを含めて、GitHub リポジトリへの Developer Connect 接続を作成します。
- [データの所在地を有効にする] を選択します。
- アプリケーションをエクスポートするリポジトリをリンクします。
接続を作成してリポジトリをリンクする手順については、GitHub を接続するをご覧ください。
リポジトリ URI をコピーする手順は次のとおりです。
- [Developer Connect Git リポジトリ] ページを開きます。
- [リポジトリ] テーブルで、[その他のオプション] をクリックし、[リソースパスをコピー] を選択します。
生成してエクスポートする
Terraform コードを生成して GitHub リポジトリにエクスポートする手順は次のとおりです。
テンプレート
スペース ID を確認します。
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATION次のように置き換えます。
PROJECT: 管理プロジェクト ID。LOCATION: 地域 ID。
エクスポートするテンプレートのテンプレート ID を確認します。
gcloud design-center spaces application-templates list \ --space=SPACE \ --project=PROJECT \ --location=LOCATION次のように置き換えます。
SPACE: スペース ID。PROJECT: 管理プロジェクト ID。LOCATION: 地域 ID。
テンプレートの Terraform コードを生成して、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次のように置き換えます。
APPLICATION_TEMPLATE: エクスポートするテンプレートのテンプレート ID。SPACE: スペース ID。PROJECT: 管理プロジェクト ID。LOCATION: 地域 ID。DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: GitHub リポジトリからの相対ディレクトリ。DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: GitHub リポジトリのブランチ。
詳細については、gcloud design-center spaces application-templates generate をご覧ください。
リポジトリを表示して、テンプレートが正常にエクスポートされたことを確認します。
アプリケーション
スペース ID を確認します。
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATION次のように置き換えます。
PROJECT: 管理プロジェクト ID。LOCATION: 地域 ID。
エクスポートするアプリケーションのアプリケーション ID を確認します。
gcloud design-center spaces applications list \ --space=SPACE \ --project=PROJECT \ --location=LOCATION次のように置き換えます。
SPACE: スペース ID。PROJECT: 管理プロジェクト ID。LOCATION: 地域 ID。
アプリケーションの Terraform コードを生成して、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次のように置き換えます。
APPLICATION: エクスポートするアプリケーションのアプリケーション ID。SPACE: スペース ID。PROJECT: 管理プロジェクト ID。LOCATION: 地域 ID。DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: GitHub リポジトリからの相対ディレクトリ。DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: GitHub リポジトリのブランチ。
詳細については、gcloud design-center spaces applications generate をご覧ください。
リポジトリを表示して、アプリケーションが正常にエクスポートされたことを確認します。
次のステップ
- Google テンプレートを基に構築して、事前構成済みのアーキテクチャを使ってみる。
- アプリケーション テンプレートを設計して、独自の構成を定義する。
- Terraform の概要で、で Terraform を使用する方法を確認する。 Google Cloud Google Cloud