Is there any way to suspend Neptune? I want to continue experimenting with it, but I'm facing hundreds of dollars per month while my instances are mostly idle. Ideally, I'd like to be able to wind down the cluster when I'm not using it, then boot back up later with the same endpoints and settings.
3 Answers
There are two immediate things you can do to lower your bill
Neptune supports scaling of the instance. You can modify your instance from the bigger instance (say db.r4.4xlarge) to smaller instance (say db.r4.large) from Neptune Console. This won't change the name, endpoint, and other setting but will cost you very little money. And you will have an option to scale up in future if you need to. https://docs.aws.amazon.com/neptune/latest/userguide/Overview.DBInstance.Modifying.html
You can take a snapshot of your data now and restore later. In this approach, you can delete the instance after taking a snapshot. This way you don't have to pay anything once you delete the instance and cluster. There could be s3 charges for the snapshot but that is very low as compared to a running database instance. Follow the Neptune's documentation here https://docs.aws.amazon.com/neptune/latest/userguide/CHAP_CommonTasks.BackupRestore.html
I had the same situation when the Neptune launched newly by AWS. We created a cloudformation stack which we deploy every-time when we want to test something on neptune and tear it down once testing is done and using this we saved lot of money. Also, spinning the entire netpune stack with same configuration and tearing down using the cloudformation stack is really easy instead of creating it manually on AWS console. Also, for the dataset to load for testing you can take the snapshot as suggested in above answer.
You can start/stop cluster from the console or CLI.
aws neptune stop-db-cluster --db-cluster-identifier mydbcluster
aws neptune start-db-cluster --db-cluster-identifier mydbcluster
See https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-stop-start.html for details.