Reserver.Reserve your spot →

Free tool · no signup

Your real renewal calendar. Right now.

Paste the output of one AWS CLI command and get back exact expiry dates, what a lapse costs per hour, per day and per year, and a full renewal calendar, priced from your own committed rates. Nothing leaves your browser.

Output of aws ec2 describe-reserved-instances,aws rds describe-reserved-db-instances, oraws elasticache describe-reserved-cache-nodes. Paste a full response, a bare array, or several pasted one after another.

45%

Nothing you paste leaves this browser. No network request, nolocalStorage, no analytics. Open DevTools' Network tab and watch it stay empty while you analyze. Disconnect your network; it still works. The calendar and CSV files below are built the same way and saved straight to your disk, still zero requests. More on what we collect.

Showing the sample fleet above. Paste your own and hit Analyze to replace it.

13reservations parsed1 had no price in the payload1 retired or non-active reservation excluded from these totals
$11,584committed annual spend
expiring within$2,543 / 30d$3,629 / 60d$3,985 / 90d
1already endedbleeding $1.22/day right now from 1 lapse in the last 90 days
if the next expiry slips$0.05/hr$1.22/day · $444/yrm5.large · 9 days left

Next 12 months

  • Oct 20260—
  • Nov 20262$2,543
  • Dec 20261$1,086
  • Jan 20271$355
  • Feb 20271$620
  • Mar 20270—
  • Apr 20271no price
  • May 20271$700
  • Jun 20270—
  • Jul 20271$659
  • Aug 20271$1,489
  • Sep 20270—

Nov 2026 carries the most committed spend in this calendar: $2,543, 34% of the next 12 months. The heaviest rolling quarter, Nov 2026 through Jan 2027, carries 53%.

Soonest expiries

The soonest reservations still to expire, from this paste
ReservationRegionEndsDays leftAnnual costLapse cost / dayLapse cost / yr
m5.largeEC2 · ri-2f8a1c0eus-east-1Nov 8, 20269 days left$543$1.22$444
cache.r6g.largeElastiCache · ri-ec-2d4b91 ×2us-west-2Nov 22, 202623 days left$2,000$4.48$1,636
m5.xlargeEC2 · ri-6b3d9a41us-east-1Dec 14, 202645 days left$1,086$2.43$889
db.t3.mediumRDS · ri-rds-8e21f4us-west-2Jan 13, 202775 days left$355$0.80$291
c5.largeEC2 · ri-91e7c2ab ×3us-east-1Feb 27, 2027120 days left$620$1.39$507
db.r6g.largeRDS · ri-rds-b70d52us-east-1Apr 8, 2027160 days leftno price in payload——
cache.m6g.largeElastiCache · ri-ec-97a0c3us-west-2May 18, 2027200 days left$700$1.57$573
r5.largeEC2 · ri-04a8f7d3us-east-1Jul 7, 2027250 days left$659$1.48$539
db.m6g.largeRDS · ri-rds-1f6a8cus-east-1Aug 26, 2027300 days left$1,489$3.34$1,218
m5.2xlargeEC2 · ri-7c1b5e90us-west-2Oct 15, 2027350 days left$1,600$3.59$1,309
cache.r6g.xlargeElastiCache · ri-ec-5e8f14us-east-1Dec 4, 2027400 days left$1,988$4.46$1,627

By service & region

Reservations and committed annual cost by service and region
ServiceRegionReservationsUnitsAnnual cost
EC2us-east-157$3,452
ElastiCacheus-west-223$2,700
ElastiCacheus-east-111$1,988
EC2us-west-211$1,600
RDSus-east-122$1,489 · 1 unpriced
RDSus-west-211$355

Take it with you

Remind meday-of always included

12 reservations · 39 reminders · built in your browser, nothing uploaded

Your numbers, carried through

That's our sample fleet

Paste your own reservations above. This card then shows your real numbers, sized to your own fleet.

That fits Autopilot on Reserver.

Join the waitlist

Carries only the totals shown above, never reservation IDs, ARNs, or account details. Nothing leaves your browser until you submit.

Need to justify this internally? Build a business case →

How to get the numbers

Three commands. Any account, any region.

Each command needs only read access to describe reservations: the same Describe/List scope Reserver's own read-only role uses.

