構成を作成する

デプロイを作成するには、まず構成を作成します。構成とは、デプロイを構成するリソースとそれらの各プロパティのリストです。

構成ファイルは resources 文字列で始まり、以下のフィールドを伴ったリソース項目の一覧です。

  • name: リソースに定義する名前です。たとえば、"myfirstvm" や "dev-vm" など。
  • type: リソースの基本タイプです。たとえば、仮想マシンのタイプは compute.v1.instance です。Cloud SQL のインスタンスなら sql.v1beta1.instance などがあります。すべての一覧については構成ページの使用可能なリソースタイプをご覧ください。
  • properties: リソースのプロパティです。リソースの作成に必要なプロパティは、各リソースの API で必要になるプロパティと同じものです。たとえば、Compute Engine サービスで Compute Engine 仮想マシンのインスタンスを作成するときには、マシンタイプ、イメージ、ネットワーク インターフェース、ブートディスクの仕様を指定する必要があります。Deployment Manager で仮想マシンのインスタンスを作成する場合にも、同じプロパティが properties セクションに必要です。

このガイドでは、2 つのインスタンスを含んだデプロイを作成する構成を定義してみましょう。

YAML ファイルを作成する

インストールとセットアップで作成したディレクトリに移動します。

cd step-by-step-dm

構成を作成する

two-vms.yaml というファイルを作成し、最初に resources 文字列を宣言してから、最初の仮想マシン インスタンスのタイプと名前を指定します。

resources:
- name: the-first-vm
  type: compute.v1.instance

リソースにプロパティを追加する

仮想マシンのインスタンスにプロパティを追加します。このインスタンスでは f1-micro マシンタイプ、Debian 8 イメージを使用し、エフェメラル外部 IP アドレスを割り当てます。

resources:
- name: the-first-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/f1-micro
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

2 番目のリソースを追加する

次の行をファイルの末尾に追加して、2 番目のインスタンスを追加します。このインスタンスは、最初の仮想マシンとは少し異なり、f1-micro ではなく g1-small マシンタイプを使用します。

- name: the-second-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/g1-small
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

最終的に YAML ファイルは次のようになります。

# Copyright 2016 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

resources:
- name: the-first-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/f1-micro
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT
- name: the-second-vm
  type: compute.v1.instance
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/g1-small
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

変更を保存する

これで作業は完了です。作成したばかりのこのシンプルな構成ファイルだけで、デプロイが作成できます。ファイルに作成したいリソース(この場合は、マシンタイプの異なる 2 つの仮想マシンのインスタンス)を宣言するだけで、Deployment Manager がリソースの作成を内部的に行います。

次のステップで、この構成を使用して新しいリソースをデプロイしましょう。

次へ: リソースをデプロイする

関連トピック

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Deployment Manager のドキュメント