[アップデート] EBSのボリュームタイプをgp2からgp3に変更するときにIOPSとスループットを自動でサイジングするようになりました

ボリュームタイプをgp3に移行していきたい
2022.07.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

IOPSとスループットのサイジング面倒だな

こんにちは、のんピ(@non____97)です。

皆さんはとEBSのボリュームタイプをgp2からgp3に変更するときにIOPSとスループットをサイジングするのが面倒だなと思ったことはありますか? 私はあります。

gp3はボリュームサイズだけでなく、IOPSとスループットを指定することが可能です。

その分、gp2からgp3にボリュームタイプを変更する際は、IOPSとスループットをサイジングする必要があります。

そんな折、 EBSのボリュームタイプをgp2からgp3に変更するときにIOPSとスループットを自動でサイジングするようになったとアナウンスされました。

早速、試してみたので紹介します。

いきなりまとめ

  • ボリュームサイズに比例する形でIOPSとスループットを自動でサイジングしてくれる
  • IOPS
    • ボリュームサイズが1,000GiB以下の場合、3,000IOPS
    • ボリュームサイズが1,000GiBよりも大きい場合、3IOPS/GiBずつ増える
    • ボリュームサイズがで5,334GiBでgp2とgp3の最大値である1,600IOPSになる
  • スループット
    • ボリュームサイズが167GiB以下の場合、125MiB/s
    • ボリュームサイズが168GiB以上の大きい場合、250MiB/sまで徐々に増えていく
    • ボリュームサイズがで333GiBでgp2の最大値である250MiB/sになる
  • gp2のバーストを上手に活用している場合に自動サイジングの結果を採用すると、gp2よりも性能が出ないことが考えられる
  • gp2からgp3に変更することで5%から20%料金が安くなる
  • 「なるべくEBSボリュームを安く使いたい」かつ「ボリュームサイズは大きくしたいけどそんなにIOPSやスループットを求めていない」という場合は、CloudWatchメトリクスを参考にサイジングするのがオススメ

やってみた

ボリュームサイズ毎の結果確認

早速試してみます。

試しに1GiBのgp2のEBSボリュームを作成します。

1GiBのgp2のEBSボリュームを作成

その後、ボリュームタイプをgp3に変更しようとしてみます。その際のIOPSとスループットを確認します。1GiBの場合のサイジングはIOPSが3,000で、スループットは125MiB/sのようですね。

1GiBのgp2をgp3に変更する際のIOPSとスループット

ボリュームサイズが300GiBの場合、スループットは225MiB/sになりました。メッセージからも自動で計算されていることが分かります。

さらに、サイズを大きくしてボリュームサイズを1,200GiBにした場合はIOPSが3,600、スループットが250MiB/sになりました。

1,200GiBのgp2をgp3に変更する際のIOPSとスループット

同様の作業をボリュームサイズを変更して行います。

それぞれの結果と、gp2とgp3の料金まとめると以下のようになります。料金は東京リージョンの料金です。

サイズ (GiB) IOPS スループット (MiB/s) gp2の料金 (USD/month) gp3の料金 (USD/month) gp3の料金 / gp2の料金
1 3,000 125 0.12 0.10 0.80
100 3,000 125 12.00 9.60 0.80
150 3,000 125 18.00 14.40 0.80
165 3,000 125 19.80 15.84 0.80
167 3,000 125 20.04 16.03 0.80
168 3,000 126 20.16 16.18 0.80
169 3,000 127 20.28 16.32 0.80
170 3,000 128 20.40 16.46 0.81
200 3,000 150 24.00 20.40 0.85
250 3,000 180 30.00 26.64 0.89
300 3,000 225 36.00 33.60 0.93
330 3,000 248 39.60 37.58 0.95
332 3,000 249 39.84 37.82 0.95
333 3,000 250 39.96 37.97 0.95
500 3,000 250 60.00 54.00 0.90
700 3,000 250 84.00 73.20 0.87
1,000 3,000 250 120.00 102.00 0.85
1,200 3,600 250 144.00 124.80 0.87
2,000 6,000 250 240.00 216.00 0.90
3,000 9,000 250 360.00 330.00 0.92
5,000 15,000 250 600.00 558.00 0.93
5,334 16,000 250 640.08 596.06 0.93
7,000 16,000 250 840.00 756.00 0.90
10,000 16,000 250 1,200.00 1,044.00 0.87

