AWSでEC2インスタンスは、値段の安さからコスト低減のベストプラクティスとしてよく利用されています。
今回はスポットインスタンスを使う上での注意点や活用方法についてご紹介いたします。
スポットインスタンスの特徴
AWSのEC2には、オンデマンドインスタンス、リザーブドインスタンス、スポットインスタンスの利用用途に応じた3種類のEC2インスタンスのプランがあります。
各プランで使用するマシンのスペックは変わりませんが、利用条件を制限することで通常のオンデマンドインスタンスより安く利用できます。
今回は最も安いスポットインスタンスについてご紹介します。
スポットインスタンスは安い!けど注意も必要
Amazon EC2スポットインスタンスは、オンデマンドインスタンスと比べて最大90%引きと安く利用できるのが最大の特徴です。
例えば、2018年8月の調査時点でのオンデマンドとスポットの価格を比較してみるとでオンデマンド 0.0152$とスポット 0.0046$と、70%近い割引*1となっています。
こちらがオンデマンドインスタンスの料金表。リンクはこちらから。
こちらがスポットインスタンスの料金表。リンクはこちらから。
ただし、変動価格のため、オンデマンド価格の10倍まで跳ね上がる場合もあります。
スポットインスタンスを使う場合は、「最大スポット料金」を設定して、予算をオーバーしないように注意しましょう。
スポットインスタンスは起動が遅い!
また、スポットインスタンスは入札が完了してから起動するため、オンデマンドインスタンスと比べると起動に時間がかかります。
オンデマンドが約3~4分に対して、スポットでは約7~8分程度です。
EC2インスタンスをすぐに立ち上げる必要ある場合は、オンデマンドインスタンスを利用しましょう。
強制的に中断させられる可能性あり!
スポットインスタンスは、AWSより中断させられることがあるので注意しましょう。中断される条件としては、以下の2条件があります。
①Amazon EC2 のキャパシティー要件
・スポットインスタンス に対する需要が上昇したとき、スポットインスタンス の供給が低下したときなど
②スポット料金が、設定した「最大スポット料金」を上回った場合
・最大スポット料金はユーザが設定しておく
・終了の 2 分前にインスタンスの中断が通知される
また、中断された場合のアクションとして、インスタンスの終了、停止、休止のいずれかを設定しておくことができます。
特に休止の場合は、スポットインスタンスは中止された場所から再開できます。スポットインスタンスで実行中のアプリがRAMのデータを利用している場合、休止を利用するとよいでしょう。
スポットインスタンスの活用方法
スポットフリートを活用しよう!
スポットインスタンスの価格は、インスタンスタイプやアベイラビリティゾーン(AZ)によって異なります。
そこで、スポットフリートを利用することで、スポットインスタンスの価格を最低に抑えることができます。
スポットフリートを使うことで、スポットインスタンスの価格をAWSが常に監視し、条件(インスタンスタイプやAZ)に合ったEC2を見つけ出して、起動できます。
また反対に、設定した価格よりも高くなったEC2は自動で廃棄できるため、コスト管理が非常に楽チンになります。
スポットインスタンスの活用方法
具体的には常時動かしておくワークロードではなく、耐障害性の予備ワークロードや短時間の高負荷なワークロード対策として設定しておくのが一般的です。
基本的にオンデマンドインスタンスと組み合わせた方が安定性は向上します。スポットインスタンスだけで運用しても平気で動いてしまいますが、全台落ちてしまうリスクも捨てきれません。
ソリューションアーキテクト用問題
以上のところで、スポットインスタンスの特徴は抑えられたと思います。最後にソリューションアーキテクトの練習問題を解いてみましょう。
問題
スポットインスタンスを時間当たり0.05$の入札価格で利用している。30分が経過し、スポット価格が0.06$/時間に上がったため、スポットインスタンスが中断された。スポットインスタンスを実行したEC2の総額はいくらか?
1. 0.00$
2. 0.02$
3. 0.03$
4. 0.05$
5. 0.06$
回答
AWSのスポットインスタンスのQ&Aには、以下がかかれています。
Q: スポットインスタンスが中断された場合、料金の請求はどのようになりますか?
A. スポットインスタンスが最初の 1 時間のインスタンス時間のうちに Amazon EC2 によって終了または停止された場合、その使用に対して料金は請求されません。ただし、お客様がインスタンスをご自分で終了させた場合は、秒単位で四捨五入された料金が請求されます。それ以降の時間でスポットインスタンスが Amazon EC2 によって終了または停止された場合は、使用時間に対して秒単位で四捨五入された料金が請求されます。Windows で実行中のインスタンスをお客様がご自分で終了した場合は、1 時間分の料金が請求されます。
問題文では、最初の1時間の使用であり、AWSによって停止させられたため、EC2の使用料金は請求されません。
したがって1. 0.00$ が正解です。
AWSをイチから学ぶなら「RaiseTech」
また、クラウドサービスでトップシェアのAWSの技術を身につけてスキルアップや転職を考えているなら、「RaiseTech(レイズテック)」がオススメです。
現場で使われる技術にフォーカスして、ほかスクールにはない圧倒的なサポートをしてもらえるので、短期集中で環境構築、自動化、DevOpsなどのAWS技術を身に着けることができます。
「RaiseTech」とAWS認定での資格取得によるスキルアップで、もう一段上のエンジニアへステップアップしましょう!
また、AWSで人工知能(AI)もやりたいと考えている人は、完全オンラインのプログラミングスクール「Aidemy」もおすすめだよ。
まとめ
今回はEC2スポットインスタンスの特徴と活用術をご紹介しました。改めて、特徴を復習しておきましょう。
・料金が安い
・起動が少し遅い
・強制削除の可能性がある
*1:東京リージョンのt2.microのLinuxs使用にて
コメント