Terraform をダウンロードしてデプロイする

独自のデプロイツールとワークフローがある場合は、テンプレートまたはアプリケーションを 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 コードをエクスポートできます。

テンプレート

  1. コンソールで、[テンプレート] ページに移動します。 Google Cloud

    [テンプレート] に移動

  2. エクスポートするテンプレート ID をクリックします。

  3. [コードを取得] をクリックします。

    システムによって zip ファイルがローカル コンピュータにダウンロードされます。独自のデプロイツールとワークフローを使用してアプリケーションをデプロイできます。

アプリケーション

  1. コンソールで、[アプリケーション] ページに移動します。 Google Cloud

    [アプリケーション] に移動

  2. エクスポートするアプリケーション名 をクリックします。

  3. [コードを取得] をクリックします。

    システムによって zip ファイルがローカル コンピュータにダウンロードされます。独自のデプロイツールとワークフローを使用してアプリケーションをデプロイできます。

リポジトリにエクスポートする

ソースコード管理リポジトリでテンプレートを管理するには、テンプレートとアプリケーションを GitHub にエクスポートします。既存のバージョン管理ワークフローを使用して、独自の CI/CD パイプラインを使用してビルド、テスト、デプロイをトリガーできます。

リポジトリに接続する

GitHub リポジトリと管理プロジェクトの間に Developer Connect 接続を作成するには、次の操作を行います。

  1. 組織のポリシーを変更して、次のサービスを許可リストに追加します。

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

    組織のポリシーを変更する手順については、リソース サービスの使用を制限する制約を使用するをご覧ください。

  2. 次のものを含めて、GitHub リポジトリへの Developer Connect 接続を作成します。

    1. [データの所在地を有効にする] を選択します。
    2. アプリケーションをエクスポートするリポジトリをリンクします。

    接続を作成してリポジトリをリンクする手順については、GitHub を接続するをご覧ください。

  3. リポジトリ URI をコピーする手順は次のとおりです。

    1. [Developer Connect Git リポジトリ] ページを開きます。
    2. [リポジトリ] テーブルで、[その他のオプション] をクリックし、[リソースパスをコピー] を選択します。

生成してエクスポートする

Terraform コードを生成して GitHub リポジトリにエクスポートする手順は次のとおりです。

テンプレート

  1. スペース ID を確認します。

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

    次のように置き換えます。

    • PROJECT: 管理プロジェクト ID。
    • LOCATION: 地域 ID。
  2. エクスポートするテンプレートのテンプレート ID を確認します。

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

    次のように置き換えます。

    • SPACE: スペース ID。
    • PROJECT: 管理プロジェクト ID。
    • LOCATION: 地域 ID。
  3. テンプレートの 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 をご覧ください。

  4. リポジトリを表示して、テンプレートが正常にエクスポートされたことを確認します。

アプリケーション

  1. スペース ID を確認します。

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

    次のように置き換えます。

    • PROJECT: 管理プロジェクト ID。
    • LOCATION: 地域 ID。
  2. エクスポートするアプリケーションのアプリケーション ID を確認します。

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

    次のように置き換えます。

    • SPACE: スペース ID。
    • PROJECT: 管理プロジェクト ID。
    • LOCATION: 地域 ID。
  3. アプリケーションの 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 をご覧ください。

  4. リポジトリを表示して、アプリケーションが正常にエクスポートされたことを確認します。

次のステップ