If you run a Node API and an RDS Postgres database on AWS, your request chart shows how much traffic the API handled. Now suppose your monthly bill goes up while the API handles about as many requests as it did the previous month. A database resize, more backup storage, or an expiring credit could explain the increase without leaving a trace on the traffic chart.
Compare equal periods in the same AWS cost view. Once you find the service with the largest increase, narrow the search to the kind of usage AWS billed and the resource that used it. That gives you something specific to check before deciding whether to change the setup.
Compare the same periods and cost measure
For a worked example, call the app Parcel. Its engineer starts with daily totals for equal periods. Comparing a full month with a partly billed month can hide an increase or make the timing of a regular charge look unusual. Record the dates and check whether both periods are complete enough to answer your question. The figures below are hypothetical.
Keep the cost measure the same too. Cost Explorer offers unblended and amortized views. Amortized cost spreads upfront and monthly reservation fees across the billing period, which can change how a spike appears. Look at credits and refunds separately when you want to understand usage beneath the amount paid. AWS cost view options
If usage stayed steady and a credit ended, changing the app's size would address a different problem. Save the dates, measure, and filters so the team can repeat the comparison.
Find the line with the largest change
In Cost Explorer, group both periods by service to see where the total changed most. Then narrow by usage type and Region to see what kind of work AWS billed and where it ran. AWS Cost Explorer
Here is Parcel's simplified comparison. It leaves out other bill items so the method is easy to follow.
| Item | Earlier period | Later period | Change |
|---|---|---|---|
| API compute | $40 | $40 | $0 |
| Database compute | $60 | $90 | +$30 |
| Backup storage | $8 | $18 | +$10 |
| Total shown | $108 | $148 | +$40 |
The API compute charge stayed at $40 in this example. The database compute and backup storage rows account for the full $40 increase shown, so those are the two places Parcel's engineer checks next.
Record usage units alongside the cost. If the amount went up while the number of units stayed the same, check for a new rate, a change to a discount, or another billing adjustment before changing the resource.
Trace the database increase to a change
Parcel's engineer checks which database resources ran during the billed period and whether their settings changed. The increase could come from a resize, an instance left running after a test, or an old environment the team no longer uses.
Suppose the owner confirms that the main database was made larger to help a weekly import. Check when that happened and whether the cost change fits the timing. Also look at the job's performance and database load. The larger size may be doing useful work even though web request counts stayed flat.
If the import no longer needs the larger instance, use the host's normal resize process. First check whether the change could cause downtime and whether the smaller instance can handle the work Parcel still needs to do.
If no configuration changed, look at other work that requests do not capture. Batch imports, reports, and maintenance can use database resources without adding browser visits. Ask the owner what ran during the period rather than guessing from one graph.
Review backup growth against the recovery plan
Parcel's second increase is backup storage. On RDS, automated backups and manual snapshots contribute to that storage. Manual snapshots remain until deleted, so a snapshot taken before a migration can outlive the test it protected. RDS backup behavior
List the copies that contribute to billed storage and identify their owners. Check whether the team kept copies for longer or whether normal database changes added to the amount stored. Use the provider's storage and allowance rules to estimate the charge, since the size of the live database times the number of days may differ from the amount the provider stores.
Before deleting a copy, ask what recovery need it serves. Parcel may need to reach back several days because a bad cleanup job can take that long to notice. Removing older backups to lower the bill could leave that case uncovered.
Keep necessary copies and remove expired ones through the normal review process. Give each extra copy an owner so the same forgotten snapshot does not become a mystery next month.
Connect every useful finding to an owner
Tags can connect a cost to an app, environment, or team. AWS requires cost allocation tags to be activated for billing reports. Check tag coverage for the period under review as well as the tag names. Untagged resources can leave part of the bill outside an app view. AWS cost allocation tags
For each increase, save the billing line, resource, owner, cause, and action in a short note. If Parcel's team still has to confirm the cause, record the missing evidence before anyone acts on the finding.
After making a change, compare a suitable later period using the same measure and filters. Watch app performance too. You need to know whether cost moved as expected and whether customers can still complete their work.
Compare a platform using the same workload
A managed platform changes which work it includes and which usage it bills for. Compare the same capacity, recovery needs, and support needs. Include any AWS or outside services that would stay in use.
Keep provider charges separate from engineering time. Parcel can record the hours spent finding owners, maintaining the setup, and reviewing bills without turning those estimates into an invoice claim. That gives the team a clearer view of the work each option leaves with it.
Forte includes request records, application logs, managed ingress, and data transfer without separate add-on fees. The total still depends on the separately billed usage for backend Services, builds, and managed databases. Forte pricing and quotas
For Parcel, list the Service size, provisioned instance count, active compute, builds, and database tier. You pay for the Service memory kept ready, even while requests are quiet. On dedicated Postgres, include backup storage above the allowance and check the retention plan. Dedicated access is in closed alpha; shared Postgres is open beta. Forte database pricing
Use the pricing guide to price those actual units. Keep the dated AWS comparison beside the estimate, then use the cloud-cost breakdown to include the operating work around them. The next review can then start from a known cause and a clear set of assumptions.