awsneptunedatabasecost-optimization

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.

The C3X Team··5 min read

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

DimensionRate (approximate)
Provisioned instancePer node hour, by class
ServerlessPer 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.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.