目次
- 対象読者
- 現在のspotインスタンスの仕様
- 実際のオペレーション
- 稼働率、実際の適用効果
対象読者
- クリティカルではない開発環境(~数人利用、落ちても許される環境)のユーザ
- 開発環境のコスト管理責任者
- 部下にawsのコストの使い方が妥当か詰めたい管理者
現在のspotインスタンスの仕様
過去のspotインスタンスの仕様は、下記のようなもので使用者を非常に選ぶものでした。
- AWS都合、自己都合でも停止すると再開不能
- DISKを残しておくことは可能だが、DISKの状態を引き継ぎたい場合はAMIを作ってVM作り直し、、
- CI/CD等で自動構成されるようにしておかないと使いかってが悪い
しかし、現在のspotインスタンスの仕様は、通常のec2にかなり近いものになっています。
- spotインスタンスを通常のオンデマンドインスタンスと同じように停止、再開が可能
- 当然、DISKの状態は引き継がれる
よって、spotインスタンスを時々aws都合で落ちる可能性があるだけのインスタンスとして利用することができます。
コンテナ、ci/cdに無縁な昔ながらのがっつり手動構築、OSに状態持ちまくりの案件でもスポットのメリットを享受することが可能です。
実際のオペレーション
ec2を作るときに、下記のようなオプションを設定するだけとなります。
これだけで、不要な時はec2を止めつつ
- windowsはm5で4割引き
- linuxはm5で7割引き
のコストメリットを受けることができます。
また、今までお使いの電源管理スクリプトをそのまま使い、夜間、休日は今まで通り停止が可能です。
参考:3か月のコスト推移
spot稼働率
正確なデータを取っているわけではありませんが、AWS調べによると
キャパシティー不足による停止は5%未満
とのことです。
出典:aws summit 2019:SpotInstance のより効率的な活用を目指して。Spot Instance Update
https://pages.awscloud.com/rs/112-TZM-766/images/L2-08.pdf
また、リージョン、インスタンスタイプごとの詳細は、
https://aws.amazon.com/jp/ec2/spot/instance-advisor/
で確認することができ、
インスタンスタイプごとに停止可能性のあたりをつけることが可能です。
機械学習で人気のp系、レガシーすぎる、m1,t2系はある程度の停止リスクがあるのでec2 spot instanceの中断を意識したまともなspotインスタンスが必要でしょう。
しかし、spotインスタンスの種類を適切に選べば、中断リスクは非常に下がるため、環境によっては難しいことを意識せずに通常のインスタンスの代替として使用が可能です。
私は、m5,m4,m3を中心に使っており、停止を食らったことはほぼありません。
とくに、古い不人気商品(m3)は落ちにくいだろうという目算で、特に落ちてほしくないシステム等で使っておりましたが、半年以上何もなく動き続けていたこともありました。
まとめ
現状のspotインスタンスは、停止リスクがある普通のec2として使う選択肢があります。
また、停止リスクはインスタンスタイプによりかなりコントロール可能なため、非常に限られた停止リスクで、
- windowsで4割コスト削減
- linuxでで7割コスト削減
ができる非常に強力な武器です。
ということで、ゆるふわが許される環境では、ぜひ、spotインスタンスをご検討してみてください。