見出し画像

AWS EC2 スポットインスタンスの使い方と使いどこ

EC2スポットインスタンスというのを初めて知りました。
スポットインスタンスと言っても、性能は普通のインスタンスと変わりません。
インスタンスタイプもt2.largeとか、普通のEC2と同じです。
ではどこが違うのか、

安く借りられる(メリット)
最大で90%オフらしいです。
僕がみた感じだと70%オフくらいが多かったです。

いつインスタンスが落とされるか分からない(デメリット)
AWSの都合で勝手に落とされるらしいです。
一応落とされる2分前には連絡が来るそうです。
空いているキャパシティを貸してくれているシステムなので、AWSの空きキャパが小さくなると落とされるらしいです。
安く借りられると言いましたが、借りる僕らが料金設定をすることもできるらしく、その料金によって落ちる順番が左右されるとのこと。
特に年末年始とか、AWSを使ったサービスが忙しくなると落ちやすくなるとか。

こんな感じで違うらしいです。


落ちても大丈夫なように

アカツキとかDeNAでもスポットインスタンスを使ってるらしいです。
彼らは

・インスタンスタイプ
・アベイラビリティゾーン

にダイバーシティを持たせることで、全てのインスタンスが落ちることのないようにしているらしいです。
スポットインスタンスでポートフォリオを組むのが重要そう。
DeNAは一応、一台だけオンデマンドにしているらしいです。

参考 : [レポート] Amazon EC2 スポットインスタンスの各社の利用例についてご紹介 #AmazonGameTech #AmznGameTechJP  


落ちる前、落ちたときにすること

これも先ほどの記事の内容そのままですが、勝手に落ちる前に、落ちる通知をトリガーに、自分で安全にインスタンスを落としているらしいです。
CloudWatchEventを使うといいとか。

落ちてしまったときにログが削除されないように

・EBSにログを保存してスポットが落ちるときに削除しないようにする
・fluentdベースでログを管理。プロセスが落ちるときもflush

といった対策をされているようです。


まとめ

スポットインスタンスは割安で良い感じ
でも落ちるから、タイプとAZでポートフォリオを組む
通知をトリガーに自分で落とすのが良い
ログは落ちる前に拾うようにする

って感じですね。
必要なインスタンスが少ない人はオンデマンドでいいと思います。
ポートフォリオを組むために複数インスタンスを立てる必要があるからです。
安くするためにスポットにして、でもポートフォリオのために複数立てる…みたいなのは本末転倒ですね。

この記事が気に入ったらサポートをしてみませんか?