We have web app and DB installed on the same EC2 instance. The os is Windows. We want to save costs and was thinking of going with spot instances but would consider RI and saving plans. Some of the application data is stored in the os registry (I know it is not the best approach, but this is the situation till we'll get next version).
What is the best way to launch the app with the DB on a spot instance and to make sure it remains the data in case the instance is taken ?
You're looking in the wrong place to try to save money. Spot is for stateless and fault-tolerant workloads, your app is not stateless as the DB lives on the same single instance.