はじめに
GCPのDeployment Managerでソースイメージの指定方法について一通り見たものの、これといった記述が無かったためドキュメント漁りに無駄な時間を使ってしまいました。二度と迷わないようにメモ。
properties.disks[0].sourceImage
FirstStepを引用して説明。deploymentmanager-samples/two-vms.yaml at master · GoogleCloudPlatform/deploymentmanager-samples
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
の最後尾debian-9
となっている部分を変更することで変更が可能なのですが、CentOSは?Ubuntuは?WindowsSeverは?となった時に正しい指定方法がドキュメントでは見つけることが出来ませんでした。
- 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-9
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
確認方法
コマンドライン(gcloudコマンド)から確認することが出来ました。
Ubuntu 18.04を使いたい時は、sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/ubuntu-1804-lts
ちなみに、完全にバージョンを固定したい時は NAME のところに書いてある項目名を指定します。この時、URLはfimily
抜きのhttps://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/${NAME}
で指定することに注意して下さい。
$ gcloud compute images list
NAME PROJECT FAMILY DEPRECATED STATUS
: (略)
ubuntu-1604-xenial-v20200317 ubuntu-os-cloud ubuntu-1604-lts READY
ubuntu-1804-bionic-v20200317 ubuntu-os-cloud ubuntu-1804-lts READY
ubuntu-1910-eoan-v20200331 ubuntu-os-cloud ubuntu-1910 READY
ubuntu-minimal-1604-xenial-v20200317 ubuntu-os-cloud ubuntu-minimal-1604-lts READY
: (略)
終わりに
Deployment Manager、使っている人少なくないですかね。(2020/04/02現在、6タグしかない。)
AWSやAzureのようにDeploymentボタンが無いことが原因か?
Jinja2が使えるので、AWSやAzureより直感的に設定ファイルが書けるのでもう少し普及して欲しいところ。
おしまい。