hello foo bar Saba note | プリエンプティブ・インスタンス(GCPの格安VMインスタンス)

プリエンプティブ・インスタンス(GCPの格安VMインスタンス)

2019.11.9 (土)

プリエンプティブ VMというGCPの空きリスースを利用した実験的な場所を通常のVMインスタンスとは別に格安で利用することができます。おそらくGoogle側の実験的な試みの1つなんだと思います。

  • 最大で24時間起動。(24時間後には強制的にシャットダウンされる)
  • 勝手に停止(プリエンプト)される。
  • 安い(同スペックの通常インスタンスの半額以下、1/3程度)

というわけですが、比較的たくさんの使いようがあります。シャットダウンしたインスタンスは“また起動させればいいわけですし、TerraformやAnsibleが使えるなら即座にアプリケーションを立ち上げることもできます。個人で使っているブログ程度のものであれば十分使えるし、テストや試験的な用途ではむしろこっちを使った方が格安です。

プリエンプティブVMの作成

プリエンプティブのVMインスタンスの作成方法はそれほど特殊ではありません。インスタンスを作成する際に「 管理、セキュリティ、ディスク、ネットワーク、単一テナンシー」というリンクで折りたたまれている項目の中に、

可用性ポリシー

プリエンプティブ
プリエンプティブル VM は低コストですが、24 時間しか持続しません。システムの需要に応じて期限前に停止することもできます。詳細

という部分にプルダウンメニューがあります。オンにセットするだけでOKです。
この設定でプリエンプティブVMインスタンスが設定できます。

停止時に起動できるようにする

プリエンプティブな状態時に起動できるようにしておきます。また停止時には停止一分前に事前告知があるので、停止に必要な処理を施すこともできます。

起動

gcloudコマンドで以下のように実行できます。(あらかじめアカウントとプロジェクトの選択が必要です)

$ gcloud compute instances start VM-INSTANCE-NAME --zone=ZONE-NAME

こういうのをcronとかに1分おきにセットしておけば事実上停止時間は1分ぐらいを確保できます。