見出し画像

AWSストレージコスト最適化:gp2からgp3へ変更するメリットと手順

こんにちは。スーパーソフトウエア東京オフィス技術部の加藤です。
AWS (Amazon Web Services) の運用コストは、クラウド環境を利用する上で常に頭を悩ませる問題です。定期的な監視と、不要なリソースの削減など、継続的に実施していくことが必要です。システムを運用し続ける限り必要なアクティビティであると考えています。コスト削減の方法としては、インスタンスサイズの最適化AutoScalingの活用S3ストレージクラスの最適化などいろいろ着目点があるかと思いますが、今回はAWSストレージの中でも利用頻度の高いEBS (Elastic Block Storage) のコスト削減に焦点を当て、gp2 (General Purpose SSD) からgp3 (General Purpose SSD) への変更という、比較的簡単で、地味ながらも効果的なコスト削減方法について解説したいと思います。

gp2とgp3の違い

gp2とgp3はどちらも汎用的に利用できるSSDベースのEBSボリュームですが、以下の点で違いがあります。

  • gp2 : ボリュームサイズが大きくなるほど IOPS & スループットが自動的に増えるが、上限あり(16,000 IOPS / 250MB/s)。

  • gp3 : ボリュームサイズに関係なく IOPS & スループットを設定でき、最大性能も高い(16,000 IOPS / 1,000MB/s)。

gp3への変更によるメリット

gp3の最大のメリットは、IOPSとスループットを別々に設定できる事と、単価がgp2より割安です。

  • IOPS: 1秒あたりに処理できる入出力回数

  • スループット: 1秒あたりに転送できるデータ量

例えば、IOPSはあまり必要ないけれどスループットがたくさん必要な場合、gp2ではIOPSも一緒に高くする必要があり、その分のコストもかかっていました。しかし、gp3ではIOPSとスループットを別々に設定できるため、必要な分だけをそれぞれ設定することで、無駄なコストを削減できます。
例えばあるウェブサイトを運営で、画像がたくさんあるページを高速に表示したい場合、gp2ではIOPSもスループットも両方高くする必要がありました。

しかし、gp3ではスループットだけを高く設定し、IOPSは必要な分だけに抑えることができます。

gp2からgp3への変更手順

gp2からgp3への変更は、AWSコンソールから簡単に行うことができます。

  1. AWSコンソールにログインし、EBSボリュームのページを開きます。

  2. 変更したいgp2ボリュームを選択し、「アクション」メニューから「ボリュームタイプを変更」を選択します。

  3. ボリュームタイプに「gp3」を選択し、必要なIOPSとスループットを指定します。

  4. 変更内容を確認し、「変更」をクリックします。

変更処理は数分から数時間かかる場合があります。

1000GBのストレージで運用コストを試算

gp2を利用する場合:

ストレージコスト: 1000×0.12US$ = 120US$/ 月 
IOPS:プロビジョニングされたストレージ1GBあたり3 IOPSのベースラインパフォーマンスを提供するため、1000×3 = 3000 IOPS
(追加料金なし)
スループット:ボリュームサイズに応じて128MB/s~250MB/sを保証します。334GBで上限に達するため、1000GBの場合には250MB/sとなります。
(追加料金なし)
合計:120US$

gp3を利用する場合:

ストレージコスト: 1000×0.096US$ = 96US$/ 月 (追加料金なし)
IOPS: 3000 IOPS (追加料金なし)
スループット:標準125MB/s (追加料金なし)
合計コスト96US$/ 月 

gp2からgp3へ変更するだけで、18US$(15%)のコスト削減が可能です。

gp3のIOPS/スループットの個別設定をした場合の追加料金の計算は以下の通りです。

スループットを125MB/sから250MB/sにスペックを上げる場合の追加料金(250-125)MB/s ×0.048US$ = 6US$/月  
6US$が96US$に加算されて102US$/月となります。

IOPSを3000から4000にスペックを上げる場合の追加料金
(4000-3000)IOPS ×0.006US$ = 6US$/月
さらに6US$が加算され108US$/月になります。

gp2/gp3以外での運用コスト削減方法

現状把握と分析

