プリエンプティブによる格安サーバ構築

2018-08-20 21:04:58

低価格で高性能サーバ、そんな夢を叶える方法

GCEの特殊な料金

2018-08-20 21:06:16

 GCEはGoogleアカウントとクレジットカードがあれば、誰でも利用可能だ。また、利用アカウントでGCEを使ったことが無ければ、一年間もしくは$300(約33,000円)の無料お試し期間が用意されている 

 さらにお試し枠とは別に永年無料構成が用意されている。サーバ設置のゾーンをus(アメリカ合衆国)にし、マシンタイプをf1-micro(vCPU x 1、メモリ 0.6 GB)HDD30GB以内にすると、なんとインスタンスの稼働料金が永年無料になる。永年供養が可能でびっくりだ。メモリが心許ないとはいえ、これは太っ腹だ。

 GCEの料金体系として、さらに特殊なモノが一つある。それがプリエンプティブという設定だ。インスタンス作成時にプリエンプティブを有効にするかどうか設定できる。デフォルトでは無効だが、これを有効にすると、そのサーバのインスタンスは、24時間に一度くらいの割合で自動的にシャットダウンする。そして次に起動の要求を出すまで、シャットダウンしたままという無慈悲な構成だ。

 そんな設定になんの意味があるのかと思うかも知れない。しかし意味はある。インスタンスを稼働させるのに必要な料金が大幅に安くなるのだ。そして強制停止にも抜け道があるのだ。

プリエンプティブで安くなる金額

2018-08-20 21:10:29

リージョンを東京にした場合の価格構成

[東京リージョンの価格表]
CPU           メモリ    ストレージ     通常料金     割引後料金
vCPUx1(共有)   0.60GB    HDD 10GB         $5.22         $4.17
vCPUx1         3.75GB    HDD 100GB        $36.37        $14.87
vCPUx4        15.00GB    SSD 100GB       $146.78        $60.79
vCPUx8        52.00GB    SSD 100GB       $332.11       $118.38
vCPUx8        52.00GB    SSD 64TB    $14,793.47    $14,579.74


 プリエンプティブで安くなるのは、CPUとメモリのみだ。ストレージは割引対象に含まれない。逆にプリエンプティブ構成にすると、継続利用割引という、一ヶ月稼働させ続けることによって行われる30%の割引が無くなってしまう。こちらの割引はストレージを含むのだ。そのためSSD64TB構成にするとストレージ分の割引の有無に相殺されて、料金にほとんど違いが出なくなる。

 しかしSSD64TBなんて構成を作ることはまず考えられない。通常はプリエンプティブによる割引の方が、圧倒的に効果が高いのだ。

「お前はもう死んでいる」サーバのアンデッド化

2018-08-20 21:16:18

 起動したとたんに24時間ぐらいで死んじゃうよと宣告を受けているプリエンプティブサーバだが、死んだら生き返らせれば良いだけである。やることは簡単、復活させるための呪文を唱え続ければ良い。作業はものの5分とかからない。手順は以下の通りだ。

1 usリージョンに無料枠でインスタンスを一つ作る
2 ブラウザからSSHボタンでログインしたら「gcloud auth login」と入力、認証を通して使えるようにする
3 念のため「gcloud compute instances list」でコマンドが通るか確認
4 「crontab -e」で以下の内容を設定

*/1 * * * * gcloud compute instances start インスタンス名 --zone ゾーン名
 これでいつ死んでも大丈夫。ちなみに停止中に起動コマンドを送ると、先行入力のように働くようだ。


 どのぐらいで再起動するのか検証してみた

GCEのコンソールから停止コマンドを送る
停止コマンドから10秒後、WEBページにアクセスできなくなる
停止コマンドから50秒後、WEBページへのアクセスが復活
 何度か試してみましたが、1分間に一回しか起動コマンドを送っていないのに、Webサーバの停止時間は40秒ぐらいだった。結局の所、この40秒が許容できるかどうかが肝だ。

話題に上らない格安GCE

2018-08-20 21:18:11

 AWSはAWS 認定ソリューションアーキテクトとかで技術者を囲い始めている。対するGCEは何にも無い。このままでは差が開く一方だ。とりあえずは価格の安さを強調しておこう 

 GCEは安い、安いよ!