0

一、背景:

昨天,我们在美国西部 2 的基于 AWS 的业务,由两个自动扩展组(以及更靠后的 RDS 等各种其他组件)组成,在 ALB 后面离线了六个小时。只有通过构建全新的 ALB(迁移规则和目标组)才能恢复服务。

当地时间凌晨 4 点 15 分 (GMT+10),ALB 停止接收入站流量,并且不会响应 Web 流量。我们将它用于端口 80 和端口 443(带有 SSL 证书)终止。同时,所有目标组实例也被标记为“不健康”(尽管它们肯定是可操作的)并且没有流量转发给它们。DNS 正确解析到 ALB。它只是停止响应。网络路由器/交换机关闭或防火墙不存在的等效症状。

我们不在 ALB 后面的其他 EC2 服务器继续运行。

最初的想法是:

a) AWS 故意隔离?账单没有付款,在滥用报告中犯了一些罪行?不太可能,AWS 没有通知我们任何违规行为或采取行动的理由。

b) 我们在网络配置方面的错误?几天内没有对 NACL 或安全组进行任何更改。此外,当它发生时我们都睡着了,没有人在摆弄设置。当我们构建替代 ALB 时,我们使用相同的 NACL 和安全组没有问题。

c) 维护活动出错了?这似乎很有可能。但 AWS 似乎没有发现故障。我们没有选择它,因为我们认为 ALB 发生完全、莫名其妙且未被检测到的故障是“不太可能的”。我们需要自己进行一些外部健康检查。我们有一些基于 Nagios 的,因此可以启用警报。但是,如果 ALB 不稳定,这将无济于事——如果这种情况再次发生,继续构建新的 ALB 是不切实际的。

最大的担忧是这种情况突然发生并且出乎意料,而 AWS 没有检测到这一点。通常,我们从不担心 AWS 网络基础设施“它只是工作”。到现在。ALB 没有用户可维护的选项(例如重新启动/刷新)。

现在我的实际问题:

有没有其他人见过这样的东西?如果是这样,可以做些什么来更快地恢复服务或从一开始就阻止它?如果这发生在你身上,你做了什么?

4

1 回答 1

0

我要关闭这个。

下个星期天又发生了一次,今天晚上又发生了一次。完全一样的症状。最初通过创建新的 ALB 并迁移规则和目标组来实现恢复。奇怪的是,之前的 ALB 被观察到再次运行,但是当我们尝试恢复它时,它又失败了。

创建新的 ELB 不再是一种解决方法,我们已切换到 AWS 业务支持以从 AWS 获得直接帮助。

我们最好的假设是:AWS 在他们的维护过程中改变了一些东西,而 ALB(它实际上只是一个带有一些 AWS“专有代码”的 EC2 实例的集合)失败了,但这实际上只是疯狂的猜测。

于 2019-03-18T01:08:16.923 回答