LoginSignup
8
8

More than 5 years have passed since last update.

docker-machineでGoogle Compute EngineのプリエンプティブルVMを利用する

Last updated at Posted at 2016-05-23

如法会 1の資料です。

docker-machineでGCEのプリエンプティブルVMを利用するにはcreateする際に--google-preemptibleオプションを指定するだけです。一度createしたものを一度stopし、startした場合もプリエンプティブルVMになります。

n1-standard-1でも、1時間で$0.015です。カスタムしてもちゃんとお安くなるようです。

$ gcloud auth login
$ docker-machine create --driver google --google-project PROJECT_ID --google-preemptible --google-zone asia-east1-c [Dockerマシン名]

PROJECT_IDはご自分のPROJECT_IDをご指定ください。
--google-zoneも好みものをご指定ください。

引数は環境変数をつかって指定することもできるので、direnvなどで作業用ディレクトリをつくってあげて作業してます。

docker-machine create --driver google --google-project eiel-0224 --google-premptible --google-zone asia-east1-c dev

プリエンプティブルVMで動いているかどうかは

インスタンスの作成はできたけどdocker動かない

途中で失敗してdockerがインストールされないことがあった。

docker machineの名前がdevの場合は以下で再インストール処理ができる。

$ docker-machine provision dev

再起動時によくつながらなくなる

IPが変わるからなのかしらないけど、証明書が無効になってる感じがする。起動するときはだいたい以下の感じ。

$ docker-machine start dev
$ docker-machine docker-machine regenerate-certs
$ eval $(docker-machine env dev)

勝手に停止する

プリエンプティブルインスタンスなので仕方ない。

なぜプリエンプティブルインスタンスを使うのか

安い。70%OFFらしい。
n1-standard 1時間ぐらいなら 2円ぐらい。

なぜdocker-machineを--driver googleを利用するのか。

  • 比較的安い。課金が分単位(最低10分)
  • dockerを試したいがローカルのディスクが残り少ない

一応いろいろ比較してみる。
プリエンプティブルVM安いけど、いろいろ考慮するとDigitalOceanは安いかもしれない。AWSのスポットインスタンスも安いけどなんとも言いがたい。

インスタンス 1時間あたりのコスト 1日8時間 1ヶ月利用(243時間) vCPU メモリ
GCE n1-standard プリエンプティブル $0.015/h $4.02 1 3.75GB
GCE n1-standard 普通に利用 $0.050/h $12 1 3.75GB
Degitial Ocean $0.03/hr $0.03/h $7 2 2G
Degitial Ocean $0.06/hr $0.06/h $14 2 4G
Azure A1 $0.055/h $13 1 1.75G
Azure A2 $0.11/h $26 2 3.5G
AWS t2.small $0.013/h $6.3 1 3G
AWS t2.medium $0.052/h $12.636 2 4G
AWS m4.large $0.12/h $29 2 8G
AWS m4.large $0.0183/h $4 2 8G

注意点

突然停止されることがある 24時間起動できない
シャットダウンまでの猶予は30秒

参考

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8