Googleの雲のスポットVM



スポットVMSは何ですか?
スポットvmsはスポットプロビジョニングモデルを持つ仮想マシン(vm)インスタンスである.スポットVMSは非常に低い価格で利用可能です-標準的なVMSの価格と比較して60 - 91 %割引.しかし、それが他の仕事のためにそれらの資源を取り戻す必要があるならば、Compute EngineはスポットVMSをpreemptするかもしれません.この不確実な先制時間で、Compute Engineはどちらの停止もします、あるいは、VMのためにあなたの指定された終了アクションに応じてあなたのSpot VMSを削除してください.スポットVMSは過剰な計算エンジン容量であるので、それらの可用性は使用によって異なります.スポットVMSの最小または最大のランタイムを持っていません.
あなたのワークロードが耐故障性があって、可能なVM先取りに耐えることができるならば、点VMSはあなたの計算エンジン経費をかなり減らすことができます.たとえば、バッチ処理ジョブは、スポットVMSで実行できます.これらのVMSのいくつかが処理中に停止すると、ジョブは遅くなりますが、完全に停止しません.スポットVMSは、既存のVMSに追加の負荷を置くことなく、追加の標準的なVMSの完全な価格を支払うことを必要とせずにバッチ処理タスクを完了します.

スポットVMS制限
スポットVMSは標準VMSのように機能しますが、以下の制限があります.
  • Compute Engineは、システムイベントのためにいつでも、スポットVMSを止めるかもしれません.Computer EngineがシステムイベントのスポットVMSを停止する確率は一般的に低いが、現在の状況によっては日々変化し、ゾーンからゾーンに変化する可能性がある.
  • スポットVMSは有限計算エンジンリソースであるので、彼らは常に利用できないかもしれません.
  • スポットVMSは、彼らが走っているか、メンテナンスイベントがあるとき、自動的に再開するように設定されている間、標準的なVMSになるために生のmigrateを使用することができません.
  • 前の制限のために、スポットVMSはどんなサービスレベル合意によってもカバーされていなくて、計算エンジンSLAから除外されます.
  • 計算エンジンのGoogleクラウド無料ティアクレジットは、スポットVMSに適用されません.

  • Google雲で点VMをつくる方法?
    GCloudツールからVMを作成するには、* GCloud - beta - ComputeインスタンスCreate *コマンドを使用します.スポットVMSを作成するには、-- provisioning model = spotフラグを含める必要があります.必要に応じて、インスタンスの終了アクションフラグを含むことによって、スポットVMSの終了アクションを指定することもできます.
    gcloud beta compute instances create my-spot-vm \
        --provisioning-model=SPOT \
        --instance-termination-action=DELETE
    
    インスタンス終了アクションの場合は、どのようなアクションを実行するかを指定することができますが、エンジンは、VMのpreemptsを停止します.
    他のVMと同様に、スポットVMSは作成時に起動します.同様に、スポットVMSが停止した場合は、実行状態を再開するためにVMSを再起動することができます.あなたが停止することができますし、プリンススポットVMSを再起動すると、多くの倍のように、限りの容量があります.詳細については、「VMインスタンスのライフサイクル」を参照してください.
    Computeエンジンがオートスケーリングマネージインスタンスグループ(MIG)またはGoogle Kubernetes Engine(GKE)クラスタ内の1つ以上のスポットVMSを停止した場合、リソースが再び利用可能になると、グループはVMSを再起動します.

    スポットVMSの識別
    GCloudツールからVMを記述するには、以下のコマンドを記述します.
    gcloud beta compute instances describe my-spot-vm
    
    スポットVMSを記述するための出力には、ProvisioningModel : Spotフィールドが含まれます.
    ...
    scheduling:
      ...
      provisioningModel: spot
      instanceTerminationAction: TERMINATION_ACTION
    ...
    
    ここで、terminationRankアクションは、エンジンのエンジンがVMを先取りしたときにどのアクションを実行するかを示す.InstanceTerminationActionフィールドが見つからない場合は、既定の動作は停止します.

    スポットVMSの検出先取り
    スポットVMSがGCloudコマンドを使用しているComputeエンジンによって先制されるならば、決定してください
    gcloud compute operations list \
        --filter="operationType=compute.instances.preempted"
    

    スポットVMSを使用している間に考慮するいくつかのこと

  • 小さなマシンの形状を選択します.スポットVMSのリソースが過剰とバックアップGoogle雲容量から出てくる.より多くのものより小さい機械タイプでスポットVMSのために容量の多くを得ることは、しばしば簡単です.また、定義済みの型の間にあるカスタムマシン型を使用することで、より多くの予備容量を得ることができます.例えば、N - VCPATSによるカスタムマシンタイプのより多くの能力が、N 1 - Standard - 64 sよりありそうです.

  • オフピーク時間の間、スポットVMSの大きなクラスタを走らせる.Google Cloudデータセンターの負荷は、場所と時刻によって異なりますが、一般的に夜と週末に最低です.このように、夜と週末はスポットVMSの大規模なクラスタを実行するのに最適な時間です.

  • あなたのアプリケーションを設計して、フォールトと先制許容であるようにしてください.時間の異なる点で先取りパターンの変化があるという事実のために準備されることは重要です.例えば、ゾーンが部分的な停電を被るなら、多くのスポットVMSは回復の一部として動かされる必要がある標準的なVMSの余地を作るために先制されることができました.時間のその小さな窓では、先取り率は、どんな他の日よりも非常に異なるように見えます.あなたのアプリケーションが先取りが常に小さなグループで行われると仮定するならば、あなたはそのようなイベントの準備ができていないかもしれません.あなたは、VMを止めることによって、あなたのアプリケーションのふるまいを先取りイベントの下でテストすることができます.

  • プリーツされたスポットVMSを再試行します.あなたのスポットVMSが先制されたならば、標準的なVMSに落ちる前に、1回か2回新しい点VMSをつくろうとしてください.要件によっては、標準的なVMSとスポットVMSをあなたのクラスタに結合して、作業が適切なペースで進むようにするのが良い考えかもしれません.

  • シャットダウンスクリプトを使用します.シャットダウンと管理の通知をシャットダウンスクリプトを管理することができますシャットダウンスクリプトは、それがオフに左から拾うことができるように、ジョブの進行状況を保存することができます.
  • これらの商品はコーヒーによって製造されている.それで、あなたが私の仕事を楽しんで、それが役に立つとわかるならば、私にコーヒーを買うことを考えてください!私は本当に感謝します.

    このポストを読む時間を割いてくれてありがとう.あなたがこれを見つけたならば、それに若干の好意、分担とコメントを与えてください.