Deployment Manager ベースのソリューションの作成

組織内のユーザー用にサービス カタログ ソリューションを作成するときに Deployment Manager(DM)ソリューションを作成できます。ユーザーはこれを Deployment Manager テンプレートを使用して起動します。ソリューションを作成した後、そのソリューションをカタログに追加すればユーザーと共有できます。

始める前に

  • サービス カタログが有効になっている Google Cloud プロジェクトのカタログ管理者roles/cloudprivatecatalogproducer.admin)またはカタログ マネージャーroles/cloudprivatecatalogproducer.manager)のロールを付与されているが必要あります。どちらのロールも付与されていない場合は、組織管理者に連絡してアクセス権をリクエストしてください。

  • Enable the Cloud Deployment Manager and Compute Engine APIs.

    Enable the APIs

デプロイメント テンプレートの準備

サービス カタログで 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:
      - n1-standard-1
      - n1-standard-2
      - n1-standard-4
      - n1-highmem-2
      - n1-highmem-4
      - n1-highmem-8
      - n1-highcpu-2
      - n1-highcpu-4
      - n1-highcpu-8
      - f1-micro
      - g1-small
  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. custom-4-5120 specifies 4 CPUs and 5GB (5120 MB) of RAM
    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 テンプレートベースのソリューションを起動するには:

  1. Cloud Console でサービス カタログ管理者の [ソリューション] ページに移動します。
    [ソリューション] ページに移動

  2. [選択] をクリックして、Google Cloud プロジェクトを選択します。

  3. [ソリューションを作成] をクリックします。プルダウン リストで [DM ソリューションを作成] を選択します。

  4. ソリューションの名前、説明、タグラインを入力します。タグラインとは、ユーザーがサービス カタログをブラウジングするときに表示されるソリューションの簡単な説明です。

  5. デプロイメント構成のファイルを含む zip ファイルをアップロードします。

  6. 必要に応じて、ソリューションのアイコンをアップロードします。 アイコンの推奨サイズは 80×80 ピクセルです。

  7. 必要に応じて、サポートリンクとクリエイターの連絡先情報を入力します。

  8. 必要に応じて、ソリューションのドキュメントへのリンクを追加します。

  9. [CREATE] をクリックします。

次のスクリーンショットは、DM ベースのソリューションの作成について示したものです。

Cloud Deployment Manager のテンプレート ベースのソリューションを作成する

次のステップ