AWS Support and Billing Pain: A Checked Guide for EU Teams

AWS Support and Billing Pain: A Checked Guide for EU Teams

AWS Support and Billing Pain: A Checked Guide for EU Teams

Short answer (checked 2026-11-02): On AWS, the free Basic plan covers account and billing questions but no technical cases. Paid support now starts with Business Support+ at the greater of $29 a month or 9% of your AWS charges, and the old Developer and Business plans end on 1 January 2027. Billing data is not live: Cost Explorer refreshes at least once every 24 hours and AWS Budgets up to three times a day, so an alert can arrive after the money is spent. Egress from Frankfurt costs $0.09 per GB after a global 100 GB a month. If your stack is a few servers, a database and steady traffic, a flat-priced European provider with human support is often the simpler fit; if you depend on managed AWS services, the fix is guard rails, not a migration.

Where this comes from. Two r/aws threads from 2026-11-02: a business that has tried the sales forms, the AI chat and every other channel for more than three weeks without a reply (thread), and "AWS billing systems have forgotten how to count", a few-cent free-tier puzzle on an Aurora DSQL bill (thread). We read both threads and checked the AWS pages behind them. No quotes or numbers below come from the threads except where we say so.

What the two threads actually show

Sales that does not answer. The poster, a business in Southeast Asia, needs certain services enabled on its account and was told that only sales can help. After more than three weeks of contact forms and AI chat there was no acknowledgement. The first reply in the thread asked what the questions were: the community answers a lot, but it cannot enable services on someone else's account.

A bill that does not add up. The screenshot shows the Aurora DSQL line: 93,977.04 DPU under "$0.00 per DPU for the first 100k DPUs" and 2,894,771.278 DPU billed at $0.0000095 per DPU in EU (Ireland). The free tier on the Aurora DSQL pricing page is 100,000 DPUs a month, so about 6,023 DPU, roughly 6 cents at that rate (our arithmetic), went to the paid line. A commenter pointed out that the free usage is shared across regions; the poster replied that the other region had no usage. The page says that in AWS Organizations the free tier applies per management account. The amount is trivial. The lesson is not: free-tier allocation is not something you can recompute from the bill alone.

SES approval waits. The third complaint that keeps coming back on r/aws is the email sandbox. The SES documentation is clear about it: a new account can send only to verified addresses, at most 200 messages per 24 hours and 1 per second, per region, until you request production access. AWS Support "provides an initial response to your request within 96 hours", and longer if they need more information. Four days is a release-planning fact, not a bug.

AWS support plans in November 2026

AWS changed its plans on 2 December 2025. The current list on the AWS Support pricing page (checked 2026-11-02):

Plan Monthly fee Fastest response (from the plans page)
Basic Included No technical cases; account, billing and quota cases only
Business Support+ Greater of $29 or 9% to $10K, 7% to $80K, 5% to $250K, 3% above Under 30 min, business-critical system down
Enterprise Support Greater of $5,000 or 10% to $150K, 7% to $500K, 5% to $1M, 3% above Under 15 min, business-critical system down
Unified Operations Greater of $50,000 or 10% to $1M, 6% to $5M, 5% above Under 5 min, from an incident management engineer

Three things are easy to miss:

  • The old plans end on 1 January 2027. Developer and Business Support stopped taking new sign-ups on 2 December 2025 and are discontinued on 1 January 2027 (end-of-support page). The FAQ says Business accounts are not moved to Business Support+ automatically, and a Developer customer who does nothing falls back to Basic. Enterprise On-Ramp customers are being upgraded to Enterprise Support during 2026.
  • Support is a percentage of the whole bill. Egress and public IPv4 charges raise the support fee too.
  • Response is not resolution. The times above are first responses, and AWS says it "will make every reasonable effort" to meet them. Sales questions, like the one in the first thread, are not covered by any support SLA.

Why the bill arrives after the money is spent

Every AWS cost tool sits on the same delayed billing data:

  • Cost Explorer "refreshes your cost data at least once every 24 hours", and some data can come later (Cost Explorer guide). The console is free; each paginated API request costs $0.01.
  • AWS Budgets is "updated up to three times a day", typically 8 to 12 hours apart, and AWS warns that you "might incur additional costs or usage that exceed your budget notification threshold" before the notice arrives (Budgets guide).
  • Cost Anomaly Detection runs about three times a day on Cost Explorer data, so it "can take up to 24 hours to detect an anomaly", and a new service needs 10 days of history first (anomaly guide).

