AWS Neptune cost: provisioned instances vs Serverless, plus I/O
Neptune charges per instance hour (or per NCU on Serverless), $0.10 per GB-month of storage, and $0.20 per million I/O. Serverless scales to your load; provisioned is cheaper when load is steady. Here is how to choose and control the bill.
Quick answer
Neptune bills per instance hour when provisioned or per Neptune Capacity Unit (NCU) hour when Serverless, plus $0.10 per GB-month storage and $0.20 per million I/O. Serverless suits spiky or unpredictable graph workloads; provisioned is cheaper for steady load. As with any Aurora-style engine, I/O scales with query patterns.
Neptune is a graph database with the Aurora billing shape: compute, storage, and I/O. The first decision is provisioned instances versus Serverless, and it is the same steady-versus-spiky tradeoff you make everywhere else in AWS.
Provisioned vs Serverless
Provisioned instances cost a fixed hourly rate per node regardless of load, which is cheapest when your graph traffic is steady and predictable. Neptune Serverless bills per NCU-hour and scales capacity up and down with demand, which wins when load is spiky, unpredictable, or often idle, since you stop paying for a large idle instance. The crossover is the same logic as other serverless-versus-provisioned database choices: steady load favors provisioned, variable load favors serverless.
Storage and I/O
| Dimension | Rate (approximate) |
|---|---|
| Provisioned instance | Per node hour, by class |
| Serverless | Per NCU-hour |
| Storage | ~$0.10 / GB-month |
| I/O | ~$0.20 / million requests |
I/O follows your traversals
Graph queries that traverse many hops or scan large portions of the graph generate more I/O. Well-modeled graphs and selective queries keep I/O down, while unbounded traversals drive it up. Review expensive traversals before assuming you need a bigger instance.
Controlling the bill
Pick Serverless for intermittent or bursty workloads and set a sensible maximum NCU so a runaway query cannot scale cost without bound. For steady production load, size a provisioned instance to peak and add read replicas only for scaling or availability. Stop non-production clusters off-hours, the same habit as the reduce-your-cloud-bill checklist.
FAQ
How is Neptune priced?
Per instance hour when provisioned or per Neptune Capacity Unit (NCU) hour when Serverless, plus storage at about $0.10 per GB-month and I/O at about $0.20 per million requests. Storage and I/O follow the Aurora billing model.
Is Neptune Serverless cheaper than provisioned?
For spiky, unpredictable, or often-idle workloads, yes, because it scales capacity to demand and you stop paying for a large idle instance. For steady, predictable load a provisioned instance is usually cheaper. Match the mode to your traffic shape.
What drives Neptune I/O cost?
Query traversals. Queries that walk many hops or scan large portions of the graph generate more I/O, while selective queries on a well-modeled graph keep it low. Review expensive traversals before scaling up compute.
How do I cap Neptune Serverless cost?
Set a maximum NCU limit so a runaway or expensive query cannot scale capacity, and therefore cost, without bound. Combine that ceiling with query review so the workload stays within a predictable range.
How do I reduce Neptune cost overall?
Choose the right mode for your traffic, size provisioned instances to peak, add replicas only when needed, cap Serverless NCU, and stop non-production clusters off-hours. Optimize expensive traversals rather than adding compute.
Does C3X estimate Neptune cost?
C3X prices aws_neptune_cluster and its instances from your Terraform so compute and storage appear before deploy. I/O and Serverless scaling depend on query load, which you provide as a usage assumption.
What to do next
Price your graph database before deploy. C3X reads your Terraform and prices Neptune and the rest of your stack against a live catalog. Try the quickstart.
Pricing references
Related posts
- Azure SQL serverless cost: when auto-pause beats provisioned
Azure SQL Database serverless bills compute per second and pauses when idle, which can slash the bill for intermittent workloads but cost more for steady ones. Here is where serverless wins and where provisioned vCore is cheaper.
- Serverless database vs provisioned cost: pay per use or reserve capacity?
Serverless databases scale capacity automatically and bill per use, costing nothing when idle; provisioned databases reserve fixed capacity at a flat rate. The crossover is utilization, and it decides which is cheaper. Here is the math with numbers.
- AWS Keyspaces cost: serverless Cassandra billed per request and GB
Keyspaces (managed Cassandra) bills read and write request units, storage per GB-month, and optional features, with on-demand and provisioned capacity modes. It scales to zero with no clusters to manage. Here is how it prices versus self-managed Cassandra.
- Serverless database idle cost: what you pay to do nothing
Serverless databases promise you pay only for what you use, but most of them have a floor. Understanding the minimum capacity charge is the difference between a $5 development database and a $44 one.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.