📌

EC2でのオンデマンド、リザーブド、スポットインスタンスの違い

2022/08/17に公開

夏季休暇を使って、SAA取得に向けた学習を進めておりました。
インスタンスの選択問題でスポットインスタンスが最適となる場合によく間違えていたので、それぞれの特徴をまとめてみました。

オンデマンドインスタンス

  • 特徴
    • 使用した時間分だけ支払いが発生する(on demand : 要求に応じて)
    • 初期費用なし
  • 用途
    • 開発環境、テスト環境
    • 長期稼働するかが未定、リソースの対する需要(アクセス数や負荷)が不安定なシステム

リザーブドインスタンス

  • 特徴
    • 1年 or 3年単位での契約
    • 前払いを選択すると割引率が増加するが、初期費用が発生
  • 用途
    • 長期稼働が確定しているシステム
    • リソースに対する需要(アクセス数や負荷)が固定されているシステム
  • 注意点
    • 契約後のインスタンスファミリーの変更はオプションによってはできない。
    • 長期利用前提のため、途中で解約できない

スポットインスタンス

  • 特徴
    • AWS上で使われていな余剰インスタンスを利用する
    • 需要と共有のバランスにより、価格が変動
    • ユーザー側は入札金額を設定し、スポット料金が入札金額を下回った場合に利用できる
  • 用途
    • バッチ処理(動画変換など)、一時的な検証など継続して利用する必要のないシステム
  • 注意点
    • オンデマンドより高くなる場合もあるため、入札金額は検討が必要
    • 入札金額がスポット料金を下回った場合はサーバーが利用不可に(落ちる)
    • フォールトトレラント(耐障害性)を持ったリカバリーのできるシステムでない場合、スポット料金の変動次第で障害が発生する

まとめ

まとめてみましたが、それぞれの特徴を抑えておかないとコストが肥大化するor障害が発生する可能性がありますね...。最適なアーキテクチャ設計のためにも知識は必要になると改めて実感しました。

また、費用、耐障害性を意識すると以下のように組み合わせて使うことは必須ですね。

  • リザーブド + オンデマンド
  • リザーブド + スポット
  • オンデマンド + スポット

もし、間違っていましたら、コメント等でご指摘いただけると嬉しいです。

Discussion