Explanation
Why the waste happens and who it affects.
However, in many environments, services are misconfigured or hardcoded to send all traffic - including reads-to the writer node. This results in underutilized reader nodes that still incur full hourly charges, while the writer node becomes a performance bottleneck and may require upsizing to handle unnecessary load. This inefficiency reduces cost-effectiveness and resilience, especially in high-throughput or scalable architectures.
Billing model
The pricing dimensions that drive this cost.
Per-instance hourly cost for each provisioned writer and reader node
How to detect
5 checks to find it in your estate.
- Review whether the resource has been actively used over a representative time period
- Compare the volume of read traffic across reader nodes vs. the writer node
- Identify services that are hardcoded to target the writer node for both read and write operations
- Evaluate whether the presence of reader nodes is necessary if they are consistently underutilized
- Assess application architectures for abstraction layers or configuration patterns that bypass proper routing to readers
How to fix
4 ways to remove the waste.
- Refactor application logic or database client configurations to route read traffic to reader endpoints
- Introduce or enhance query routing layers (e.g., using database drivers with read/write splitting support)
- Remove or downsize reader nodes if there is no realistic path to utilizing them efficiently, after confirming they are not needed for availability: Aurora promotes a reader if the writer fails, and an RDS Multi-AZ DB cluster always has two reader instances that act as failover targets
- Monitor reader vs. writer utilization continuously to ensure traffic is appropriately distributed
Documentation
Vendor references for pricing and configuration.