Amazon GuardDuty Pricing: Nine Data Sources, One Compounding Bill
Quick summary: GuardDuty bills across nine separate data sources — CloudTrail management events at $4/M tiered down, VPC Flow Logs at $1/GB tiered, EKS Runtime Monitoring per vCPU-hour, plus S3, DNS, Lambda, RDS, and Malware Protection. The 30-day free trial regularly hides the true production bill, and organization-wide auto-enable turns every new account into a billing line.
Key Takeaways
- The 30-day free trial regularly hides the true production bill, and organization-wide auto-enable turns every new account into a billing line
- astro'; Amazon GuardDuty looks like a single security service with a single subscription fee
- The 30-day free trial — enabled per data source per account — routinely understates the true production bill by a wide margin
- 5B' }, { value: '$0
- 008', label: 'Runtime Monitoring / vCPU-hr', note: 'Scales with every EKS/ECS/EC2 node' }, ]} caption="us-east-1 list prices, June 2026
Table of Contents
Amazon GuardDuty looks like a single security service with a single subscription fee. It is actually a portfolio of nine independent threat-detection data sources, each metered separately and most billed at tiered per-unit rates that drop with volume but compound across data sources and across the accounts in your AWS Organization. The 30-day free trial — enabled per data source per account — routinely understates the true production bill by a wide margin.
This post is the bill story. For threat-detection architecture, finding triage, and the operational integration with Security Hub and incident response, see our GuardDuty threat detection production guide.
The Nine GuardDuty Data Sources
GuardDuty pricing breakdown — us-east-1, June 2026
Prices in us-east-1
Each data source is metered independently. The tiered rates drop with volume but compound across sources and accounts.
| Dimension | Unit price | Example workload | Monthly cost |
|---|---|---|---|
| CloudTrail management events Free first 500M, $2/M next 2B, $1/M after | $4/M → $2/M → $1/M tiered | 2B events / month | ~$5,000 |
| VPC Flow Logs Tiered at 500 GB and 2.5 TB | $1/GB → $0.50/GB → $0.25/GB | 500 GB / month | $500 |
| DNS Logs No separate per-GB charge | Bundled with VPC Flow tier | DNS query analysis | In the Flow Logs tier |
| S3 Protection Per-account-region S3 data events analyzed | $0.80/M → $0.40/M → $0.20/M S3 events | 100M S3 events / month | ~$80 |
| EKS Audit Log Monitoring Analyzes Kubernetes audit log | $0.50/GB | 200 GB EKS audit / month | $100 |
| EKS Runtime Monitoring Per-node agent; expensive on large clusters | ~$0.008 / vCPU-hour | 200-node × 8 vCPU cluster | ~$9,200 |
| ECS Runtime Monitoring (Fargate) Per-task; auto-enabled with Runtime Monitoring | ~$0.008 / vCPU-hour | 500 Fargate tasks × 2 vCPU | ~$2,900 |
| EC2 Runtime Monitoring Agent-based; opt-in per instance | ~$0.008 / vCPU-hour | 50 instances × 8 vCPU | ~$2,300 |
| Lambda Protection Analyzes Lambda invocation network activity | Per invocation analyzed | 50M invocations / month | Tiered low |
| RDS Protection Detects login anomalies and access patterns | Per RDS instance / month | 20 RDS instances | Variable |
| Malware Protection for S3 Per upload; configurable per-bucket | $0.30 / GB scanned | 1 TB uploaded / month | $300 |
| Malware Protection for EC2 On-demand or auto-triggered EBS scans | $0.45 / GB scanned | 500 GB on-demand scans | $225 |
CloudTrail management events
~$5,000Free first 500M, $2/M next 2B, $1/M after
- Unit price
- $4/M → $2/M → $1/M tiered
- Example workload
- 2B events / month
VPC Flow Logs
$500Tiered at 500 GB and 2.5 TB
- Unit price
- $1/GB → $0.50/GB → $0.25/GB
- Example workload
- 500 GB / month
DNS Logs
In the Flow Logs tierNo separate per-GB charge
- Unit price
- Bundled with VPC Flow tier
- Example workload
- DNS query analysis
S3 Protection
~$80Per-account-region S3 data events analyzed
- Unit price
- $0.80/M → $0.40/M → $0.20/M S3 events
- Example workload
- 100M S3 events / month
EKS Audit Log Monitoring
$100Analyzes Kubernetes audit log
- Unit price
- $0.50/GB
- Example workload
- 200 GB EKS audit / month
EKS Runtime Monitoring
~$9,200Per-node agent; expensive on large clusters
- Unit price
- ~$0.008 / vCPU-hour
- Example workload
- 200-node × 8 vCPU cluster
ECS Runtime Monitoring (Fargate)
~$2,900Per-task; auto-enabled with Runtime Monitoring
- Unit price
- ~$0.008 / vCPU-hour
- Example workload
- 500 Fargate tasks × 2 vCPU
EC2 Runtime Monitoring
~$2,300Agent-based; opt-in per instance
- Unit price
- ~$0.008 / vCPU-hour
- Example workload
- 50 instances × 8 vCPU
Lambda Protection
Tiered lowAnalyzes Lambda invocation network activity
- Unit price
- Per invocation analyzed
- Example workload
- 50M invocations / month
RDS Protection
VariableDetects login anomalies and access patterns
- Unit price
- Per RDS instance / month
- Example workload
- 20 RDS instances
Malware Protection for S3
$300Per upload; configurable per-bucket
- Unit price
- $0.30 / GB scanned
- Example workload
- 1 TB uploaded / month
Malware Protection for EC2
$225On-demand or auto-triggered EBS scans
- Unit price
- $0.45 / GB scanned
- Example workload
- 500 GB on-demand scans
Tiered pricing means the first units of usage in each data source bill at the high tier. Volume helps; small accounts pay the high tier on everything.
The Free Trial Trap
GuardDuty’s free trial is generous and counterintuitive: 30 days per data source per account, free of any data-volume cost. Enable everything on day one and validate the operational integration during the trial.
The trap: the bill projection in the GuardDuty console (which estimates the per-month cost based on the data volumes observed during the trial) is the only signal of what the production bill will look like. Teams that don’t check it before the trial expires get the full bill at day 31 with no warning.
Runtime Monitoring: The Per-vCPU-Hour Multiplier
EKS Runtime Monitoring (and the equivalent for ECS Fargate and EC2) is the most expensive data source on most container-heavy bills. The rate is ~$0.008/vCPU-hour, which sounds small until you compute it across a real cluster:
- 200-node EKS cluster, each node 8 vCPU = 1,600 vCPU
- 1,600 vCPU × 730 hours/month × $0.008 = $9,344/month
That is for a single production cluster. Multi-cluster, multi-region, multi-account deployments compound the line.
The mitigations:
- Production-only. Skip Runtime Monitoring on dev, staging, and ephemeral CI clusters. The runtime threat detection value does not justify the per-vCPU rate in these environments.
- Public-facing workloads only. Enable Runtime Monitoring on internet-facing workloads where the attack surface is largest; skip on internal back-office services.
- Spot-instance-friendly sizing. Right-size nodes to reduce vCPU footprint; Runtime Monitoring bills on actual vCPU running, not provisioned vCPU.
CloudTrail Management Events: The Multi-Account Multiplier
CloudTrail management events are GuardDuty’s most consistent line item — every API call analyzed regardless of source. The pricing is tiered:
- First 500M events: $4/M
- Next 2B events (500M–2.5B): $2/M
- Above 2.5B events: $1/M
At organization scale, the tier-down helps but the absolute bill remains substantial. An organization with 200 accounts, each generating 50M management events/month, hits 10B events — $11K/month from the CloudTrail data source alone in GuardDuty (separate from CloudTrail’s own bill).
The mitigation: tier-down planning. The first tier ($4/M) on a per-account basis is where small accounts spend disproportionately. Consider consolidating low-traffic accounts via centralized observability or accepting that the per-account fixed-cost portion is the price of security parity.
VPC Flow Logs: GB-Tiered, Network-Dependent
VPC Flow Logs analysis bills per GB at tiered rates ($1/GB, $0.50/GB, $0.25/GB). The cost driver is network traffic volume — busy multi-AZ deployments with heavy inter-service traffic generate substantial flow log volume.
The tier-down at 500 GB helps; the tier-down at 2.5 TB helps more. The waste pattern: enabling Flow Log analysis on every VPC including idle test/dev VPCs that generate hundreds of GB of meaningless traffic from health checks and idle service polling.
When to Enable Each Data Source
CloudTrail and VPC Flow on every account always; Runtime Monitoring on production only; S3 Protection on data-bearing buckets; RDS Protection on production databases.
Use when
- CloudTrail management events: every account in every region — non-negotiable baseline security
- VPC Flow Logs analysis: production and security-sensitive accounts — the core network threat detection layer
- EKS/ECS/EC2 Runtime Monitoring: production clusters where runtime threat detection is a compliance or operational requirement
- S3 Protection: buckets storing sensitive data, customer uploads, audit logs
- Malware Protection for S3: buckets receiving user-uploaded content (uploads, attachments, etc.)
- RDS Protection: production databases with sensitive workloads
- Lambda Protection: serverless workloads handling sensitive data or processing untrusted input
Avoid when
- Runtime Monitoring on dev / staging / CI / ephemeral clusters — pure cost without commensurate security value
- VPC Flow Logs analysis on idle test VPCs generating noise from health checks
- S3 Protection on every bucket — scope to data-bearing buckets only
- Malware Protection for EC2 on demand without a defined trigger criterion — expensive on-demand scans
- Multi-region GuardDuty in DR-standby regions where workloads are idle — security value is minimal at full cost
Default to enabling CloudTrail + VPC Flow + DNS on every account-region; scope the expensive data sources (Runtime Monitoring, Malware Protection) to production with documented justification.
A 30-Day GuardDuty Bill Cleanup Plan
Week 1 — Audit per-data-source cost. Use the GuardDuty console’s Usage page to break down the bill by data source per account-region. Identify the top 3 cost drivers across the organization.
Week 2 — Scope Runtime Monitoring. Identify EKS/ECS/EC2 Runtime Monitoring enabled on non-production clusters. Disable on dev/staging/CI. Document the security trade-off and confirm with the security team.
Week 3 — Audit S3 Protection and Malware Protection scope. List buckets currently in scope. Remove buckets that don’t hold sensitive or user-uploaded content. For Malware Protection for EC2, audit on-demand scan triggers.
Week 4 — Multi-account housekeeping. Verify that newly-created accounts are being auto-enabled (security posture) and that the cost projection per new account is tracked in FinOps reporting. Plan capacity for projected account growth.
What This Post Doesn’t Cover
- Detective Investigation pricing (the deeper-dive investigation tool) — separate product with separate per-investigation billing; covered in our security operations content.
- Security Hub aggregation cost — Security Hub bills per security check; covered in a separate post.
- Comparison with third-party CNAPP / CWPP tools (Wiz, Orca, Lacework) — different pricing models, different operational profiles.
- Pre-GA GuardDuty features like Extended Threat Detection — pricing not yet stable; verify before enabling in production.
If You Only Do One Thing This Week
Check the GuardDuty Usage page in your highest-spend account and identify which data sources contribute the most to that account’s bill. Run aws guardduty get-usage-statistics --detector-id <id> --usage-statistic-type SUM_BY_DATA_SOURCE --usage-criteria '{"AccountIds":["<account>"]}' to get the per-data-source breakdown programmatically. The number-one cost driver in 80%+ of accounts is either EKS Runtime Monitoring (container-heavy workloads) or CloudTrail management events (API-velocity workloads); identifying which lets you scope the next optimization round.
For the operational architecture — multi-account detector configuration, finding triage, Security Hub integration — the GuardDuty production guide covers the design side.
AWS Cloud Architect & AI Expert
AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.