So a runaway job on Friday evening can run for most of a day before anyone is told. Budgets are a smoke alarm, not a circuit breaker.

Price the hidden lines yourself: aws_bill_check.js

Two lines surprise EU teams most: internet egress and public IPv4. AWS publishes both in its public Price List, which needs no account. This script reads the Frankfurt data transfer file, applies the global free 100 GB and the tiers, adds $0.005 per public IPv4 per hour (VPC pricing) for 730 hours, and then the support fee for the new plans. Save it as aws_bill_check.js:

// aws_bill_check.js - what egress, public IPv4 and a paid support plan add to an AWS bill
// usage: bun aws_bill_check.js <other_usd_month> <egress_tb_month> <public_ipv4> [price.json]
// price.json = AWS Price List file for AWSDataTransfer in eu-central-1 (public, no account needed)
const [base, tb, ips, file = 'dt-eu-central-1.json'] = process.argv.slice(2)
const j = await Bun.file(file).json()
const tiers = [] // [beginGB, endGB, usdPerGB] for internet egress from Frankfurt
let freeGB = 0
for (const [sku, p] of Object.entries(j.products)) {
  const u = p.attributes.usagetype
  if (u !== 'EUC1-DataTransfer-Out-Bytes' && u !== 'Global-DataTransfer-Out-Bytes') continue
  for (const o of Object.values(j.terms.OnDemand[sku]))
    for (const d of Object.values(o.priceDimensions)) {
      if (u.startsWith('Global')) freeGB = +d.endRange
      else tiers.push([+d.beginRange, d.endRange === 'Inf' ? Infinity : +d.endRange, +d.pricePerUnit.USD])
    }
}
tiers.sort((a, b) => a[0] - b[0])
// tiered fee: rates = [[upToUSD, share], ...], the plan charges the larger of min and the sum
const tiered = (usd, min, rates) => {
  let fee = 0, from = 0
  for (const [to, r] of rates) { fee += Math.max(0, Math.min(usd, to) - from) * r; from = to }
  return Math.max(min, fee)
}
// aws.amazon.com/premiumsupport/pricing/, checked 2026-11-02
const bsPlus = usd => tiered(usd, 29, [[10e3, .09], [80e3, .07], [250e3, .05], [Infinity, .03]])
const enterprise = usd => tiered(usd, 5000, [[150e3, .10], [500e3, .07], [1e6, .05], [Infinity, .03]])

let gb = Math.max(0, +tb * 1024 - freeGB), egress = 0 // the price list counts 1 TB = 1024 GB
for (const [b, e, usd] of tiers) { egress += Math.max(0, Math.min(gb, e - b)) * usd; gb -= Math.min(gb, e - b) }
const ipv4 = +ips * 0.005 * 730 // aws.amazon.com/vpc/pricing/: $0.005 per IP-hour, 730 h a month
const aws = +base + egress + ipv4
const row = (k, v) => console.log(k.padEnd(34), ('$' + v.toFixed(2)).padStart(11))
console.log(`price list ${j.publicationDate.slice(0, 10)}, free ${freeGB} GB, tiers ${tiers.map(t => t[2]).join(' / ')} $/GB`)
row('compute, storage, other (input)', +base)
row(`egress ${tb} TB to the internet`, egress)
row(`public IPv4 x ${ips}`, ipv4)
row('AWS charges before support', aws)
row('+ Business Support+ (min $29)', bsPlus(aws))
row('+ Enterprise Support (min $5,000)', enterprise(aws))
row('total with Business Support+', aws + bsPlus(aws))
curl -sLo dt-eu-central-1.json https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/eu-central-1/index.json
bun aws_bill_check.js 6000 40 10

Output, run on a DCXV Cloud server with Bun 1.4.4 on 2026-11-02 (the inputs are an example: $6,000 of other services, 40 TB of egress, 10 public IPv4):

price list 2026-09-16, free 100 GB, tiers 0.09 / 0.085 / 0.07 / 0.05 $/GB
compute, storage, other (input)       $6000.00
egress 40 TB to the internet          $3524.30
public IPv4 x 10                        $36.50
AWS charges before support            $9560.80
+ Business Support+ (min $29)          $860.47
+ Enterprise Support (min $5,000)     $5000.00
total with Business Support+         $10421.27

