如何防止受到数据中心 DDoS 攻击和维护相关停机的影响?

How to prevent being affected by data-center DDoS attack & maintainance related downtime?

我正在托管一个应该具有高可用性的 Web 应用程序。我在多个 linode 上托管并使用节点平衡器来分配流量。我的问题可能很简单——但不久前我受到了攻击数据中心的 DDoS 的影响。这让我想到下次发生这种情况时我该如何更好地准备。

节点平衡器和服务器都在同一个数据中心,当然应该是固定的。但是如何去做呢?如果我在两个不同的数据中心有两个负载均衡器——我如何设置域以指向两者,但忽略受 DDoS 影响的那个?我应该查看 DNS 管理器吗?我是不是把事情搞得太复杂了?

非常希望能提供一些见解。

谢谢大家...

您必须考虑跨数据中心进行负载平衡的方法。有几种方法可以做到这一点,每种方法各有利弊。

如果您有很多数据库调用,运行 数据中心过热会引入很多延迟问题。我会做的如下。

让第二个数据中心 (DC2) 成为温暖的地方。它配置为一切正常,并不断从 DC 1 中的主数据库获取数据,但没有主动获取流量。

使用像 CLoudFlare 这样的服务来实现极快的 DNS 切换。在 DC2 中有一项服务不断地 ping DC1 中的负载均衡器,以确保一切正常。当它无法联系 DC1 时,它可以通过 API 连接到 CloudFlare 并将主 'A' 记录切换为指向 DC2,在这种情况下它现在可以接收流量。

我忘了 CloudFlare 怎么称呼它,但它有一个 DNS 功能,允许您几乎立即切换 'A' 记录,因为给 public 的实际 IP 地址是他们自己的,他们只是路由给你的流量。

我相信 Amazon 也有与 CloudFront 类似的功能。

然而,此计划成本高昂,因为您 运行 有更多很少使用的基础设施。 Linode 正在并将成为 rolling out more network improvements,因此希望这变得不那么必要了。

要获得更高级的负载平衡和高可用性,您可以选择更多 "cloud" 提供商,但这需要付出一定的代价。

-里卡多
开发布道者,CircleCI,正式名称为 Linode