Amazon permits users to start and stop RDS instances to save costs when those instances are not in use.
Stopping RDS instances when they are not in use can help companies reduce their cloud costs. RDS instances may need to remain on, but typically staging and development is not a 24/7 process. It therefore makes sense to turn off RDS instances overnight, at weekends, on public holidays, and during the working week when they are not needed.
However, not all RDS instances can be switched off and turned back on. Amazon does not permit users to stop RDS instances if there are read-replicas or if RDS instances are Multi-AZ. Fortunately, that does not mean that companies need to continue to pay for those RDS instances when they are not being used. Skeddly has developed a workaround that allows organizations to get around these restrictions and further reduce their cloud bills.
So if read-replicas exist on RDS instances or they are Multi-AZ, how can Skeddly start and stop these instances if it is not permitted by Amazon?
The answer is to scan for read-replicas and delete them, and to switch Multi-AZ to single-AZ. Once those tasks have been performed, RDS instances can then be stopped when they are not needed. Of course, there is a purpose to having read-replicas and Multi-AZ, so the deletion of replicas and the conversion to single-AZ is only temporary. When RDS is restarted, the read-replicas are recreated and single-AZ will be converted back to Multi-AZ.
These options have now been included in an enhanced Stop Instances action, with users able to configure the platform to fully stop entire RDS clusters as required. There is now an option to Change Multi-AZ to Single-AZ and to delete read-replicas and also to delete and recreate replicas. The former can be used if RDS instances do not need to be restarted, with the latter used when RDS instances will be required again.