Ask
88
@coast_fi_casey ·

My AWS free plan expires tonight — what actually starts costing money at midnight?

Account is on the newer credit-based AWS free plan — the one that replaced the old twelve-month free tier for accounts created from 15 July 2025. $100 in credits on signup, a bit more from the onboarding activities, and the plan runs six months from signup or until the credits are gone, whichever comes first.

Mine hits tonight.

What is actually in there: one small EC2 instance, an RDS instance for a side project, an S3 bucket, CloudFront in front of it, and a VPC I created by clicking through a wizard about five months ago and have not opened since.

I expect to start paying for the things I am using and I am fine with that — it is a few dollars and the project is worth it. What I want to know is:

  1. what starts billing that I am not currently thinking about
  2. whether anything worse than a bill happens when the plan actually expires

For anyone who has been through this on the new plan rather than the legacy one: what caught you?

11 answers Share
Report

Answering anonymously — a moderator will review it first.

  • @idempotent_ian · 2h ago · 3 replies

    The bill is almost never the thing you are using. It is the idle infrastructure that was invisible while credits covered it.

    In the order they usually show up:

    • NAT Gateway. If your click-through VPC wizard created one — and they usually do — that is around $0.045/hour in us-east-1, roughly $32 a month, before it moves a single byte, plus about $0.045 per GB processed. This is the single most common answer to "why is my toy project forty dollars".
    • Public IPv4 addresses. Since 1 February 2024 AWS charges $0.005/hour for every public IPv4 address, in use or idle. About $3.60/month each. That is every public IP on every instance, every Elastic IP you forgot to release, and the one your NAT Gateway needs to exist.
    • EBS volumes on stopped instances. Stopping an instance stops compute billing. Storage keeps billing.
    • Idle load balancers. Hourly regardless of traffic.

    Go and open the VPC console specifically, before anything else. "I did not create a NAT Gateway" and "the wizard created a NAT Gateway" are the same sentence for most people.

    34
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @row_level_sam · 2h ago

      Check Elastic IPs while you are in there. The old mental model everyone still carries is "attached is free, idle costs money". That stopped being true in February 2024 — everything public bills now, attached or not. People who learned AWS before then are consistently surprised by this line on the bill.

      13
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
    • @coast_fi_casey · 2h ago

      Just checked. There is in fact a NAT Gateway. I have never knowingly used it, I do not have anything in a private subnet, and it has apparently been sitting there since February being paid for out of my credits.

      11
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @till_and_tally · 2h ago · 3 replies

    Bigger than the bill: on this plan, expiry does not simply flip you to paid.

    AWS's free tier FAQ says that when the free plan expires, AWS closes your account and you lose access to your resources and data. There is a window — they retain the data for 90 days after expiry, and you can restore access by upgrading to a paid plan within that period. Miss the 90 days and it is permanently erased.

    So if you want anything in that account to still exist tomorrow, upgrade to the paid plan tonight. It takes about two minutes and it is genuinely not the same category of task as "I will sort the billing out at the weekend".

    28
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @coast_fi_casey · 2h ago

      Mine is post-change, so this is the one I needed to know. Upgrading tonight rather than finding out on Saturday.

      6
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
    • @pinned_versions · 2h ago

      Worth being precise about who that applies to, because "my free tier expired" describes two completely different events now.

      The closure behaviour is the credit-based free plan, for accounts created after the July 2025 change. If you are on a legacy account from before that, your twelve months of free usage allowances simply run out and you start paying at normal rates — nobody closes your account and nothing gets deleted.

      Same phrase, opposite consequences. Check which one you are on before you panic or before you relax.

      12
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @tabula_rasa_dev · 2h ago

    Two things about the timing that catch people out.

    First, several services bill monthly in arrears, so the number you see tomorrow morning is not the number you will see when the month closes. Open Cost Explorer grouped by service two days after expiry, and then look again after the next month rolls over. The second look is the honest one.

    Second, if you do upgrade, remaining credits stay usable for up to twelve months from your original signup date. So upgrading does not throw away what you have left — letting the free plan expire without upgrading is what does that. Upgrading early is close to free and removes the deadline entirely.

    14
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @p99_hana · 2h ago

    Set the alarm before the deadline, not after the invoice.

    AWS Budgets monitoring itself is free. What costs money is action-enabled budgets beyond the first two, at $0.10 per day each, and budget reports at a cent apiece. A plain "email me when spend passes this number" budget is free.

    Set two. A $1 budget, which tells you that something is billing at all — that is the signal you actually want in the first 48 hours. And a $10 one, which tells you it is not a rounding error. Route both to an address you read on your phone, not the one you only check at a desk.

    19
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @thermal_theo · 2h ago

    If it is genuinely a hobby project, the cheapest fix is architectural rather than administrative.

    Delete the VPC-with-NAT arrangement completely. Put the application on Lambda behind an HTTP endpoint, DynamoDB on demand for state, S3 plus CloudFront for anything static. At hobby traffic that sits inside the always-free allowances and, more importantly, there is nothing billed per hour left to forget about.

    The pattern behind every one of these threads is the same: the bill that hurts is always something charged per hour that you are not using. Get rid of the per-hour things and the surprise disappears with them.

    10
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @csv_apologist · 2h ago · 2 replies

    Easiest fix is to close this account and open a new one with a different card. Free tier resets, no bill, and you get another six months.

    3
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @tabula_rasa_dev · 2h ago

      Do not. AWS states plainly that existing customers are ineligible for the free tier credits and the free account plan, and eligibility is checked against more than the card number.

      The realistic outcome is not another $100, it is a suspended account and a support case at the exact moment you need the thing working. And even where it works, you have signed yourself up to rebuild your entire stack every six months forever, which is a much larger bill denominated in weekends.

      If the workload is worth keeping, it is worth five dollars a month. If it is not worth five dollars a month, delete it.

      24
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report