【コスト削減】EC2のスポットインスタンスのはじめ方

ガジュマル育ててる人
2024-02-01
2024-02-01

こんにちは、ガジュマル育ててる人です。

今更シリーズ第2弾です。

AWSのコスト削減の方法として有名なのはSavings Plansやリザーブドインスタンスがありますが、1年や3年の長期利用によって割引が適用されるものです。
個人的にはEC2を技術検証等によく使用することが多く、短い期間使うのにはあまり向いていないので、よくスポットインスタンスしています。
条件付きではありますが、割引率だけでいえばリザーブドインスタンス等よりも割引率は高く利用できる可能性があるので、今更ながらおすすめするために記事を書きました。

気をつけること

スポットインスタンスはその名の通り一時的なインスタンスです。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-spot-instances.html

ユーザーガイドにも記載がありますが、すごく簡単に書くとAWS上で使用されていない部分を安く利用できるものです。
余った部分を安く提供しているので、使用率が上がってくるとAWSからEC2が停止されるというデメリットがありますが、この点をよく理解することでうまく付き合うことができます。

また、細かな話ですが、この余った部分を提供しているという特性上、リージョンやAZ毎、使用するタイミングによって割引率が変わります。

コンソールにて
EC2>スポットリクエスト>[料金設定履歴]
を確認することで下記のようにAZ毎の各スペックの金額が確認できます。

画像はバージニア北部でc5.xlargeを確認してみました。執筆時点ではus-east-1fで立ち上げるのが一番安く立ち上げられることが分かりますね!



上記のように、利用したいインスタンスがどのAZで利用すると一番安いかが分かるので、確認してみましょう!

概算ですが、1ドル150円のレートで考えると1時間あたり0.01ドル割引率できると、1か月で約1,100円くらいお得になる計算になります。

どうやって使用するの?

スポットインスタンスはEC2を立ち上げるときに購入オプションを設定する必要があります。

EC2>インスタンスを起動

他の基本的な設定は省きますが、
高度な詳細のスポットインスタンスをリクエストにチェックを入れるだけで利用ができます。

またカスタマイズを行うことで、時間で変化する割引された金額がいくらになると削除するような設定も可能です。(デフォルトではオンデマンドインスタンスの元の金額と同じ金額)

いつものEC2の立ち上げに上記のチェックボックスだけでスポットインスタンスとして立ち上げることができます。

また、起動後
EC2>スポットリクエストの画面にて削除の概要よりインスタンスとどれだけ安くなっているかが確認できます。

最後に

スポットインスタンスはEC2が停止されるかもしれないという大きなデメリットさえ受け入れることができれば、オンデマンドインスタンスに比べ割引率が高い利用方法ができます。
ウェブサイト等を立ち上げるEC2には難しいかもしれませんが、ユースケースがはまればSavings Plansやリザーブドインスタンスより高い割引率を実現できる可能性のある方法なので、ぜひ使っていきましょう!

それではまた!