EC2 Reserved Instances
aws ec2 describe-reserved-instances --region us-east-1
RDS reserved DB instances
aws rds describe-reserved-db-instances --region us-east-1
ElastiCache reserved cache nodes
aws elasticache describe-reserved-cache-nodes --region us-east-1

Many accounts at once

This is the enterprise path: loop the three commands over every profile and region, and paste the whole run. The tool scans for each JSON document in the paste and aggregates everything it finds into one calendar.

for profile in prod-us prod-eu staging; do
  for region in us-east-1 us-west-2 eu-west-1; do
    aws ec2 describe-reserved-instances --profile "$profile" --region "$region"
    aws rds describe-reserved-db-instances --profile "$profile" --region "$region"
    aws elasticache describe-reserved-cache-nodes --profile "$profile" --region "$region"
  done
done

What the fields mean

A short glossary of what's in the payload.

FixedPrice
The upfront amount paid for the term (0 for No Upfront).
RecurringCharges / UsagePrice
The hourly rate billed on top of the upfront amount, whether or not the instance runs.
Duration
The term length in seconds: 31,536,000 for 1 year, 94,608,000 for 3 years.
OfferingType
The payment option: All Upfront, Partial Upfront, or No Upfront.
State
Whether the reservation is active, retired (its term ended), payment-pending, or payment-failed.

What this can't do

One limit: this is a snapshot, not a watch.

This tool reads exactly what you paste, once. It's a manual pull, one account and region at a time, of reservations you already own. It can't see running capacity that was never reserved, and nobody re-runs it for you the day a date arrives. Reserver closes that gap: a read-only connection that scans continuously, matches reservations to what's actually running, and flags every renewal that is close, on every account you connect.

Expiry check, answered

Questions about the tool.

Does anything get uploaded when I paste my reservations?

No. Parsing and analysis both run entirely in your browser. There's no fetch, no beacon, no analytics call, and nothing is written to localStorage or the URL. Open DevTools' Network tab before you paste: it stays empty through the whole analysis.

Why do RDS and ElastiCache show different end-date math than EC2?

AWS's own describe-reserved-instances response for EC2 includes an explicit End field. The RDS and ElastiCache equivalents don't. Their end date is StartTime plus Duration in seconds, which is exactly how this tool derives it. All three are the same underlying commitment; only the field names differ.

I ran the loop across a dozen accounts and pasted it all at once. Did it work?

Yes. Paste as many aws ... describe-... outputs one after another as you like, in any order, mixing services and regions. The tool scans for each top-level JSON document and aggregates everything it recognizes into one calendar.

This only shows what I already own. What am I missing?

Exactly what it can't do: it's a manual snapshot, one paste at a time, of reservations you already have. It doesn't see the running capacity you never reserved. For that half of the story, paste the same reservations alongside what's actually running into the Coverage Check. It'll show you the gap and price it. Reserver itself goes further still: it connects once, scans continuously, and tells you what to buy next as well as what's expiring.

My paste includes retired reservations. Are they counted?

No. The tool reads each reservation's own State field and excludes anything that isn't active (retired, retired-pending, payment-failed, or payment-pending) from committed annual spend, the exposure figures, the calendar, and the service & region table. It still tells you how many were excluded, so the count always reconciles against what you pasted. The "bleeding $/day" figure is further limited to lapses within the last 90 days, since an older lapse has almost certainly already been resolved. If you'd rather trim the paste yourself first, EC2, RDS, and ElastiCache's describe-reserved-* commands all accept --filters Name=state,Values=active, though it isn't required, since the tool handles unfiltered output correctly on its own.

Does the calendar file upload anything?

No. The .ics and CSV are both built in the page from what you pasted, then saved straight to your disk. Same zero-request guarantee as the rest of the tool.

Will re-downloading duplicate every event in my calendar?

No. Each event's UID is derived from the reservation and its end date, not the download time, so re-importing an updated file updates matching events instead of duplicating them. The file is standard RFC 5545, so Google Calendar, Outlook and Apple Calendar all handle the update the same way.

Reserved

Stop overpaying for a steady fleet.

Reserver is in early access. Join the list, and we will onboard you when we have capacity. Your first recommendation lands within minutes of connecting.

Reserve your spot →