はじめに
こんにちは、社畜Sです。
私のターンが回ってくるまでの1カ月の間に私はDB関連の業務に携わることになり、それに備えて情報収集を行っていました。
その中で、RDSのコスト削減手法についてまとめる機会がありましたので、メモ書きがてら調査結果を皆さんに共有しようと思います。
素人調査ということで、間違えている点もあるかもしれませんが、その際はコメントで指摘していただけると助かります
①インスタンスタイプを見直す
実際の運用状況に合わせてインスタンスタイプを変更することでコストを最適化できる。
ただ費用を優先しすぎてインスタンスサイズを小さくしすぎると運用上のパフォーマンスにも影響が出るので、 「Performance Insight」 などのツールを利用してデータベース全体のパフォーマンスを把握し、適切なインスタンスタイプを選択するのが大事
- 〇メリット
- ・オーバースペックな部分をなくす事で、その分のコストが削減できる
- 〇デメリット
- ・費用を優先しすぎるとパフォーマンスに影響を及ぼす可能性がある
- ↳「Performance Insight」などのサービスで現状のパフォーマンスを分析して適切なインスタンスタイプを設定する必要がある
②オンデマンドインスタンスからリザーブドインスタンスへ変更する
「リザーブドインスタンス」 はインスタンスを1年、もしくは3年で予約契約することで通常の利用料金より安価で利用できるサービスのこと
支払い方法には「前払いなし」、「一部前払い」、「全額前払い」があり、 3年契約の全額前払い がもっとも削減率が高くなる
インスタンスタイプなどの設定でまた変わってくるが、大体20%~60%のコストカットが見込める
ただ途中で解約ができないことや、事前にある程度スペックを固定してしまうことから運用の柔軟性に欠ける部分もある。
有効に使うことができれば大幅なコスト削減が見込めるので、該当インスタンスの長期的な利用計画を確認し、検討することが大事!
後から適用することも可能らしいので、ある程度運用方針が安定してから適用するのも
③使わないインスタンスを閉じる
起動しておくだけで勝手にコストが発生してしまうので、テストや開発環境など、本番環境以外のインスタンスは使わないときにちゃんと閉じておく
ただしRDSインスタンスは停止しても 7日間で自動的に起動する ので、忘れないようにEventBridgeなどで自動停止する仕組みを作る必要はあるかも
また、インスタンスを停止していてもストレージ料金は発生してしまうようなので、検証用、開発用でも最低限の設定にすることを心掛けたい
削除しておけば料金は発生しないので、再起動するめどがないなら削除しておくのが(必要ならスナップショットも取っておく)
まとめ
というわけで、今回はRDSのコスト削減についての調査結果をまとめてみました。
この記事が初めて軽量化について調べる誰かの助けになれたなら嬉しいです。
私もわからないことはまだまだたくさんあるので、引き続き調査を進めていこうと思います。