概要
こんにちは、キュービックでSREをやっているYuhta28です。キュービック内のテック技術について発信します。
皆さんはEC2を作成するときにEBSのボリュームタイプを意識されていますでしょうか?
EBSのボリュームタイプは2022年4月時点で大別して5種類、細かく分けると8つのタイプに分かれています。
EBSボリュームタイプ一覧
- General Purpose SSD (gp2)
- General Purpose SSD (gp3)
- Provisioned IOPS SSD (io1)
- Provisioned IOPS SSD (io2)
- Cold HDD (sc1)
- Throughput Optimized HDD (st1)
- Magnetic (standard)
2022年4月時点では上図のようにデフォルトでGeneral Purpose SSD(gp2)
が選択されています。
Generalという名称の通り、特殊な使い方をしない限りはEC2にアタッチさせるEBSはGeneral Purpose SSD
で問題ありません。
ですがgp3の存在を知らず、gp2のままにしている人も多いのではないでしょうか?gp3に変更することでAWSコストの最適化が実現できるケースもありますので今回はgp3について紹介致します。
General Purpose SSDについて
簡単にまずはGeneral Purpose SSD
(以下汎用SSD)についての紹介から入ります。
汎用SSDは料金とパフォーマンスのバランスに優れたSSDで、基本的なワークロードに対応しています。もし大規模なデータベース利用やミッションクリティカルな低レイテンシーを求める場合は、Provisioned IOPS SSD
を活用します。
gp3とは
gp3は2020年のAWS re:Inventで発表されたEBSボリュームです。
耐久性やボリュームサイズに変更はありませんが、gp3は3,000IOPS1と125MB/秒のスループット2が基本性能として保証されるようになりました。
gp2は最初にプロビジョニングされたストレージ量によって、AWS側で既定の計算式に基づいてIOPS/スループット値が設定され、ユーザーによる変更はできませんでした。ただgp2はバーストクレジットとよばれる急激なパフォーマンス要求を満たせる基本スペック以上のパフォーマンスを発揮できる機能を備えています。
これによって急激なパフォーマンス要求にも一定時間なら対応することができます。 gp3はバーストクレジットがない代わりに自分で必要以上分のIOPS/スループットの値を設定することで短期的なバーストクレジットに頼ることなく安定したパフォーマンスを発揮させることができます。
コスト面
コストについて見てましょう。
純粋なEBSストレージのコストは以下のとおりです。
- gp2
- 0.12USD/GB 月
- gp3
- 0.096USD/GB 月
20%削減されていることが分かります。ですが、gp3はEBSのストレージコストに加えて、自分で設定したIOPSとスループットの料金も追加で発生します。3
要素 | 料金 |
---|---|
IOPS | 無料の 3,000 IOPS、および 3,000 を超えた分について 1 か月におけるプロビジョンド IOPS あたり 0.006USD |
スループット | 無料の 125 MB/秒、および 125 を超えた分について 1 か月におけるプロビジョンド MB/秒あたり 0.048USD |
デフォルト設定されている3,000IOPSと125MB/秒分の値は無料枠ですが、ユーザーが設定した値に応じて料金が追加されます。
例えば200GBのgp2とgp3で同一のパフォーマンスを求めた場合の料金はいくらになるのかAWSの料金見積もりツールを使って計算してみます。
gp2の料金
gp3の料金
こうしてみるとgp3のほうが2割ほど安くなっているように見えます。 しかし、前述したとおりgp3はパフォーマンス値にも料金が加算されます。
初期設定のままでしたら無料枠に収まりますが、実は初期設定の状態ですとgp2のデフォルト設定未満のパフォーマンスしか発揮しません。
200GBのgp2のIOPSとスループット値は以下の通りです。
IOPS | スループット |
---|---|
600 | 150 |
初期スループット値はgp2の方が高いので、gp3のスループット値を150MB/秒に変更してもう一度計算し直します。
パフォーマンス値をgp2と同等の状態に持っていた場合でも僅かながらgp3の方が安くなります。 もちろん、今までのスループット値150MB/秒も不要で、デフォルトのスループット値のままでも問題なければ当初の算出したコストで問題ありませんのでさらなるコスト最適化が狙えます。
所感
EBSの汎用SSD(gp3)について紹介しました。
EC2そのものはReserved InstanceやSavings Plansなどの割引プランを活用することで通常よりも安いコストで稼働させることができますが、EBSにはそういったプランはありません。
このようにボリュームタイプを変更してコスト最適化を狙うことでAWSコストの削減に繋がりますので、皆さんもぜひともEBSのボリュームタイプを見直してみてください。