スポットインスタンスとは?AWS EC2の基礎から調べてみた!
AWSではAmazon EC2サービスを利用することで、インスタンスという仮想サーバーを作ることができます。
インスタンスには様々な種類がありますが、その中の一つにスポットインスタンスなるものがあります。
AWSは従量課金制なので、インスタンスを使うにもお金がかかるわけですが、何とスポットインスタンスは通常のインスタンスよりも低価格で使用することができます!
じゃあスポットインスタンス濫用すればいいじゃん!ということで職場で濫用してみました。
うおお!あれもこれもスポットインスタンスじゃーーー!
きみ、スポットインスタンスあんま使わないでもらえる?
え…?
やはり知らないものを知らないまま使うのは良くないですね…
スポットインスタンスについて大人しく勉強しましょう。
EC2インスタンスについて
まずはEC2インスタンスについて軽く調べてみました。すでにご存知の方は飛ばして頂いても構いません。
種類
EC2 インスタンスには以下の3種類があります。
- オンデマンドインスタンス(月額契約・普通)
- リザーブドインスタンス(長期契約・安い)
- スポットインスタンス(一時的・格安)
それ以外にもEC2インスタンスにはインスタンスタイプという種類があります。下記に例をまとめました。
- m4.xlarge
- C4.large
- R5a.4Xlarge
- …etc
インスタンスタイプには、ここには書ききれないほどの種類があります。詳しくは公式リファレンスで確認できます。
名称は以下の要素で構成されています。
(インスタンスファミリー + インスタンス世代 + (追加機能)) + インスタンスサイズ
インスタンスファミリーとインスタンス世代
インスタンスファミリーは用途や特徴を表しています。インスタンス世代の数字が大きいほど最新版です。いくつか例をあげます。
- c5:コンピューティングの最適化(第5世代)
- r2:メモリ最適化(第2世代)
- f1:高速コンピューティング(第1世代)
- c5n:c5の強化版
インスタンスファミリーは、アルファベット+数字で構成されています。
アルファベットでインスタンス区分、数字で世代を表しています。それぞれ適した用途があり、番号が大きいほど最新版です。
インスタンスサイズ
インスタンスのサイズを表しています。インスタンスタイプによって種類は異なります。例えばt3のインスタンスサイズを小さい順に並べると、
Nano < micro < small < medium < large < xlarge < 2xlarge
となっています。わかりやすいですね。
サイズによってメモリ、CPU、ストレージの大きさが変わります。もちろんサイズが大きいものほど、値段も高くなります。
ではスポットインスタンスとは?
それでは本題に移りましょう。
スポットインスタンスとは、未使用のインスタンスを通常よりも低価で利用できるものです。以下の特徴があります。
- 普通のインスタンスより起動が遅い
- 需要と供給で価格が変動する
- 入札価格が変動価格を下回ると強制削除される
安く使える代わりに色々なリスクがある。まるでギャンブルみたいなインスタンスですね…
EMRで分析するときやJenkinsノードとして使用するときなど、一時的にインスタンスを使いたい場面で使われることが多いようです。
何の知識もなしに濫用して、いきなりインスタンスが消されたら大変な事態を起こしかねません。スポットインスタンスを使うときは十分注意しましょう。
とはいえ上手く使えば世の中にはスポットインスタンスをうまく使うようなプロもいるらしいので、興味があればぜひ使いこなしてみてください。
以上!