I have a project that sends notifications to various services. Users manage their subscriptions 24 hours a day, but we need a stronger MySQL RDS instance during the week (t3.xlarge), specifically Tue-Thu because that's when most of our notifications end up going out.
To keep costs low (we already used reserved instances), my thinking is to operate a t3.medium from Fri-Mon and perform instance size changes on an automated schedule (downgrade on Fri and upgrade on Mon). This would bring us closer to the "pay what we need, when we need it". I see Amazon has an Instance Scheduler tool but it looks like it's mostly for stop/start commands, and less about upgrades.
Is a simple CLI script running on a schedule the best way to accomplish this, or are there more official/better ways to achieve this?
Further research has shown me that Aurora has serverless which has autoscaling built in. However my application runs on MySQL v8 and Aurora is only compatible with MySQL v5.7 atm.