By using AWS re:Post, you agree to the Terms of Use

Are RDS reserved instances upgradable to a higher version of the same family?


We have a db.m5.large RDS instance for which we have a reserved instance that is going to expire after 4 months. We upgraded our instance to db.m5.xlarge recently due to high CPU usage. Currently, our new instance is running on On-demand pricing, while our reserved instance is getting wasted. Is my understanding correct? Can we upgrade our reserved instance to this level also?

4 Answers

Reserved Instances discount is getting applied automatically, you don't need to modify or change anything (and, there's also no functionality to modify RDS RI). In case with RDS, as mentioned in the previous response, only certain DB platforms are size-flexible, and if you run MySQL, then your MySQL RIs are also size-flexible. It means that regardless of the size of your actual running DB instance, the RI discount will still apply. For example:

  • If you have one db.m5.large RI, and you run one db.m5.large instance (assuming that all the attributes match), then the discount will apply exactly as it is
  • If you still keep your db.m5.large RI, but you increase the size of your DB instance to db.m5.xlarge - then the RI will only cover 50% of your running instance. The remaining 50% (each hour) will be charged on-demand.

If your RI was larger than your running instance, in that case 50% of your RI would not be utilized (lost discount). See more info in the docs: (I know it's documentation for EC2, but in terms of applying RI discount and size flexibility, it works the same).

profile picture
answered 4 months ago

RDS does have instance size flexibility on Reservations but not for all engines - just for for MySQL, MariaDB, PostgreSQL, Amazon Aurora and BYO-license Oracle I believe. What engine are you using?

answered 5 months ago

Thanks for the reply. We are using mysql 5.7.33 version. I am not able to see any option to modify the reserved instance. Can you guide me on that?

answered 5 months ago

You shouldn't have to do anything - the reservation for db.m5.large should automatically cover 50% of the db.m5.xlarge instance if it hasn't been applied elaewhere in your accounts. That's assuming all other aspects of the reservation still match:

  • DB Engine
  • DB Instance Class
  • Deployment Type
  • License Model
  • Region.
answered 5 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions