構成について

構成はデプロイの構造を定義します。デプロイを作成するには、構成を指定する必要があります。

このステップでは、2 つの Compute Engine 仮想マシン(VM)インスタンスを含むデプロイを作成する構成について説明します。VM インスタンスは Deployment Manager でデプロイできるリソースの 1 つです。

ここでは、2 つの VM インスタンスを含むデプロイの構成を確認します。

YAML 構成ファイルを開く

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

cd deploymentmanager-samples/examples/v2/step_by_step_guide/step2_create_a_configuration

次に、two-vms.yaml を開きます。

nano two-vms.yaml   # use your preferred text editor

resources セクションに、the-first-vmthe-second-vm という 2 つのリソースが記述されています。各リソースには、nametypeproperties フィールドがあります。

  • name: リソースに定義する名前。

  • type: 作成するリソースのタイプを指定します。たとえば、VM は compute.v1.instance です。
    また、Cloud SQL インスタンスの場合は sql.v1beta4.instance です。

  • properties: リソースのプロパティを指定します。リソースの作成に必要なプロパティは、リソースの API で必要とされるプロパティと同じです。たとえば、Compute Engine VM インスタンスを作成する場合は、マシンタイプ、イメージ、ネットワーク インターフェース、ブートディスクの仕様を指定する必要があります。

構成ファイルを設定する

two-vms.yaml で、MY_PROJECT を実際のプロジェクト ID に置き換えます。

# 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-11
    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-11
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

変更を保存します。

この基本構成ファイルは、最初のデプロイを作成するときに必要になります。作成するリソース(この場合はマシンタイプが異なる 2 つの VM インスタンス)を宣言すると、Deployment Manager によってリソースの作成が処理されます。

次に、この構成を使用して新しいリソースをデプロイします。