Question: I am using t2.large RDS instance, I want to downgrade to t2.micro to fit my current business. I have a few question to ask:
 - How can I downgrade RDS instance without losing data and downtime ?
 [![enter image description here](https://i.stack.imgur.com/JT8AK.png)](https://i.stack.imgur.com/JT8AK.png)
Thanks,

Answer: 
You can't really do it without downtime, but you could minimize the downtime.

The easiest option is to **Modify** the DB instance. This will result in downtime because a new database will be provisioned, the data will be relocated and the DNS name will be changed to point to the new instance.

Seeing that you believe a `t2.micro` will be sufficient for your database, it would be fair to assume that there would be times when your database is not in use so that you can perform the Modify operation. It should only take a few minutes.

Officially, the best way to modify a database without downtime is to use **Multi-AZ**, which can update one node while traffic is still being served by another node. However, your goal seems to be to reduce cost, rather than spending more to ensure uptime.

By the way, a `t2.micro` is quite limited in terms of CPU and network bandwidth. You are trying to save 21c per day, at the potential cost of having a poorly-responding database.
You can consider creating a read replica (t2.micro) of the master instance (t2.large). Once the read replica is in sync with the master instance, you can promote the read replica and then point the application towards the new master instance (which is the promoted read replica).

For reference, see:

* <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.ReadReplicas.html>
* <https://aws.amazon.com/blogs/aws/amazon-rds-for-mysql-promote-read-replica/>