RDSの料金がべらぼうに高額になっていたので、開発環境のDBをServerless v2 に移行することになりました。
db.r6g.large
で1ヶ月起動した状態で228.3648USD(今のレートで31,632.41円!!!)
インスタンスの種類をメモリ最適化インスタンス(db.r6g.large
)からServerless v2に、データベースの内容はそのままに、インスタンスの種類のみを移行していきます。
天下のクラメソさんが既に記事を公開されていました。この手順で可能でした(焼き増しスミマセン)
簡単な流れ
リードレプリカをServerless v2で作る。
開発用なので、控えめのACUで作ってます。
既存のライターインスタンスをフェイルオーバーする。
フェイルオーバー中
フェイルオーバーが完了し、Serverless v2インスタンスがライターインスタンスに変わりました。
application-autoscaling-***
というインスタンスもできています。これは処理が落ち着けばスケールダウンして削除されます。
ACUの増減を見る方法
CloudWatchのServerlessDatabaseCapacity
メトリクスで見ることができます。
展開時のみ上がってますが、すぐに最小値の0.5に落ち着きました。
どれぐらい安くなるのか試算
スケールダウン中の時間は面倒なのでガバ計算です。
条件
- 8時間(業務時間)=1ACU(2GB)
- 16時間(それ以外の時間)=0.5ACU(1GB)
- 3分×1=スケールダウンタイム
計算式
(0.20 USD/ACU 時間 × 1 ACU × 8 時間) + (0.20 USD/ACU 時間 × 1 ACU × 3/60時間) + (0.20 USD/ACU時間 × 0.5ACU × 16 時間)
=3.21USD/日
月額97.584USDぐらいですね。弊社の場合、業務時間中の8時間ずっと1ACUということはあまりないと思います。
なので、だいたい1/3までカット!(予定)
やったね!