マグネティックとGP2 EBSボリュームの損益分岐点について

シェアする

Voiced by Amazon Polly

EC2では、ブロックストレージとしてEBSを使用します。多くのケースでEBSは必須かと思います。
基本的に、初心者であれば汎用SSD(GP2)ボリュームを使っておけば間違いありません。料金は定額であり、別途I/O操作による課金が発生することもありません。米国リージョンで、0.10USD/GB/月です。

ストレージコストを抑えるために、マグネティックEBSボリュームを採用することもあるかもしれません。これ自体は、既に旧世代のボリュームとして扱われていますが、現在でも作成すること自体は可能です。

ただし、ストレージの後からの拡張が不可能、最大容量が1TiBに制限されるという制約があります。

マグネティックはHDDを使用したストレージであり、ストレージ料金は0.05USD/GB/月です。しかし、I/O操作に料金が発生し、その料金は0.05USD/100万IO操作です。
ここで、100万IO操作といっても分かりづらいと思います。マグネティックではI/O操作が増えると、料金が高くなる料金体系となっているからです。ディスクへの読み書き負荷に応じても課金されるイメージです。

あまりにもI/O操作が多すぎると、GP2よりも料金が高額になるケースがあります。
次に示すように、I/O操作による課金によって高額請求を受けたケースは実在します。
MediaWikiを放置した結果、スパマーに好き放題されてデータベースへの大量の読み書きが発生した結末のようです。
AWSで遊んでたWikiを放置してたらえらい目に合った – Qiita

広告



月間に直したときの平均IOPSは?

100万IO操作を1カ月で行ったと仮定します。この場合のIOPSは、100万 / 31日 / 86400秒/日より、約0.37IOPSとなります。
月平均1GBあたり100万IO操作を行うとGP2と同額の料金が掛かることになります。したがって、平均で0.37IOPS/GiB以下であればマグネティックを採用することでのコスト圧縮が期待できます。

平均IOPSが約0.37/GiBを超えた場合、マグネティックはGP2より高額となります。
システムディスクとしてよく利用される8GiBの場合、この損益分岐点は約2.99IOPSとなります。
(2.99IOPS * 86400秒/日 * 31日/月 ≒ 801万IO操作)
実際にどうかといいますと、全く参考になりませんが次のようなグラフを用意いたしました。

これは、私がとあるアプリケーションを入れて動かしているEC2インスタンスにシステムディスクとしてアタッチ済みのEBS(GP2)ボリュームです。容量は8GiBとしています。
損益分岐点に赤線を引きました。この場合、損益分岐点ギリギリであり、マグネティックに切り替えたところでコスト削減効果はほとんど見込めないでしょう。もしかすると逆に高くなるかもしれません。

実際に計算する場合は、Read+WriteのIOPSで確認してください。

マグネティックが有用なユースケースは?

マグネティックボリュームが有用なのは、ほとんどアクセスされないが、ファイルシステム上に置いておいていつでもアクセスしたいというようなケースです。
従って、常に読み書きの発生するシステムディスクには向きません
また、大容量を求めた場合は異なった視点が出てきます。250GiBを超えると、Cold HDDも射程圏内となります。これは、I/O操作による課金がない上に、ストレージ料金がマグネティックの半額となっています(0.025USD/GB/月)。
最低容量が500GiBとなっていますが、250GiBを超えた段階で料金が逆転します。I/O操作を考慮すると、もっと少ない容量で逆転を起こす可能性もあります。

結論からいいますと、容量が250GiB以下で、かつ読み書きが少ないデータディスクに適するのがマグネティックボリュームということになります。