【问题标题】:EC2: Security group firewall rules across multiple regions with AutoScalingEC2:使用 AutoScaling 跨多个区域的安全组防火墙规则
【发布时间】:2012-07-08 00:31:20
【问题描述】:

出于地理冗余和性能原因,我们将在多个区域设置多个 EC2 服务器,这些服务器将使用 Amazon 的 AutoScaling 按需扩展和缩减。然而,我们有一个有点独特的要求,即所有地区的每台服务器都需要能够相互通信。虽然在单个区域中设置防火墙以允许这样做非常简单,但由于不支持从其他区域引用防火墙中的安全组,因此如何跨区域实现这一点并不明显。

有谁知道确保我们所有服务器都可以在特定端口上相互访问的最佳方法是什么?请记住,Amazon 的 AutoScaling 将添加和删除服务器,因此手动输入 IP 地址很快就会过时。我希望有一种方法可以通过配置来实现这一点,而不是每次通过 AutoScaling 添加或删除服务器时都必须进行 API 调用。

【问题讨论】:

  • 您找到解决方案了吗?我有类似的要求+遇到同样的问题。还是通过 ip 添加唯一的方法?
  • 很遗憾没有。我们研究了许多解决方案,其中之一是 vCider,但最终我们决定使用签名证书和 STunnel 来安全地打开服务器之间的端口。我相信 Amazon EC2 的构建方式是有意配置的,因此每个区域都完全独立于其他区域,因此这些类型的区域之间的依赖关系是不可能的。

标签: amazon-ec2 firewall


【解决方案1】:

我不相信这是可能的。您可以尝试使用安全组 ID 而不是名称,但我不确定这些是否可以跨区域工作。我只是试了一下,无法让它工作。该规则创建得很好,但不能保证我添加的安全组实际上是从我的帐户添加的,因为您实际上可以跨帐户添加安全组。如果您有 VPN 连接,则很可能使用 VPN 连接,因为 VPN 可以让您更好地控制防火墙规则,但我从未尝试过。

说了这么多。我认为你应该重新审视你的应用程序的要求。我不知道您为什么需要在两个区域之间连接,我了解您的目标是实现地理冗余。但是,在考虑容错时,要求两个环境相互连接会给我带来危险。如果您的环境以任何方式连接,那么即使一个环境发生故障,您也会面临完全故障的风险。在两个区域中启动实例除了延迟或容错之外还有什么用途?我的观点是,如果服务器需要安全组中的规则,则您的环境可能过于连接,而拥有两个地理位置并没有任何好处。

每个 EC2 区域都是独立的,以帮助提供强有力的架构设计决策。他们还希望将任何问题隔离到一个区域,这也是您应该努力的目标。

【讨论】:

  • 一切都与延迟有关,这也是我们添加区域的主要原因之一。每个区域连接的客户端需要实时接收来自其他区域的消息,因此完全隔离区域是没有意义的。我们已经内置了容错功能,可以消除一个区域对另一个区域的依赖,但是每个区域中的每台服务器都必须在可用时连接到另一个区域。因此,不幸的是,您的回答根本没有帮助,因为这些实例具有此级别的访问权限是有正当理由的。
  • “如果您的环境以任何方式连接” - 它们可能必须连接,例如用于数据存储复制。如果您拥有出色的配置管理设置,可以很容易地在另一个区域按需复制基础设施,但对于数据复制来说,情况就不同了,因为它必须是连续的,数据才能具有任何有效性。
  • 对,有时你无法避免。希望如果您需要那种高可用性,您正在为您的数据库使用支持多区域复制的软件。除了数据存储/数据库之外,您应该尽量避免区域内通信。
猜你喜欢
  • 1970-01-01
  • 2016-11-26
  • 2013-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-20
  • 2015-10-08
  • 2017-05-19
相关资源
最近更新 更多