In this example egress is 37% of the bill before support, and because Business Support+ is a share of the whole bill, the egress also adds about $317 a month of support fee. Put your own numbers in: the script prints the price list date, so you can see when AWS last changed it. Prices exclude VAT.

Protect yourself on AWS this week

  1. Decide on your support plan before 1 January 2027. If you are on Developer or Business Support, check the console now; nobody will move you to Business Support+ by default.
  2. Set two budgets, not one. A monthly cost budget with alerts at 50%, 80% and 100% of actual spend, plus a forecast alert. Send them to a shared mailbox or an SNS topic, never one person.
  3. Turn on Cost Anomaly Detection and remember the 24-hour lag. For things that can burn money in hours (GPU instances, NAT gateways, open S3 buckets), put a hard limit in the service itself: quotas, auto scaling maximums, lifecycle rules.
  4. Run the egress math before launch. A media, backup or AI-inference workload can make egress the largest line, as the example shows. EU customers can also ask AWS Support about reduced transfer rates under the European Data Act for eligible cases, as the EC2 pricing page notes.
  5. Plan for queues you do not control. Request SES production access at least a week before you need it, and open quota and account cases early. For sales, a partner or reseller is often faster than the web form.
  6. Keep billing evidence. For a disputed line, export the Cost and Usage data and open an account and billing case: Basic includes those, so a wrong charge never needs a paid plan.

When a European flat-priced provider fits better

AWS is the right tool when you use its managed catalogue: Lambda, DynamoDB, SQS, Bedrock, global regions. The pain in these threads is a different case: a small team that needs a server, a person to talk to and a bill it can predict.

Question Points to AWS Points to a flat-priced EU provider
What does the stack use? Many managed services VMs, a database, containers
How does traffic grow? Mostly inside AWS Out to users, steadily
Who answers at 3 a.m.? Your own on-call, plus a paid plan The provider's engineers, included
How is the bill read? Cost Explorer, tags, 24 h lag One monthly price per server
Where must data live? An EU region is enough An EU company and EU sites

DCXV runs cloud servers and dedicated servers in Tier III data centres in Prague and Covilha. The price is per server and month (cloud from EUR 15 for 2 vCPU, 4 GB RAM and 40 GB NVMe, excl. VAT), with unlimited traffic on a shared 1 Gbit/s port, so there is no per-GB line, and 24/7 support by engineers is included at every tier. What you give up: no managed-service catalogue and two sites instead of thirty-plus regions. Our AWS alternative page maps EC2 sizes to plans, the AWS vs dedicated server cost comparison runs the full numbers, and the migration guide covers the move. Send your aws_bill_check.js output to sales@dcxv.com and a person will reply with a sized quote.

What 10,000 US Council Comments Mean for Data Center Buyers
clouddedicatedinfrastructure

What 10,000 US Council Comments Mean for Data Center Buyers

A new dataset codes 10,202 US council comments on data centers: 90.5% opposed, water first. We recount it and show what it means for server buyers in Europe.

AWS Support and Billing Pain: A Checked Guide for EU Teams
cloudpricingcompare

AWS Support and Billing Pain: A Checked Guide for EU Teams

AWS paid support starts at $29 or 9% of the bill, billing data lags up to 24 h, Frankfurt egress is $0.09/GB. A checked guide with a cost script for EU teams.

Memory Latency on a Cloud Server: Measured, Not Guessed
clouddedicatedinfrastructure

Memory Latency on a Cloud Server: Measured, Not Guessed

A viral post says a busy CPU is often just waiting on RAM. We measured L1-to-DRAM latency on our own cloud server and show what it means when you rent one.

Altman Wants Your DRAM in Data Centers: Server RAM in 2026
cloudaipricinginfrastructure

Altman Wants Your DRAM in Data Centers: Server RAM in 2026

Sam Altman says PC memory sits idle and belongs in data centres. What the 2026 DRAM squeeze means for server buyers, plus a script to measure your own RAM use.

RIPE IPv4 Waiting List vs Buying a /24: 2026 Cost Math
ipv4ripe-nccpricing

RIPE IPv4 Waiting List vs Buying a /24: 2026 Cost Math

RIPE NCC's IPv4 waiting list: 811 LIRs and a 492-day wait on 28 October 2026. What waiting costs vs buying or leasing a /24, with a script that reads the queue.