GMOアドマーケティングのT.Oです。
今回はGoogle CloudでSpot VMを利用する手順についてご紹介します。
はじめに
Google CloudのSpot VMは、GCE(Google Compute Engine)で利用できる低価格なVMです。
すべてのマシンタイプ、リージョン、ゾーンで利用でき、標準のVMマシンタイプの料金と比べて60%〜91%の割引があります。さらにSpot VMに接続されているGPU、ローカルSSD、外部IPアドレスに対する割引も適用されます。
Spot VMは標準のVMインスタンスと同じように機能しますが、以下のようにいくつかの制限があります。特に「任意のタイミングでプリエンプトされることがある」点については注意が必要です。
- SpotVMはCompute Engineの余剰キャパシティを利用する機能です。このためキャパシティに余剰がない場合には、そもそもSpot VMのインスタンスが作成できないことがあります。
- Spot VMを作成できた場合においても、Google側で余剰のキャパシティがない場合は任意のタイミングでプリエンプト(強制終了)されることがあります。
- Spot VMはGoogle Cloudのサービスレベル契約の対象外であり、Compute EngineのSLA(サービス品質保証)から除外されています。
Spot VMを作成する
Google Cloudのコンソール画面を使用して以下の手順でSpot VMのインスタンスを新規作成します。
1.「Compute Engine」のメニューから「VM インスタンス」を選択
2.「VM インスタンス」画面で「インスタンスを作成」を選択
3.通常VMと同様にマシンの構成やネットワークなどの各種設定をします。次にSpot VMのインスタンスとするために「詳細オプション」→「管理」→「可用性ポリシー」の「VM プロビジョニング モデル」で「スポット」を選択します。
4.プリエンプトされる直前に実行されるシャットダウンスクリプトを設定したい場合には「詳細オプション」→「メタデータ」で「項目を追加」を選択します。
「キー」、「値」の入力欄が表示されますので、「キー」フィールドにメタデータキーとして「shutdown-script」と入力します。「値」フィールドにシャットダウンスクリプトとして任意の処理(例:実行中の結果データをGCSなど外部にバックアップするなど)を記述します。なお処理はインスタンスのプリエンプト開始後30秒内で実行完了する必要がありますので注意してください。
5.各種設定を完了したら画面下部の「作成」を選択してインスタンスを新規作成します。
6.作成されたSpot VMのインスタンスの詳細画面を参照すると以下のようにSpot VMであることが確認できます。
参考
Google CloudのCompute Engine ドキュメントを参照させていただきました。
Spot VMについて
シャットダウンスクリプトの実行
次回のお知らせ
明日は、@masaseatさんによる「非エンジニアPdMがVertex AIで広告配信用の機械学習モデルを作成してみた」です。
引き続き、GMOアドマーケティング Advent Calender 2022をお楽しみください!