Google Cloud の何らかのイベント/トリガーに基づいてインスタンス (VM) を自動的に開始/停止するにはどうすればよいですか?

Google Cloud の何らかのイベント/トリガーに基づいてインスタンス (VM) を自動的に開始/停止するにはどうすればよいですか?

Google Cloud で GPU インスタンスを使用して、機械学習関連のサービスを実行しています。Google Cloud には、GPU インスタンス用の予定外のメンテナンス プランがあります。インスタンスがメンテナンスのために停止する前に、Google Cloud API はインスタンスが停止される 1 時間前にこのインスタンスに通知を送信します。

GPU インスタンスの名前が「vm1」であるとします。「vm1」が後でメンテナンスを受けるという通知を受け取ったら、バックアップ GPU インスタンス「vm1-duplicate」を起動し、クライアントへのサービスがこのメンテナンスの影響を受けるようにします。そして、「vm1」のメンテナンスが完了したら、「vm1-duplicate」を停止して、追加コストが発生しないようにします。

Google Cloud で、何らかの条件/トリガー/イベントに基づいて VM の自動起動/停止をプログラムするエレガントな方法はありますか?

答え1

超簡単な解決策: VM に gcloud をインストールし (すでに存在しているはずです)、サービス アカウント [1] を作成し、小さなシェル スクリプトを作成して、15/30 分ごとに cron で実行します。

このスクリプトはイベントのhttpエンドポイント[2]を監視し、gcloudのコマンドラインを介してVM内から新しいVMを再起動します。自動再起動を停止し、新しいVMを起動したまま実行します。

動作する場合は、スクリプトがすでに配置され、cron が設定されている独自のイメージを作成することを検討してください。そうすれば、再生成が簡単になります。

[1] 必須ではないが、VMに資格情報を入れるのを避けるため

[2]https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance

関連情報