@Krjwuh1JmxFA4tb0の技術ブログ

GCPでNested VMを作成する

kvmを利用できる環境が必要になったので、以下のドキュメントを参考に作成してみた
https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances

GCPを選んだ理由は、無料枠があるからという理由だけです

diskを作成する

ここでは、使い慣れてるcentosのdiskを作成する (versionは7系)

gcloud compute disks create centos-disk --size 30GB --image-project centos-cloud \  
--image-family centos-7 --zone us-central1-a

作成したdiskの確認

gcloud compute disks describe centos-disk --zone us-central1-a

imageを作成する

上の手順で作成したdiskからライセンス付きのimageを作成する

gcloud compute images create nested-vm-centos-image --source-disk centos-disk \  
--source-disk-zone us-central1-a \  
--licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"

作成したimageの確認

gcloud compute images describe nested-vm-centos-image

nested vmの作成

上の手順で作成したimageを元にnested vmを作成する
(ドキュメントにも書いてあるように、Haswel cpu移行をサポートしてるzoneにdeployする必要がある)

gcloud compute instances create whiteray-instance --image nested-vm-centos-image \  
--subnet default --machine-type n1-standard-4 --network-tier standard \  
--address whiteray-instance-public-ip --zone us-central1-b

仮想化有効化の確認

sshログイン後、以下のコマンドを実行し「0」以外が返ればOK

grep -cw vmx /proc/cpuinfo

感想

AWSだとi3.metalを使えばよいと思います
ただ、GCPを使っても結構簡単に作れるので、こちらもお勧めと思いました。

あと、grepの「w」オプション初めて知ったんですが、結構便利そうです。
GCPのドキュメント、こういうところが勉強になるなと思いました。

この記事へのコメント

まだコメントはありません