IOPS

まず、IOPSから確認します。

上述の表からIOPSは以下のようにサイジングされることが分かります。

  • ボリュームサイズが1,000GiB以下の場合、3,000IOPS
  • ボリュームサイズが1,000GiBよりも大きい場合、3IOPS/GiBずつ増える
  • ボリュームサイズがで5,334GiBで16,00IOPSになり、以降頭打ちとなる

これは、gp3の最低IOPSが3,000であり、gp2のベースラインパフォーマンスレートが3IOPS/GiBであるためです。また、ボリュームあたりの最大IOPSはgp2、gp3どちらも16,000IOPSなのでそこで頭打ちとなっていますね。

ボリュームサイズとIOPSの関係をグラフにすると、分かりやすいです。

ボリュームサイズとIOPSの関係

スループット

次にスループットです。

上述の表からスループットは以下のようにサイジングされることが分かります。

  • ボリュームサイズが167GiB以下の場合、125MiB/s
  • ボリュームサイズが168GiB以上の大きい場合、250MiB/sまで徐々に増えていく
  • ボリュームサイズがで333GiBでgp2の最大値である250MiB/sになる

これは以下AWS公式ドキュメントに記載の通り、gp2がボリュームタイプに応じてスループットが125MiB/sから250MiB/sまでスケールするためです。

  • スループットの制限は、ボリュームサイズに応じて 128 MiB/秒〜250 MiB/秒です。170 GiB 以下のボリュームの最大スループットは 128 MiB/秒です。170 GiB より大きく 334 GiB より小さいボリュームは、バーストクレジットを利用できる場合、最大スループット 250 MiB/秒を提供します。334 GiB 以上のボリュームであれば、バーストクレジットに関係なく 250 MIB/S を配信できます。作成された日が 2018 年 12 月 3 日以前であり、作成後に変更されていない gp2 ボリュームの場合は、 そのボリュームを変更しない限り、完全なパフォーマンスが得られない場合があります。

Amazon EBS ボリュームの種類 - Amazon Elastic Compute Cloud

ボリュームサイズが170GiBから334GiBのgp2の場合、250MiB/sまでバーストするようになっています。自動サイジング機能ではボリュームサイズに応じてスループットを250MiB/sまで徐々に増やすような動きで対応しています。そのため、gp2のバーストを上手に活用している場合に自動サイジングの結果を採用すると、gp2よりも性能が出ないことが考えられます。

ボリュームサイズとスループットの関係もグラフにしてみます。

ボリュームサイズとスループットの関係

料金

最後に料金です。

上述の表から自動でサイジングされたIOPS、スループットを採用した場合、gp2からgp3に変更することで5%から20%料金が安くなることが分かりました。

gp3のベースラインIOPSは3,000でベースラインスループットは125MiB/sです。ベースライン以上のIOPSもしくはスループットにする場合は追加で課金が発生します。そのため、IOPSもしくはスループットが増加するタイミングで、gp3の料金がgp2の料金に近づいていきます。

もし、「なるべくEBSボリュームを安く使いたい」かつ「ボリュームサイズは大きくしたいけどそんなにIOPSやスループットを求めていない」という場合は、CloudWatchメトリクスを参考にIOPSとスループットをサイジングするのが良いと考えます。

現在のIOPSとスループットを確認する場合は、以下記事を参考に行います。

ボリュームサイズとgp3の料金 / gp2の料金の関係もグラフにしてみます。

ボリュームサイズとgp3の料金 _ gp2の料金の関係

ボリュームタイプをgp3に移行していきたい

EBSのボリュームタイプをgp2からgp3に変更するときにIOPSとスループットを自動でサイジングするようになったアップデートを紹介しました。

自動サイジングを採用してgp2よりもgp3の料金の方が高くなるなんてことはないようで安心しました。

gp3への移行にかなり役立つアップデートだと思います。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!