EC2でローカルインスタンスかEBSのどちらを選ぶべきか


Powering the InternetAmazonEC2上で新しくサーバを立てようかと思っているのですが、自分が古い考えなのか、インスタンスのルートデバイスをローカルインスタンスとEBSのどちらを選ぼうか迷っています。

ぶっちゃけ、お金と機能によるんですよね。

ということで自分メモとして、ローカルインスタンスとEBSを利用した時の機能比較・料金比較をメモっておきます。

Creative Commons License photo credit: abdallahh

機能面

ざっと思い当たる部分で書きだすとこんな感じ。

項目 ローカル EBS
インスタンスを途中停止 できない できる
データ保持 システムエラー等でインスタンスが止まったらデータが消える ほぼ永続的に保持される
スナップショット とれない とれる
インスタンスのコピー コマンドラインでS3にバックアップ、AMIを登録後、起動する(Launch More Like Thisでも可能?) 管理画面から簡単に可能(Create Image)
その他 - インスタンスを停止して、small->largeといったレベル変更が可能

一番大きいのはEBSはデータが保持されること。最近トラブルないけれど、ローカルインスタンスでの運用当初は1~2週間くらいに1回、どこかのインスタンスが障害を起こして、バックアップから復旧していました。保持されれば、障害となったインスタンスからEBSを外し、スナップショットを取っておいた別のAMIから再起動・再接続、なんていうこともすぐにできるんでしょうなぁ。

例えばデータベースなんてEBSに守ってもらえれば、インスタンスがイっちゃっても、EBSをつけかえればすぐに復旧できるし。

機能面ではローカルインスタンスにぜんぜんメリットがないなぁ・・・。

料金面

次に料金面。東京リージョン、スモールインスタンスでの利用を見込んだ比較です。

項目 ローカル EBS
インスタンス使用料 1時間$0.1 1時間$0.1
EBS使用料 - 1GBあたり$0.12
100万アクセスごとに$0.12

例えばひと月30日間フル稼働させた場合・・、ローカルインスタンスでは

  • 使用料$0.1×24時間×30日=$72=7,200円

この金額のみとなります。それに対してEBSを120GB使った場合、

  • 使用料$0.1×24時間×30日=$72
  • EBS$0.12×120GB=$14.4
  • アクセス$0.12×毎秒50回×60秒×60分×24時間×30日÷100万アクセス=$15.56
  • 合計$72+$14.4+$15.56=$102=10,200円

EBSアクセス頻度を毎秒50回としていますが、ApacheログだったりDB書き込みだったり、データを書き換えただけで1回とカウントするのでこんなもんなのかなぁと。

ということで金額面で言えばEBSを利用すると20~40%コストアップするわけです。これはけっこう大きいですよね?

信頼性と拡張性を備えたEBSを利用するか、料金を抑えたローカルインスタンスを利用するか。目的に合ったタイプを検討したほうがよいのかも知れません。

やべ・・・自分も迷ってきた・・・。