プログラマでありたい

おっさんになっても、プログラマでありつづけたい

周回遅れで、SSDベースの新しいAmazon EBSの話

 少し前ですが、AWSのサービスに重大なアップデートがありました。ストレージサービスであるEBSに新しいサービスラインナップが追加され、General PurposeというSSDベースのサービスが利用できるようになりました。すでにyoshidashingoさんが色々考察しているので改めてまとめる必要もないですが、自分の中の整理のためにまとめてみます。

EBSのラインナップと価格体系 2014/06~



 今回追加されたのは、General Purpose(gp2)です。従来のスタンダードEBSはMagneticという名前になり、Provisioned IOPSは、io1という略称になりました。


 東京リージョンで利用例

サービス名 ベースラインIOPS Max IOPS 価格体系
General Purpose (SSD) 3(IOPS)×GB 3,000(burst) $0.12 1 か月にプロビジョニングされたストレージ 1 GB あたり
Provisioned IOPS (SSD) 100~4,000の間で指定したIOPS 4,000 0.142 : 1 か月にプロビジョニングされたストレージ 1 GB あたり
0.114 : 1 か月にプロビジョニングされた IOPS あたり
Magnetic
旧スタンダードEBS
40~200IOPS ? $0.080 : 1 か月にプロビジョニングされたストレージ 1 GB あたり
$0.080 /100 万 I/O リクエスト

選択のポイント



 今回追加されたGeneral Purpose(gp2)を考える上で一番のポイントは、IOPSの性能が確保したEBSの容量×3IOPSとなっている点です。100GBの場合は、100×3で300IOPSです。EBSの最大サイズである1TBの場合は、1,000×3で3,000IOPSになります。これ以外にも、gp2にはバーストという考え方があります。例えば、gp2で100GBの場合は、300IOPSがベースラインになります。バーストは、短期的(最大30分)に3,000IOPSまで利用できる機能です。この2つの前提で、gp2とProvisioned IOPS(io1)のどちらを使えば良いのか、ケースごとに考えてみます。

ケース1 1,000IOPS利用したい場合
gp2 334GB以上を選択すると、ベースラインが1,000IOPS。金額は、月額$43.12。4,500円弱
io1 GB×$0.142+1,000(IOPS)×$0.114。334GBと仮定したら、金額はGB×$47.42+$114。15,000円超。
gp2の方がお得

ケース2 3,000IOPSを利用したい場合
gp2 1,000GBを選択すると、ベースラインが3,000IOPS。金額は、月額$120。12,000円強
io1 GB×$0.142+3,000(IOPS)×$0.114。1,000GBと仮定したら、金額は$142+GB+$342。50,000円弱。

結論



 io2がコスト的にメリットが出るケースは非常に少ないです。少ないストレージ容量で、高IOPSが必要なケースのみです。今後の価格改定にもよりますが、gp2を使った方が有利なケースが殆どです。何か価格設定が間違っているようで、非常に気になります。バーストについては、別途検証してみたいです。


See Also:
Amazon Elastic Load Balancing (ELB)の内部構造および拡張・障害時の動き
AWSのEBS Provisioned IOPSからEBSについて妄想する
結構知らないAmazon EBSの細かい話。主にEBSのネットワークの構造について


参照:
Amazon Web Services ブログ: 【AWS発表】新しいSSDベースのElastic Block Storage
料金 - Amazon Elastic Block Store (EBS ) EC2用ブロックストレージ | アマゾン ウェブ サービス(AWS 日本語)
Amazon EBSのGeneral Purpose(SSD)雑感→3000PIOPSの100GB(io1)より3000IOPS Infiniteの1000GB(gp2)のほうがおトク! - yoshidashingo