AWS dropped managed dashboards under Billing and Cost Management without much noise, along with a scheduled reports feature that emails a password-protected PDF of your cost data on whatever cadence you want. I set aside an afternoon to poke through both in a sandbox account. Here's what I found.
Under Billing and Cost Management → Dashboards, there's now a Managed
tab sitting next to your custom dashboards, and every dashboard — managed or custom — can
be scheduled to email itself out as a password-protected PDF on a daily, weekly, or monthly cadence.
Honestly, this is the reporting layer AWS should have shipped years ago.
Key Highlights
The Dashboards landing page announces the headline feature right when you open it — a blue banner calling out scheduled email delivery of password-protected PDF cost reports, sitting above the full list of dashboards.
The Dashboards landing page: the Introducing Scheduled Email Reports banner, and the full six-dashboard list
Five prebuilt dashboards ship out of the box under the Managed tab, and you can't edit the widget layout on these — they're locked, which is the point. No more rebuilding the same "cost by service, cost by account, cost by region" view every time you spin up a new account.
Each widget on a managed dashboard links straight back to the underlying tool — "View in Cost Explorer," "View in Reserved Instances Coverage report," "View in Budgets," "View in Cost Optimization Hub." So they're not a dead end; they're a jumping-off point. If a chart makes you curious, one click drops you into the full report with filters intact.
This is the default landing dashboard, and it packs the most widgets: forecasted cost with a prediction interval, budget health, and cost broken out by region, API operation, linked account, and charge type.
Total Current And Forecasted Cost, with an 80 percent prediction interval, next to Committed vs Flexible Spend
Budget Health tracking a $5 Monthly Cost budget — $0 used, $0.98 forecasted, status Healthy
Cost By Region and Cost By API Operation
Cost By Linked Account and Cost By Charge Type, split into Usage, Tax, Credit, and Other
Cost By Top Spending Services, next to the Overall Cost Efficiency widget mid-failure
This one's the most immediately useful if you're doing FinOps work day to day. It pairs cost-per-service (EC2, ECS, EKS, Lambda, ECR) against a Committed vs Flexible Compute Spend chart, so you can eyeball your on-demand exposure without pulling a Cost Explorer report first.
Compute dashboard: Cost Per Compute Service and Committed vs Flexible Compute Spend
Reservations dashboard: EC2 Reservation Coverage, broken down by instance type, platform, tenancy, and region
Beyond the five managed dashboards, the widget picker itself got a refresh. Building a custom dashboard
starts from an empty canvas with an Add widget dropdown, split into
Predefined widgets (Monthly costs by service, Monthly costs by linked account, Monthly
EC2 running hours, Daily costs, and more) and a Custom widget search panel where you
configure your own (Cost, Usage, Savings Plans utilization, Savings Plans coverage).
Custom widget search panel: Cost, Usage, Savings Plans utilization, Savings Plans coverage
Predefined widget picker on a blank New dashboard, 0 of 20 widgets used
Each widget you add gets its own Edit widget parameters panel — date range, granularity (daily/monthly), Group by dimension, and filters, all scoped per-widget rather than forcing one global config across the whole dashboard. That's the same filtering depth Cost Explorer gives you, just embedded directly into the widget instead of a separate report.
Edit widget parameters: date range, granularity, group by dimension, and applied filters
Export PDF dialog on an empty dashboard: No widgets found in this dashboard
The bigger deal isn't the dashboards themselves — it's that you can now schedule any dashboard (full or a subset of widgets) to be exported as a PDF and emailed to a recipient list automatically. This lives under each dashboard's export flow and is backed by AWS User Notifications as the delivery mechanism.
The one-off Export PDF preview dialog, before you get to scheduling
Create report details: dashboard selected, report name, and Full dashboard vs Single widget scope
MonthlyCostReport) so it's reusable across other scheduled reports later.Select recipients: choosing from existing AWS User Notifications configurations
Entering a brand new email address and naming the notification MonthlyCostReport
Configure report scheduling: Monthly frequency, 8 AM UTC delivery time, start and end dates
arn:aws:bcm-dashboards::<account-id>:scheduled-report/<id>) and a
"HEALTHY" status once it's live.Execution triggered successfully — report status comes back HEALTHY
Report details: ARN, recipient configuration, and recipient list
The delivered email, including the plaintext PDF password
Page 2 of the exported PDF: the Budget Health table and the Usage widget
Worth noting: the exported PDF doesn't just paste in the widget descriptions verbatim — it reproduces the full widget context (date range, chart, legend) as static content, which makes it genuinely shareable with someone who doesn't have console access.
Step 1 of the wizard lets you pick Full dashboard vs Single widget for scope. The reporting period dropdown is where it gets useful for a recurring report: instead of a fixed date range, you can pick a relative window — Last 7 days, Last month, Last 3 months, Year-to-date, or a custom range — and it re-resolves that window automatically on every delivery.
Reporting period: relative date ranges for recurring delivery, Last month selected
Here's a taste of what the actual delivered dashboard data looks like. These are from a real sandbox account for the week of Aug 12–18, 2026 — the kind of thing that lands in your inbox as a password-protected PDF.
EBS Volume usage showing IOPS and throughput for gp3 volumes, plus gp2 volume usage. Snapshot storage hovering around 10–12 GB-Month across the week.
Aggregate cost breakdown by service — NAT Gateway, EBS, EC2 (t2.small, t2.medium, t3.micro), Load Balancer, and Snapshots all visible. Data transfer split across regions and AZs, peaking around 6–8 GB on active days.
What it doesn't do: it's not going to replace a real FinOps practice, Cost Anomaly Detection, or a Compute Optimizer-driven rightsizing loop. It's a reporting layer on top of tools that already existed. But as a reporting layer, it's the first one from AWS that doesn't require me to stitch together Cost Explorer exports and a Lambda-to-SES pipeline just to get a monthly PDF into someone's inbox.