惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
Intezer
V
Visual Studio Blog
Cisco Talos Blog
Cisco Talos Blog
Microsoft Azure Blog
Microsoft Azure Blog
S
Securelist
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
News and Events Feed by Topic
Recorded Future
Recorded Future
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
L
Lohrmann on Cybersecurity
U
Unit 42
Hacker News: Ask HN
Hacker News: Ask HN
阮一峰的网络日志
阮一峰的网络日志
Vercel News
Vercel News
PCI Perspectives
PCI Perspectives
H
Help Net Security
C
Cisco Blogs
爱范儿
爱范儿
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
小众软件
小众软件
T
Tor Project blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Schneier on Security
Schneier on Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
IT之家
IT之家
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
Spread Privacy
Spread Privacy
T
The Blog of Author Tim Ferriss
Application and Cybersecurity Blog
Application and Cybersecurity Blog
AI
AI
S
Security @ Cisco Blogs
T
Tenable Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cloudbric
Cloudbric
D
Docker
W
WeLiveSecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
F
Fortinet All Blogs
The Hacker News
The Hacker News
Help Net Security
Help Net Security

澄沨的漫游茶记

岁暮杂记 在 KOReader 上显示直排文本 虎落平阳:TNO 美国罗伯特·F·肯尼迪线·前篇 烟火·乙巳 蜀都行纪 实习日 烟火·甲辰 藏地行纪 元旦杂记 浴火重生:TNO 东方红西北国防阵线党权线·后篇 太阳旗之下:TNO 东方红西北国防阵线党权线·前篇 尚在人间:TNO 乌克兰-苏维埃社会主义共和国线 上海电信 SDN 网关全局域网皆可收看 IPTV 的实现 论 AList 的滥用:多平台串联搭建个人影音-番剧流媒体服务 俄罗斯已逝:TNO 俄罗斯科米-神俄线·后篇 紫日高悬:TNO 俄罗斯科米-神俄线·前篇 The Pure WINDOWS Project: 使用 Windows Sandbox 隔离腾讯系软件的笔记 廣東手艺人:TNO 广东国索尼-长江实业线 使用 PaaS 服务部署 umami 统计工具的笔记 柏林春晓:TNO 德国施佩尔左线 闲话 COMICUP 与敝站 解决小米手机在 fastboot 模式下不被 Windows 识别的问题 贺正·癸卯 MIUI 下观看 Netflix 等流媒体时 Widevine DRM L1 认证失效之解决 崇明骑行纪事·合 磊哥小传 崇明骑行纪事·转 让 Hyper-V 虚拟机支持调用 USB 摄像头 崇明骑行纪事·起承 炎夏小憩 飞哥小传 さよなら、WordPress 使用 Cloudflare Workers 加速甲骨文存储桶 博客流浪纪事 moe-counter-cf:将萌萌计数器部署到 Cloudflare Workers 烟火·迪士尼 红十字救护员培训小记 迁移到了狗云 探索优雅纯粹的追番体验:蜜柑计划 + Resilio Sync Moe-counter: 给网站装上多种风格可选的萌萌计数器 疫情,在下的朋友圈拾遗 Postcrossing 初探小记 解决 Github 同步复刻上游仓库时冲突的问题 使用甲骨文免费云服务器搭建 frp 内网穿透工具的笔记 「在下」的两周年 The Pure WINDOWS Project: Hyper-V 虚拟机使用笔记 The Pure MIUI Project: 小米 10 刷机笔记 烟火·壬寅 贝恩小传「大盛り」 非法侵入住宅罪之浅究 碧蓝航线舰娘原型考据「铁血驱逐篇」 贰拾 火警纪事 观 EDG 夺冠有感 华硕路由器实现远程唤醒局域网设备的笔记 军训随笔 夏日蓝调 在 Wordpress 博客里创建彩色标签云页面的笔记 贝恩小传 迁移到了 Bandwagon Host 杂诗二首 来给 WordPress 添加一个书单页面吧 乡影随摄 从刑法的报复主义论中国刑法的发展 漫谈二次元的「破圈」 浅谈「FBI WARNING」 とある魔都の ACGN 巡礼目録 桜色 在 WordPress 上添加 moc3 Live2d 看板娘的超简单方法 COVID-19 疫苗接种全纪录 Steam 转区小记 元旦 更新主题为 Sakurairo 华为 HarmonyOS / EMUI 安装 GMS 谷歌框架的笔记 下载没有下载权限的钉钉直播回放的笔记 Re:从零开始的 Windows 简明优化指南 Re:从零开始的计算机使用指南 使用 ADB 工具箱卸载手机预装应用 基于宝塔面板的 Google Drive 百宝箱搭建笔记 The Story of the Snake | 蛇纪事 参议院纪事 箱轮纪事
事故小记
澄沨 · 2024-02-20 · via 澄沨的漫游茶记

What happened?

