AWS 账单没扣成功,网站就打不开了:欠 $277.11,我差点让 agent 重建没丢的 DNS

发布时间:2026/10/23 6:34:32
AWS 账单没扣成功,网站就打不开了:欠 $277.11,我差点让 agent 重建没丢的 DNS
作者simon · 2026-10-1610 月 13 日早上我随口问了 agent 一句“网站流量有问题么”它查了一圈回我有问题而且是严重的——网站现在根本打不开。先说结论站点打不开既不是 DNS 的问题也不是证书的问题而是账单两张发票自动扣款没成功账号因为欠费被 AWS 限制了。付清合计$277.11加上我用 root 账号处理之后站点恢复。查原因的过程里agent 先后判断错了两次“托管区全被删了”“前几个月扣款都成功了”都是读到真实状态之后自己更正的。想用 API 查这张发票付没付成查不到只能去控制台。agent 一开始看到的现象TLS 握手直接失败明文 HTTP 返回 CloudFront 的 403“Bad request. We can’t connect to the server for this app or website”CloudFront 自带的域名也一样连不上同一台机器上访问 Google 和 aws.amazon.com 都正常所以不是我这边的网络统计后台所有路径都返回{message:Not Found}项目里的访问密钥报无效本机的默认登录会话也过期了当天 10:00 的每日聚合任务没跑。重新登录之后什么都好只有 DNS 托管区没了我重新登录后11:24agent 接着查CloudFront 三个分发都是 Enabled、已部署证书状态是 ISSUED有效期到 2027 年 2 月S3 源站直连返回 200唯独 Route53 的托管区列表返回空。于是 agent 下了第一个结论账号里的托管区全没了所有域名的 DNS 都失效了这就是网站打不开的原因。可是 CloudTrail 里查不到删除托管区的事件我也没删过它自己写的是“是谁删的现在还不明。”差点重建没丢的 DNS于是 agent 要动手重建新建托管区、把整套记录重写一遍、再把注册商那边的 NS 改过去。这条命令被权限分类器拦了标签DNS / Domain / Cert Changes。它没有绕而是把整套操作写成了脚本让我自己执行。我执行了。脚本在写第二个域名那一步中断了这条记录已经存在和新建的冲突。这一句报错把前面的结论推翻了。agent 回头看现状托管区其实都在注册商处的 NS 也和托管区一致外部解析已经恢复网站返回 200。它自己更正“托管区没有被删。之前列出为空更可能是账号当时处于受限状态的表现不过这一点我没有证据只是推测。”如果那一步没被拦、也没有中途出错它会新建一对重复的托管区。后果我没有实验不下结论。真正的原因在账单里agent 转去查账单9 月的发票小计$506.20抵扣 $389.22 的 credits 之后应付$116.98到期日是 10 月 1 日10 月 2 日才开出来。那 $389.22 是 9 月另一件事里 AWS 给我冲销的钱那是另一个故事。8 月的发票$160.13。然后我把邮箱和控制台 Payments 页的截图给了它。邮箱里有两封 AWS 来信标题分别是AWS BILLING ACCOUNT PAST DUE和AWS BILLING ACCOUNT RESTRICTED DUE TO NON PAYMENT截图里是相对时间大约是 13 天前和 6 天前。Payments 页里10 月有2 笔已完成的付款10/11 一笔 $116.9810/13 一笔 $160.13合计$277.11另有多笔标成已取消、没有扣到钱的9/21 和 9/28 各一笔 $160.1310/1、10/3、10/5、10/7 各一笔 $116.98。我的理解是自动扣款一直在重试每次都失败。这是 agent 的推断失败的原因这里没有任何记录。agent 的第二次更正它最开始只看了发票8 月、9 月的开票日和到期日都是同一天于是说前几个月扣款应该是成功的8 月的我没看出异常。看到付款记录之后它改口8 月那张 $160.13在 9 月中旬就已经扣不下来了一直拖到 10 月 13 日才扣成功。所以不是一张发票逾期是两张先后逾期。为什么查不到付没付成我问它“为什么不能查需要什么权限么”它没有凭印象回答先实测用 IAM 模拟器查我的用户对 payments、billing 相关的动作都是 allowed不是权限问题本机的 AWS CLI 2.36.5 和 boto3 1.42.63 里没有付款方式和付款记录这样的服务invoicing接口能返回发票的金额、开票日、到期日不返回付了没有“为什么失败”。这些信息只在控制台的 Billing → Payments 页里。怎么恢复的当天上午我用 root 账号做了几件事密码找回、跟 AWS Support 聊了几句、启用 MFA并把两张欠费付清。11:52 前后网站恢复。到底是哪一步解除了限制我没法确认。AWS 没有给过明确的说明。几条能带走的整个账号像被封了先查账单付款状态别先怀疑 DNS 或证书被删了。让 agent 写重建脚本之前先让它拿出现状的证据。这次要是先看 Billing根本用不着重建。Budgets 管的是花了多少不是付没付成。我有个 $50 一个月的预算这个月只用了 $15.60全程一声没吭因为问题不在花销。扣款失败的邮件要有人看。两封来信早就到了标题写得清清楚楚。查付没付成去控制台的 Payments 页别指望 API。数字项目数字9 月发票小计 $506.20 − 抵扣 $389.22 应付 $116.988 月发票$160.1310 月实际扣到的两笔$116.98 $160.13 $277.11标成已取消的扣款至少 6 笔$160.13 × 2$116.98 × 4本月预算使用$15.60 / $50参考与出处AWS 发到 root 邮箱的两封账单邮件标题见上。控制台 Billing → Payments 页截图2026-10-13。作者 2026-10-13 的会话记录排查过程与命令输出。付款状态不能通过 API 查询是作者本机用 AWS CLI 2.36.5、boto3 1.42.63 实测的结果。