使托管应用程序对 BGP 故障具有弹性

jab*_*ley 5 networking monitoring network-monitoring bgp

我的公司通过专门的托管服务提供商为其客户构建各种网站。

该托管服务提供商意外关闭了负责小范围 IP 的边界网关协议 (BGP) 公告的设备。由于我很幸运,这些 IP 之一恰好是分配给负载均衡器的公共 IP 地址,用于我们客户的所有网络流量。结果,该范围的 BGP 路由通告被撤回并很快在全球范围内无法访问。

托管服务提供商在收到警报后修复了该问题,但这让我们损失了超过 15 分钟的停机时间,我们很想在未来避免这种情况。

  1. 我们如何监控?它比我们正常的监控级别低很多,它只检查 apache httpd 状态、JVM 等。我们有内部监控,它使用 Advent AppEngine 检查服务器进程、apache 服务器状态响应、应用程序主页响应。

  2. 我们是否能够自行采取措施来解决这个问题?例如,通过某种方式发布我们自己的 BGP 公告?

我很高兴得到指示/建议阅读,而不仅仅是直接的答案,因为堆栈的这个级别对我来说是全新的,我想填补我的知识空白。

Cia*_*ian 4

您不太可能解决此问题,除非您的地址空间足够大,能够运行自己的 BGP。即使这样,您也很容易受到同行 BGP 故障的影响。

如果您在单独的 AS 中使用多个 DNS 服务器,则可以通过设置较低的 TTL 并在发现问题后通过更改 DNS 故障转移到不同网络块/数据中心中的单独 Web 服务器来解决此问题。然而,即使这至少也需要几分钟。

编辑:正如 Chris 所指出的,如果您正在运行 BGP,则需要所有对等方都出现故障,然后您才能变得无法访问。