DEVELOPER’s BLOG
技術ブログ
Amazon RDSのコスト最適化:効率的なデータベース運用で50%のコスト削減に成功!
目次
背景
Amazon RDS(Relational Database Service)は、多くの企業で利用されるマネージド型データベースサービスです。高可用性や自動バックアップなどの機能を備えており、運用管理の負担を軽減しますが、使い方によってはコストが膨らみ、企業のIT予算を圧迫する原因となります。
当社でもRDSのコスト最適化に取り組み、その結果、利用コストを最大で50%削減することに成功しました。
RDSコスト削減のために改善できるポイントは以下の通りです。
1. 使用していないリソースが長期間稼働している。
2. データベースインスタンスのサイズが適切でないため、リソースが過剰に割り当てられている。
3. ストレージやバックアップが最適化されていない。
4. オンデマンド料金が高く、コストが予測しづらい。
今回は、これらの問題に対処するために行った原因調査と解決策について具体的に解説し、どのようにコスト削減を実現したかを紹介します。
コスト削減のための分析
まずは、AWS Cost Explorerを使用してRDSのコストを詳細に分析しました。
RDSのコスト構成要素
1.インスタンスの稼働料金:データベースインスタンスのサイズに応じて、時間ごとに発生。
2.ストレージ料金:データベースのストレージ容量に基づいて発生。
3.バックアップ料金:自動バックアップやスナップショットに対するストレージ料金。
4.データ転送料金:データベースから外部に出るデータの転送料。
不必要なコストの原因
1.過剰なインスタンスサイズ:使用しているインスタンスサイズが過大であり、実際のトラフィックに比べてリソースが過剰に割り当てられていた。
2.ストレージの最適化不足:必要以上に高パフォーマンスなストレージタイプを使用していた。
3.リザーブドインスタンスの未活用:オンデマンドインスタンスを利用しており、リザーブドインスタンスのディスカウントを活用していなかった。
解決策
それぞれの問題を解決するため、以下の施策を実行しました。
1. インスタンスサイズの適正化
アプローチ
RDSインスタンスのサイズを、実際のトラフィックやパフォーマンス要件に基づいて見直しました。
例えば、CPU使用率やメモリ使用量がインスタンスのスペックに比べて著しく低い場合、インスタンスを小さいものに変更することで、コストを削減できます。
以下の表のように、m5.largeからt3.mediumに変更すると、月額200USD以上のコスト削減が期待できます。
ポイント
オンデマンドインスタンスは、利用時間に応じて料金が発生するため、インスタンスの稼働状況に応じたリサイズを行うことで、効率的にコストを削減できます。
2. ストレージタイプの最適化
アプローチ
RDSはストレージの種類として、汎用SSD(gp2)、プロビジョンドIOPS(io1)、マグネティックなどがあります。高パフォーマンスなio1を利用していたものの、実際にはそこまでの性能が必要なかったため、汎用SSD(gp2)に変更することでストレージコストを削減しました。
500GB使う場合のそれぞれのストレージタイプでのコストは以下のため、月額252USDの削減が期待できます。
ポイント
ストレージタイプを最適化することで、コストを大幅に削減できます。特に、I/O性能が必要ない場合は、汎用SSD(gp2)を利用するとよいです。
3. リザーブドインスタンスの活用
アプローチ
オンデマンド料金が高く、長期的にRDSを使用することが分かっている場合、リザーブドインスタンスを購入することで、コストを大幅に削減できます。
リザーブドインスタンスは1年または3年のコミットメントを前提に割引が適用されるため、オンデマンドインスタンスに比べて最大で40%のコスト削減が期待できます。
db.t3.mediumの場合、リザーブドインスタンスの活用有無でのコストは以下です。リザードインスタンス1年利用だけでも、月額34USD程度のコスト削減が期待できます。
ポイント
長期的な利用が予想されるRDSインスタンスに対しては、リザーブドインスタンスを活用することで、コストの削減が可能です。
オンデマンド料金と比較して、割引率が高いため、特に3年契約を検討する価値があります。
4. 自動バックアップとスナップショットの最適化
アプローチ
自動バックアップやスナップショットは、定期的に実行されますが、不要なバックアップやスナップショットを削除することで、ストレージコストを削減しました。
バックアップの保持期間を短縮することや、不要なスナップショットを定期的に削除する運用を導入しました
コスト計算
バックアップストレージ: 0.095USD/GB/月
50GBの不要なスナップショットを削除する場合: 50GB × 0.095USD = 月額4.75USDの削減
結果
これらの最適化アプローチにより、RDSのコストを全体で約50%削減することができました。
特に、インスタンスサイズの見直しとストレージタイプの最適化が大きな影響を与え、リザーブドインスタンスの活用で長期的なコスト削減効果をさらに高めました。
総合的なコスト削減効果(月額)
インスタンスサイズの適正化による削減: 200USD
ストレージタイプの最適化による削減: 252USD
リザーブドインスタンスの活用による削減: 34USD
バックアップとスナップショットの最適化による削減: 4.75USD
合計削減額: 490.75USD
Amazon RDSのコスト削減は、インスタンスの見直しやストレージの最適化、長期的な利用を考慮したリザーブドインスタンスの活用など、いくつかの簡単な手順で達成可能です。
X(旧Twitter)・Facebookで定期的に情報発信しています!
Follow @acceluniverse