検索
特集/連載

GCPを割引価格で利用できる「プリエンプティブVM」の条件とはAWS「スポットインスタンス」と比較

Googleは割引料金のプリエンプティブ仮想マシンで余剰のコンピューティングリソースを提供する。ただし、これはいつシャットダウンされか分からないため、利用するアプリケーションの選定には注意が必要だ。

Share
Tweet
LINE
Hatena

 パブリッククラウドベンダー各社は新しい料金体系や低価格のサービスを次々と打ち出しているが、本稼働のワークロードに利用するには事前にその内容をよく理解しておく必要がある。

 Googleが割引料金で提供する「プリエンプティブ仮想マシン」(以下、プリエンプティブVM)は、「Google Compute Engine」(GCE)の通常のインスタンスと同じだが、他のワークロードにコンピューティングリソースが必要になると、Googleによっていつでもシャットダウンされるという違いがある。ユーザーは、GCEの余剰リソースを使うために割引料金で利用できる。

 GCEの通常のインスタンス同様、プリエンプティブVMも固定料金で利用でき、1時間0.01ドルから使える。CPU数1〜96個から選べる各種GCEインスタンスにオンデマンドでプリエンプティブVMを利用すると、最大で80%近い割引になる。有効期間を予測できないため、Googleの確約利用割引や継続利用割引の対象にはならない。

プリエンプティブVMの仕組み

 プリエンプティブVMはいつでも終了される可能性があるが、終了30秒前の通知がある。全てのプリエンプティブVMは24時間実行した後には必ず終了する。

 Googleのドキュメントによると、プリエンプト処理の流れは次のようになる。

  1. GCEは容量が必要になると、どのOSでも処理可能な標準マザーボードシャットダウンコマンド「ACPI(Advanced Configuration and Power Interface) G2ソフトオフ信号」の形式でシステムのリブートが必要であることを通知する。
  2. このソフトオフ信号を受けたら、ユーザーが事前に設定しておいたシャットダウンスクリプトを起動することが望ましい。このスクリプトでシステム状態とアプリケーションデータを保存し、プロセスを終わらせ、VMを終了する。
  3. 30秒後もまだインスタンスが終了していない場合、GCEはACPI G3メカニカルオフ信号をOSに送信する。これで電源を抜くのと同じ状態になる。
  4. GCEインスタンスは終了状態になり、構成設定やメタデータ、アタッチメント、ストレージボリュームなどのリソースは維持されるが、インメモリデータとVMステートは破棄される。ユーザーは終了状態のインスタンスを再起動または削除するか、終了状態のままにすることができる。

 Googleのドキュメントには、プロセスを正常に終了させるシャットダウンスクリプトのサンプルが含まれている。手動でインスタンスを終了してプリエンプトをシミュレートすれば、シャットダウンスクリプトを試すことができる。

 ダウンタイム条件はないため、終了直後にインスタンスの再起動を試行することができる。インスタンスがプリエンプトされたからといって、「Google Cloud Platform」(GCP)領域の容量が不足しているとは限らない。Googleのインフラストラクチャと、ワークロードの動的な組み合わせにより、別のところで容量が瞬時に解放される可能性もある。ただしプリエンプティブVMは可用性が保証されず、GCEの「サービスレベル保証」(SLA)の対象にならない。

クラスタでの使用

 プリエンプティブVMは、データベースなど従来型のビジネスアプリケーションには適さないが、複数マシンのクラスタで実行する耐障害性の高い分散システムには適している。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る