AWS EC2スポットインスタンスの活用術

スポンサーリンク
この記事は 約8 分で読めます。

f:id:rikei_iot:20180828171537j:plain

AWSでEC2インスタンスは、値段の安さからコスト低減のベストプラクティスとしてよく利用されています。

今回はスポットインスタンスを使う上での注意点や活用方法についてご紹介いたします。

スポンサーリンク

スポットインスタンスの特徴

AWSのEC2には、オンデマンドインスタンス、リザーブドインスタンス、スポットインスタンスの利用用途に応じた3種類のEC2インスタンスのプランがあります。

各プランで使用するマシンのスペックは変わりませんが、利用条件を制限することで通常のオンデマンドインスタンスより安く利用できます。

なつめ
なつめ

今回は最も安いスポットインスタンスについてご紹介します。

スポットインスタンスは安い!けど注意も必要

Amazon EC2スポットインスタンスは、オンデマンドインスタンスと比べて最大90%引きと安く利用できるのが最大の特徴です。

例えば、2018年8月の調査時点でのオンデマンドとスポットの価格を比較してみるとでオンデマンド 0.0152$スポット 0.0046$と、70%近い割引*1となっています。

 

こちらがオンデマンドインスタンスの料金表。リンクはこちらから。
f:id:rikei_iot:20180828163405j:plain

 

こちらがスポットインスタンスの料金表。リンクはこちらから。
f:id:rikei_iot:20180828163407j:plain

 

ただし、変動価格のため、オンデマンド価格の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をイチから始めるなら「TECH::CAMP」

また、AWSなどのクラウドでの環境構築を勉強したいのであれば、「TECH::CAMP」がオススメです。

専属のアドバイザーがついてくれるので、短期集中でクラウド開発に必要なプログラミング技術を身に着けることができます。

 

なつめ
なつめ

「TECH::CAMP」AWS認定での資格取得によるスキルアップで、もう一段上のエンジニアへステップアップしましょう!

なつめ黒猫
なつめ黒猫

また、AWSで人工知能(AI)もやりたいと考えている人は、完全オンラインのプログラミングスクール「Aidemy」もおすすめだよ。

人工知能AIやpythonプログラミングを初心者でも学べるオンライン学習Aidemyの評判
人工知能AIに特化したオンラインのプログラミングスクール「Aidemy」プレミアムの評判や口コミ、Python言語を使った学習内容や実際に作るAIアプリ例、他のスクールとの受講料や期間を比較して、分かりやすくご紹介します。

まとめ

今回はEC2スポットインスタンスの特徴と活用術をご紹介しました。改めて、特徴を復習しておきましょう。

スポットインスタンスの特徴

・料金が安い
・起動が少し遅い
・強制削除の可能性がある

*1:東京リージョンのt2.microのLinuxs使用にて


コメント