先日に新たなEBSとしてGP3ボリュームが発表されました!!
発表直後ではルートボリュームのマウントには使えなかったようですが、現在は利用可能になっているようです。
今まではGP2ボリュームが推奨されていましたが、今後はストレージ容量あたりのコストパフォーマンスに優れ、高パフォーマンスを発揮できるGP3ボリュームがメインに変わっていきそうです。
では新しいGP3ボリュームはGP2ボリュームと比べると何が良くなっているのか見ていきましょう!
GP3の仕様
GP2 | GP3 | |
容量 | 1GB~16TB | 1GB~16TB |
ストレージ価格 | $0.12/month | $0.096/month |
IOPS | 100~16,000 ※EBSストレージ1GBにつき3IOPS |
3000~16,000 ※3,000IOPSまで無料でそれ以上を利用する場合には$0.006 |
スループット | ストレージ容量に応じて変動 ※最大で250MB/s |
125MB/s~1,000MB/s ※125MB/sを超える場合には1MB/sにつき$0.048 |
この表を見ていただくとわかると思いますが、GP3の方がストレージ容量あたりの価格が安いです。
さらにGP3ボリュームではIOPSの最低が3,000となっています。
もしもGP2ボリュームで3,000IOPSを実現しようとすると、ストレージ容量を1,000GBも割り当てなければなりません。
GP2ボリュームではバーストクレジットを消費して瞬間的に3,000IOPSを発揮する機能もありますが、そもそもGP3ボリュームを採用していれば無制限に3,000IOPSのパフォーマンスを維持できるので、この時点でもGP3ボリュームの方が使い勝手が良さそうです。
fioコマンドでパフォーマンスチェック
c5d.largeインスタンスにstandard、gp2、gp3、インスタンスストアをマウントさせた状態でそれぞれのパフォーマンスを調べてみました。
EBSのボリュームは全て8GBの割り当てにしています。
実行コマンドは以下の通りです。
$ sudo fio --directory=/{対象のボリュームパス} \ --name fio_test_file \ --direct=1 \ --rw=randread \ --bs=4k \ --size=1G \ --numjobs=4 \ --time_based \ --runtime=180 \ --group_reporting \ --norandommap
——————-
◆standardボリューム
standardボリュームではIOPSは1,100程度で、IOは839MB、スループットは4.6MB/sほどでした。
——————-
◆GP2ボリューム
GP2ボリュームではIOPSは3,000程度でIOは2,100MB、スループットは12MB/sほどでした。
ただし本来はIOPSのベースラインは100しかないため、この検証結果のパフォーマンスを得るためにバーストクレジットを消費しています。
もしもバーストクレジットが尽きてしまった場合には、大幅にパフォーマンスが低下してしまうでしょう。
——————-
◆GP3ボリューム
GP3ボリュームではIOPSは3,000程度でIOは2,100MB、スループットは12MB/sほどでした。
バーストしているGP2ボリュームと同等の結果ですが、こちらの場合では常にこのパフォーマンスを担保できます。
価格的にもこちらの方が安い上に、IOPSのバーストクレジットの制約に縛られないこちらの方が明らかに使いやすいですね。
——————-
◆インスタンスストア
最後におまけとしてインスタンスストアでもfioコマンドを実行してみました。
IOPSは20,000程度で、IOは14,000MB、スループットは80MB/sほどでした。
仮想的なストレージであるEBSとは異なり、インスタンスストアは物理的なSSDのためダントツに性能が高いです。
ただし揮発性で、データを保持し続けることはできないためユースケースの選択には注意が必要です。
既存のEBSをGP3へ切り替え
既存のEBSのボリュームをGP3ボリュームへ切り替えるのは非常に簡単で、EBSの設定から「ボリュームの変更」を行うことで任意のボリュームタイプへ変更できます。
GP3ボリュームではIOPSがデフォルトで4,000になっているため、追加料金を支払いたくない場合には3,000にしておくことをお勧めします。
変更をリクエスト後、数十分後には切り替えが完了します。
ボリュームタイプを変更した場合にはEC2インスタンス側でコマンドの実行や既に実行されているプロセスの再スタートを行う必要はありませんでした。
しかし、今回はルートボリュームを切り替えてみたところsshから追い出されてしまったので、多少なりともダウンタイムは発生する可能性がありそうです。
おわりに
新しいEBSのボリュームタイプについて調べてみました。
コストパフォーマンスに優れており、既存のGP2ボリュームよりも使い勝手が良くなっています。
新しく出たばかりの機能をいきなり使用すると、もしも問題が発生した時に取り返しが付かなくなる可能性もありますので、しばらく安全を確認できたら利用していこうと思います。
コメントを残す