Deployment Manager ベースのソリューションの作成
組織内のユーザー用にサービス カタログ ソリューションを作成するときに Deployment Manager(DM)ソリューションを作成できます。ユーザーはこれを Deployment Manager テンプレートを使用して起動します。ソリューションを作成した後、そのソリューションをカタログに追加すればユーザーと共有できます。
始める前に
サービス カタログが有効になっている Google Cloud プロジェクトに関連付けられている Google Cloud組織のカタログ管理者(
roles/cloudprivatecatalogproducer.admin
)またはカタログ マネージャー(roles/cloudprivatecatalogproducer.manager
)のロールが必要です。このロールを付与されていない場合は、組織管理者に連絡してアクセス権をリクエストしてください。-
Enable the Cloud Deployment Manager and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
デプロイメント テンプレートの準備
サービス カタログで Deployment Manager ソリューションを作成するには、まず、アップロードする Deployment Manager テンプレートの ZIP ファイルを準備します。このファイルには以下のファイルが含まれている必要があります。
.jinja
拡張子で終わる Jinja テンプレート ファイル、または.py
拡張子で終わる Python テンプレート ファイル。- スキーマ ファイル(Jinja テンプレートの場合は
.jinja.schema
拡張子、Python テンプレートの場合はpy.schema
拡張子で終わるファイル)。
zip ファイルの名前は、スキーマ ファイルおよび Jinja ファイルまたは Python ファイルの両方の名前と一致する必要があります。たとえば、zip ファイルの名前が android-dev-environment.zip
の場合、zip 内の Jinja スキーマ ファイルの名前は android-dev-environment.jinja.schema
、Jinja テンプレートの名前は android-dev-environment.jinja
にする必要があります。
次のサンプルコードは、デプロイ フォームを作成するスキーマ ファイルを示しています。
info:
title: Single Google Compute Engine Machine
author: Google Inc.
description: Creates a virtual machine based on zone and machine type selection.
required:
- machinetype
- zone
properties:
machinetype:
title: Machine type
type: string
enum:
- n2-standard-2
- n2-standard-4
- n2-standard-8
- n2-highmem-2
- n2-highmem-4
- n2-highmem-8
- n2-highcpu-2
- n2-highcpu-4
- n2-highcpu-8
zone:
title: Zone
type: string
enum:
- us-central1-a
- us-central1-c
- us-east1-b
- us-east1-c
- us-west1-a
- us-west1-b
- us-west1-c
次のコードサンプルは、永続 VM を作成するための Jinja ファイルを示しています。
# Creates a Persistent VM
resources:
- type: compute.v1.instance
name: vm-{{ env["deployment"] }}
properties:
zone: {{ properties["zone"] }}
# Note the machineType definition at the end. n2-custom-4-5120 specifies n2 machine family with 4 CPUs and 5GB (5120 MB) of RAM. For custom machine types, refer to https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type
machineType: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/zones/{{ properties["zone"] }}/machineTypes/{{ properties["machinetype"] }}
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
diskName: disk-{{ env["deployment"] }}
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/global/networks/default
# Access Config required to give the instance a public IP address
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
サービス カタログでのソリューションの作成
Deployment Manager テンプレートベースのソリューションを起動するには:
Google Cloud コンソールでサービス カタログ管理者の [ソリューション] ページに移動します。
[ソリューション] ページに移動[選択] をクリックして、 Google Cloud プロジェクトを選択します。
[ソリューションを作成] をクリックします。プルダウン リストで [DM ソリューションを作成] を選択します。
ソリューションの名前、説明、タグラインを入力します。タグラインとは、ユーザーがサービス カタログをブラウジングするときに表示されるソリューションの簡単な説明です。
デプロイメント構成のファイルを含む zip ファイルをアップロードします。
必要に応じて、ソリューションのアイコンをアップロードします。 アイコンの推奨サイズは 80×80 ピクセルです。
必要に応じて、サポートリンクとクリエイターの連絡先情報を入力します。
必要に応じて、ソリューションのドキュメントへのリンクを追加します。
[CREATE] をクリックします。
次のスクリーンショットは、DM ベースのソリューションの作成について示したものです。

次のステップ
- カタログにソリューションを割り当て、組織内のユーザーがソリューションにアクセスしてデプロイできるようにする。