Skip to content

Cost Model

This reference implementation targets near-zero idle cost. These are estimates for us-east-1 across three usage levels: idle, 1k queries/month, and 10k queries/month. Infracost prices the Terraform plan at each pull request, and covers far less of this table than that suggests. It prices fixed-price resources only. Bedrock appears in no plan at all, and Aurora Serverless v2, the largest infrastructure line item below, prices to zero because ACU consumption is usage-based. Treat the Infracost figure as a check on what the stack provisions rather than as an estimate of the bill.

The system runs in two AWS environments, QA and Prod (see RAG001), so the running total is roughly 2× a single environment. The table below is per environment; QA is paused more aggressively than Prod to hold the combined cost down.

ServiceIdle1k queries/month10k queries/monthNotes
Aurora Serverless v2 + pgvector~$0–3~$3–8~$10–200-ACU auto-pause; bills only while active. 10 GB storage ≈ $1
Lambda + API Gateway HTTP API~$0~$0~$0Within free tier at demo volume
S3 + CloudFront~$0.50~$1~$1–2CloudFront free tier covers demo traffic
Bedrock (Titan + Haiku-class)$0~$3.50~$35Titan embed: ~$0.01/1k queries; Haiku-class generation: ~$3.50/1k queries at ~2k input + ~300 output tokens each ($1/M input · $5/M output). See RAG007 for model alternatives at scale.
Secrets Manager~$0.40~$0.40~$0.40One secret
Observability (CloudWatch + X-Ray)~$0.10~$0.55~$1–3Free-tier logs + X-Ray; 1 alarm + 10 custom EMF metrics. See RAG008.
Per environment~$1–4~$8–13~$47–60Bedrock dominates at scale — ~$35 of the 10k column
QA + Prod combined~$2–8~$16–26~$94–1202× the displayed row above; QA paused harder than Prod, so treat it as a ceiling
  • NAT Gateway (~$32/mo + data): avoided by reaching Aurora via the RDS Data API instead of putting the Lambda in a VPC.
  • VPC endpoints (PrivateLink): if Lambda were inside the VPC, Bedrock and Secrets Manager would need PrivateLink endpoints to remain reachable — ~$7.30/endpoint/month per AZ, or ~$14.60/month per service across two AZs. At two services that is $29/month, comparable to a NAT Gateway with none of the simplicity benefit.
  • OpenSearch Serverless (~$700/mo floor): pgvector covers the demo’s scale at a fraction of the cost.
  • Always-on RDS instance: Aurora Serverless v2 auto-pause bills only while active.

The Infracost diff on each PR makes one narrow class of cost change visible before merge: adding a fixed-price resource, a NAT Gateway or a PrivateLink endpoint being the ones this design has reason to avoid. Usage-driven spend is outside it, which here means Bedrock and Aurora both. What bounds those is preventive: RAG009’s per-key lifetime request quota and the Lambda concurrency limit (risks.md R2).