GCEのプリエンプティブインスタンスをほぼ常時起動(永続化)する
公開日: 2018.8.24
通常価格の半額以下で借りられるGCEのプリエンプティブインスタンス。勝手にシャットダウン&最大24時間起動がネックですが、なんとか常時起動(永続化)して使えないものかと試してみました。
国内VPSばりに安い、GCEのプリエンプティブインスタンス
プリエンプティブインスタンスのメリットはなんといっても価格。
GCEのクラウドならではの、スケーリングのしやすさ、管理のしやすさを、VPS並みの料金で実現できるのは、大きなメリットです。
<料金表(アイオワの場合)>
インスタンスタイプ CPU メモリ 通常月額 プリエンプティブ月額
f1-micro 1 0.60GB $3.88 $2.56
g1-small 1 1.70GB $13.13 $5.11n1-standard-1 1 3.75GB $24.2725 $7.30
n1-standard-2 2 7.5GB $48.5500 $14.60
n1-standard-4 4 15GB $97.0900 $29.20 Google Compute Engine の料金 | Compute Engine ドキュメント | Google Cloud
f1-microだと割安感がないですが、それ以外のインスタンスだと半額以下です。
4CPU/15GBメモリで30ドルってのはかなり安い部類に入ります。
CPUとメモリを自由にカスタムすることも可能です。
プリエンプティブインスタンスは最大24時間しか起動しない・勝手にシャットダウンする
プリエンプティブインスタンスはいいことばかりではなくて、GCEの空きリソースを使う代わりに安くなる仕組みなので、GCEの都合で勝手にシャットダウンされるし、最大でも24時間しか起動できません。
でも、バッチサーバーなど、24時間365日常時起動しなくても、1日数回・数分のシャットダウンが許容されるのであれば、かなり使えるサーバーと言えます。
リモートで起動リクエストを送れば常時起動も可能か?
勝手に落ちるなら、落ちる度に自動起動させればほぼ永続化できるってこと。ただし、プリエンプティブインスタンスは自動再起動の設定ができないので、なんとかしてリモートで起動させる必要があります。
今回は、管理用マシン(自宅サーバー)からgcloudコマンドでインスタンスの起動処理を毎分行うことにしました。
ちなみに自宅サーバーはIntel Compute StickにUbuntuを入れたサーバーで、電気代は常時電源ONで月に数十円です。
毎分処理はcronで行います。
gcloudからインスタンスの起動をする設定
下準備
やり方は下記のページのままなので割愛します。
(1) 役割の作成 (2) IAMの作成 (3) 管理マシンへの秘密鍵のインポート (4) 管理マシンで認証
までやればOKです。
GCE インスタンスの起動/停止を gcloud + cron でスケジューリングする
gcloudコマンドをcronに登録
次にcronにgcloudの起動コマンドを登録します。
gcloudはショートカットなので、「which gcloud」でフルパスを探しておいて、cron側にはフルパスを記述します。
下記は、毎分起動コマンドを実行する設定です。
# GCEインスタンスの自動起動
* * * * * /usr/bin/gcloud --account=<作成した> compute instances
start <インスタンス名> --project <プロジェクト名> --zone <ゾーン名>
GCEのプリエンプティブインスタンスを、ほぼ常時起動(永続化)できました。
数百〜数千円くらいのサーバーなら、さくらVPSとかConohaとかでもいいんですが、将来的にスケーリングが必要そうなバッチサーバーなどは、メモリやCPU数をカスタマイズできるGCEの方が使いやすい気がします。
普通にWEBサーバーとして使うには厳しいかもですが、いろいろアイデア次第で使い勝手の良いサーバーになってくれそうです。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
クラウドサーバーの新着記事
- クラウドサーバーさくらインターネットが無料のクラウドシェルサービスをリリース 2023.5.29
- クラウドサーバーCloudflare R2 Storageのファイルを簡単にバックアップする方法 2023.2.7
- クラウドサーバーNextcloudでCloudflare R2 Storageを外部ストレージとして使う方法 2023.2.6
- クラウドサーバークラウド活用してレポジトリの自動バックアップを用意する方法 2022.5.26
- クラウドサーバー独自ドメインで使えるオフィススイート・サービスまとめ 2022.1.20
- クラウドサーバー独自ドメイン版G Suite終了へ。既存ユーザーはどうすれば良い?代替サービスは? 2022.1.20
- クラウドサーバー勝手に増えていくCloud Storageのコンテナイメージを自動で削除する 2021.2.8
- クラウドサーバーGoogle Cloud Storageでライフサイクルを設定してコストを削減する 2021.2.5