- Newest
- Most votes
- Most comments
With Serverless v2, the hourly cost is somewhere like 12-20 cents per ACU per hour, depending on the AWS Region. You can check the price for each combination of AWS Region and Aurora database engine here: https://aws.amazon.com/rds/aurora/pricing/
Let's consider us-east-1, which (as of January 2024) is 12 cents per ACU per hour. The minimum for Serverless v2 is 0.5 ACUs, so 6 cents / hour. A typical month has 720 hours (30 days) or 744 (31 days). So if you set minimum capacity to 0.5 ACUs, leave the cluster idle, and nothing unexpected happens, best case is roughly $43-45 per month for instance charges. Plus whatever usage-based charges for storage, I/O, and there are some other optional features that could result in charges. (That's why you would go through the exercise with the pricing calculator.)
What could interfere with the best case? Turning on memory-consuming or CPU-consuming features could prevent the idle cluster from scaling down to 0.5 ACUs. Something like Performance Insights (minimum 2 ACUs) or global database (minimum 8 ACUs). Cleanup operations like PostgreSQL vacuum could run and cause scaling up when you think the database should be idle.
What actions could you take to make the best case even better? Do "stop cluster" overnight or other long periods when you don't need to use the database. If you need to add reader instances to the cluster to test out multi-AZ usage (read/write splitting etc.), delete the reader instances when they're not needed. Have cron jobs to run stop-db-cluster, modify-db-cluster, etc. to put things into a cheaper state during overnight periods if you forget to do it at the end of the day.
Your best bet is to use AWS Calculator # https://calculator.aws/#/ in order to estimate the operating cost with the services that you plan to use. Secondly using the Graviton2 instances would save a lot compared with other instances. I have listed some common instance types that you may start using and then change later based on your project workload. t4g : For dev/test workload m6g : For general purpose workload r6g : For memory optimized workload
Go with small storage initially and then you can scale it based on the need to optimize the cost.
Relevant content
- asked 2 years ago
- Accepted Answerasked 3 years ago
- asked 10 months ago
- Accepted Answerasked 8 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 4 months ago