コストの可視化
まずは、現状のAWS利用状況とコストを把握することが重要です。AWS Cost ExplorerやAWS Budgetsなどのツールを活用し、サービスごとのコスト、利用時間帯別のコストなどを分析しましょう。
コスト配分の把握
次に、コストがどのサービスに、どの程度配分されているかを把握します。EC2、S3、RDSなどの主要サービスだけでなく、LambdaやEBSなどの細かなサービスまで、コストの内訳を把握しましょう。
無駄なコストの洗い出し
現状の利用状況とコスト配分を分析したら、無駄なコストがないか洗い出します。

  • 稼働していないEC2インスタンス

  • 使用されていないEBSボリューム

  • 不要なS3オブジェクト(不要なログファイル、重複ファイル)

  • 過剰なスペックのRDSインスタンス

  • 利用頻度の低いLambda関数 

コスト削減施策の実行

不要なリソースの削除
洗い出した無駄なリソースは、積極的に削除しましょう。
本当に不要かどうかは、組織内で十分に確認して、合意のもとに削除することをお勧めします。

スケジューリング
EC2インスタンスやRDSインスタンスなど、必要のない時間帯や祝日は停止するなどスケジューリングを行いましょう。
土日にステージング環境でテストを実施しようとしたら停止していたため、テストができなかった、というようなコミュニケーションミスも想定されますので、停止と起動のプロセスは組織内でルール化しておくことをお勧めします。

リソースの最適化
リソースのスペックを見直し、適切なサイズやスペックに変更することも重要です。例えば、

  • EC2インスタンスのサイズをダウングレードする。

  • RDSインスタンスのスペックを下げる。

  • S3ストレージクラスの最適化を実施する。
    S3 One Zone-IA:
    アクセス頻度が低いデータや、長期保存が必要なデータ
    S3 Glacier Flexible Retrieval:
    アーカイブされたデータや、アクセス頻度が非常に低いデータ
    S3 Glacier Deep Archive:
    アーカイブされたデータや、アクセス頻度が最も低いデータ
    (取り出しに時間がかかります)

Savings Plans/Reserved Instanceの利用
Savings Plans や Reserved Instances は、コンピューティングリソースの利用料金を大幅に割引できるプランです。1年以上システムを稼働させることが確実な場合、有効なコスト削減方法となります。
ただし、注文の確定には十分注意しましょう。インスタンスの無料トライアル期間中であっても購入できてしまう可能性があるため、事前に確認してから注文することをお勧めします。一度購入するとキャンセルが難しい場合があるため、慎重に判断してください。

コスト管理の継続

コスト監視
コスト削減施策を実行したら、その効果を継続的に監視することが重要です。AWS Cost Explorer を活用し、サービス別、期間別、タグ別などの切り口でコストの推移を定期的に確認しましょう。特に、コスト削減施策を実施したサービスやリソースについては、重点的に監視することが重要です。
アラート設定
コストが予算を超えた場合や、異常なコスト変動があった場合に、アラートを通知するように設定しましょう。AWS Budgets を活用し、予算超過時だけでなく、特定のサービスやリソースのコストが急増した場合にもアラートを設定できます。
定期的な見直し
コスト削減施策は、一度実行したら終わりではありません。定期的に現状の利用状況を見直し、新たなコスト削減の機会を探りましょう。例えば、AWS Cost Explorer を活用して過去のコストデータを分析し、コストが増加しているサービスやリソースを特定します。そして、それらのサービスやリソースについて、インスタンスタイプの見直しや未使用リソースの削除などのコスト削減施策を検討します。


注意事項

gp2からgp3への変更は、変更前に必ず十分なテストを行い、問題がないことを確認してから本番環境に適用することが望ましいと思います。

gp2からgp3への変更手順は、AWSコンソールから行うことができます。変更前にスナップショットを取得しておくことを推奨します。

コスト試算については、2025/2/26 アジアパシフィック(東京)での単価を使っています。実際に運用コストを計算する際には、最新の情報を入手して計算するようお願いします。また運用コストはリージョンで異なる場合がありますのでご留意ください。


▼採用情報

▼新卒情報はWantedlyで


いいなと思ったら応援しよう!