2024 年 2 月 7 日,大年二十八,早间 10 时许,温煦的阳光挥洒在广袤的苏北平原之上,家家户户烟囱中冒出的烟火气添得年味越发浓烈……就是这样一个闲适祥和的上午,一封似是平常的电子邮件被送入了在下的收件箱,起初,它并没有引起干坐着刷手机的在下的过多注意:邮件的标题只是简单地标着「Your Supabase Instance」字样,并无更多的说明,一眼看上去像是 Supabase 用来推广他们新 features 的广告邮件。不过当在下打开邮件粗粗一看,发现似乎并非如此,再认真看时,方才意识到出现了严重的问题:Supabase 在邮件中提示道,在下用于储存 umami 站点统计信息的数据库,已经有 7 天时间处于非活跃状态,出于对节省资源的考虑,他们将会在几日内暂停这个数据库的运作。

在下先是感到困惑:作为 umami 统计数据的数据库,怎会有整整七天时间都没有活动过呢,虽说敝站的统计数据一直不温不火,但每天的访问人数,怎么说也能有个三四十人,即便 Supabase 对于非活跃的定义再离谱,也不可能无视掉这样一批数据的传入才对。然而,当在下登上 Supabase 一看,迎接在下的,却是平静得翻不起一点波澜的使用量统计数据,空白的折线图犹如心电监护仪,清楚明了地宣告了数据库在这七天的死亡;随后,部署在 Vercel 的 umami 前端为其连接的数据库正式开具了死亡证明。事已至此,可以确定这无疑是一件小型运维事故,只不过糊里糊涂的在下在其发生的第七天方才得知。

Why though?

在下随即开始排查事故原因,看起来,umami 的前端由于某种原因,在这七天的时间内一直无法连接到 Supabase 的数据库,那这究竟是怎么一绘事呢?经过在下的一番回想,死去的记忆开始渐渐复活,随之开始猛烈地攻击在下:早在几个月前,在下就接收到了 Supabase 发来的邮件提醒,内容大致是由于 AWS 将开始对 IPv4 地址收费,因此他们也将不再提供免费的 IPv4 连接,为了应对这一改变,Supabase 敦促用户更改一下数据库的连接 URL,从直接连接切换到 Supavisor 代理连接,就可以解决 IPv4 网络的连接问题。而在下第一次收到这封提醒邮件时,没有细看,竟把大致内容理解成了:不用做特别的操作,Supabase 会自行改变连接模式解决这一问题,遂放心地删了邮件睡觉去了,从此埋下祸根。之后,Supabase 更是三番五次发邮件来把这件事说了又说,无一例外地被在下塞进了垃圾箱,最后一次提醒是大概在 1 月 19 日,Supabase 建议用户切换到 Supavisor 代理的 DDL 7 天前,躺在巴松措景区民宿床上的在下再次将这一提醒删除,以不作为的姿态亲手造就了事故的发生。

到了 2 月 1 日这天,Supabase 正式将在下的数据库域名解析到了 IPv6 地址,而搞笑的是,由于 Vercel 时至 4202 年,仍然未能支持 IPv6,就导致了部署在此的 umami 前端与数据库的连接中断。更加搞笑的是,在下在此之后竟然对 umami 挂掉浑然不知,直到 7 天后接到 Supabase 的邮件提醒才意识到出了事。

What now?

搞笑的事情到这还没完,察觉事故之后在下一心想要赶紧恢复服务,根本没有好好地去看 Supabase 关于弃用 IPv4 的公告,由于之前对于 IPv6 迁移政策的理解错误,一度让在下认为不支持 IPv6 的 Vercel 已经不再适合作为 umami 的前端了,转而去寻找起新的 PaaS 部署平台。此刻正处在苏北过年的在下,电脑未在身边,只能拿手机操作,相当痛苦,七弄八弄,搞得一地鸡毛:先是,打算把前端部署到 fly.io 上,又发现 umami 的 docker 是默认集成 postgres 的,要改远程连接非常麻烦,不知道又要踩多少坑,遂放弃;又尝试了 Netlify,结果不小心挂着代理注册触发了风控,要求传证件,传了证件又显示认证不通过,要用邮件和客服扯皮,又再次放弃;后来又看到 Vercel 能直接用 Integration 和 Supabase 连起来,结果试了以后也不得行……

汗流浃背的在下此时回看 Supabase 的迁移公告才发现,只需要简单地改一下新的数据库连接 URL,就可以解决这个问题,再 Vercel 这也就是改一下 Environment Variables 的事,不出几分钟就能搞定,惹得得知真相的在下当场吐血三升,倒地不起……回归正题,改完环境变量,umami 终于恢复了正常,这场事故也总算谢天谢地得到了解决。顺带着,此处也出现了最后一处笑点:为什么此前用 Vercel 提供的 Integration 直接连接 Supabase 却失败呢?原来是 Intergration 默认填写的 Environment Variables 的 name 为 POSTGRES_URL ,而 umami 的要求却为 DATABASE_URL 。然而此时被自己整得乌烟瘴气、萎靡不振的在下根本无力吐槽这个问题,在这个西风斜阳、暮色苍茫的大年二十八傍晚,一切的折腾终将落幕。

此次事故,因在下的愚蠢,使得其未能被提前预防、及时察觉、高效解决,导致敝站痛失从 2 月 1 日 9 时到 2 月 7 日 15 时,共计 6 天 6 小时的站点统计数据,不慎成就敝站运维事故「零」的突破,实属敝站历史耻辱柱之一甲,遂决定加以述之,立此为后日之鉴。