Coinbase 于 7 月 21 日发布了一份事后分析报告,指出 7 月 14 日发生的持续 50 分钟的停机事故背后的软件错误。该错误导致客户无法完成转账、使用 Coinbase Card 进行购买,以及访问 onchain 服务。此次中断是由于在例行基础设施更新过程中出现了未被检测到的 Kubernetes 资源名称冲突,从而修改了错误的网络组件。该事件影响了从约 12:37 p.m. ET 到 1:25 p.m. ET 的零售、机构和开发者平台,但客户资金并未面临风险。事故发生时,Coinbase 正在从现货加密货币交易扩展到代币化股票、永续合约以及更广泛的金融服务;当共享基础设施失效时,这种风险会进一步升高。
Kubernetes 资源名称冲突引发网关故障
根据 7 月 21 日发布的事后分析报告,工程师在进行看似例行、低风险的更新时,未被检测到的 Kubernetes 资源名称冲突导致该更新修改了错误的网络组件。Kubernetes 是 Coinbase 用来在其云基础设施上组织和运行应用的软件。资源名称冲突使更新并非仅修改预期组件,而是改动了公司 Istio ingress 网关的一部分。网关的作用类似流量控制/交通管制,负责在 Coinbase 的内部服务之间转发请求。一旦网关离线,负责处理交易、转账、结算以及支付授权的系统便无法再进行通信。Coinbase 表示,该事件“是由于例行配置更新导致的一个重要网络组件的非预期错误配置所致”,并且“在任何时点都没有客户资金面临风险”。
停机影响转账、卡片购买与机构结算
此次中断影响了 Coinbase 的零售、机构和开发者平台,从约 12:37 p.m. ET 到 1:25 p.m. ET。一些零售客户无法完成入金、出金或站外交易。已经在进行中的转账看起来被卡住了,但在服务恢复后仍被处理。Coinbase Card 的借记卡购买被拒绝,而信用卡购买仍在继续。停机还中断了通过 Coinbase DEX 在 Base 和 Solana 上的链上兑换。Coinbase Exchange 和 Prime 客户的转账与结算出现延迟或失败,而开发者平台客户无法完成用户入驻、转移资金或使用 onramp 服务。此次影响凸显了随着 Coinbase 从现货加密货币交易扩展到更广领域,对可靠性的日益重要性。其计划中的“全品类交易所”产品(包括代币化股票和永续合约)正在扩大对公司基础设施依赖的金融活动范围。Coinbase 还分别描述了将该平台打造为更广泛金融枢纽的计划,包括覆盖股票、衍生品、稳定币支付以及 developer tools 新的交易、支付和资金管理服务。
Coinbase 在手动恢复后实施新的防护措施
该网关于 1:20 p.m. ET 恢复,Coinbase 在三分钟后宣布事件已得到缓解。剩余的交易积压在随后数小时内清除。恢复耗时更长,因为 Coinbase 的部署工具依赖于故障的网关。工程师无法使用标准回滚流程,而是通过公司的云提供商,使用临时的特权访问手动启动紧急部署。Coinbase 现在正在增加检查以阻止命名冲突,将恢复工具与其管理的基础设施分离,并更定期地测试紧急访问流程。Coinbase 强调“我们的目标始终是零停机”,并表示:“我们正在主动重新设计基础设施,以确保一旦发生像这次一样的、极不可能的故障,我们能够迅速回退并恢复。”
常见问题
Coinbase 在 7 月 14 日的停机事故由什么引起?
此次停机是由于在例行基础设施更新期间发生了未被检测到的 Kubernetes 资源名称冲突,导致更新修改了错误的网络组件,具体来说是将 Coinbase 的 Istio ingress 网关的一部分替换掉了预期组件。
Coinbase 的停机持续了多久,哪些服务受到影响?
此次停机持续约 50 分钟:发生在 7 月 14 日的 12:37 p.m. ET 至 1:25 p.m. ET。它影响了零售客户的转账以及 Coinbase Card 借记卡购买;影响了 Coinbase Exchange 和 Prime 上的机构结算;影响了通过 Coinbase DEX 在 Base 和 Solana 上的 onchain 兑换;并影响了开发者平台服务,包括用户入驻和资金转移。
Coinbase 在停机后实施了哪些防护措施?
Coinbase 现在正在增加检查以阻止命名冲突,将恢复工具与其管理的基础设施分离,并更定期地测试紧急访问流程,以确保未来发生类似事件时能够快速回退并恢复。