限制访问 Amazon 跨区域 EC2 实例
Restrict access to Cross-region ec2 instances amazon
我需要设计一个跨区域的跨 VPC 架构,但我不确定如何限制对我的资源的访问
要求是我需要 运行 我的网络应用程序在一个地区和我的数据库在另一个地区。
两台服务器都在私有子网内。 Web 应用程序附加了一个自动缩放组和负载均衡器。其他区域的数据库服务器只能从此 Web 应用程序访问。我不能使用基于 ip 的限制,因为负载均衡器的 IP 随时间变化。我还有什么其他选择?
您的负载均衡器的 IP 地址无关紧要,因为负载均衡器仅用于与您的 Web 服务器的传入连接。
首先,我应该指出 让您的数据库远离您的应用程序是一个糟糕的架构决策,这会减慢您的应用程序。 可以的话请重新考虑!
你提供的信息不多,所以我做以下假设:
- 区域 A 中的 VPC 包含:
- public 子网中的负载均衡器
- 私有子网中的 Web 服务器
- 区域 B 中的 VPC 包含:
- 私有子网中的数据库
在这种情况下,您希望在位于不同区域的不同 VPC 中的两个私有子网之间进行通信。为此,您可以考虑通过位于每个 VPC 的 public 子网中的 Amazon EC2 实例创建 私有 VPN 连接。这将使用 软件 VPN 例如 OpenVPN or OpenSwan.
您还应该考虑如何为该解决方案实现高可用性选项。 well-architected VPC 会将您的 Web 服务器部署在区域 A 的多个可用区中,您的数据库最好在区域 B 中采用 multi-AZ 配置(假设您使用的是 Amazon RDS)。您应该类似地将您的 VPN 解决方案设计为 highly-available 以防万一。
另一种方法是在 Region A 的 VPC 的 public 子网中放置一个 NAT Server,并配置私有路由 Table 来发送流量通过 NAT 服务器。这意味着从 Web 服务器到 Internet 的流量将全部来自与 NAT 服务器关联的 public IP 地址( 而不是 负载均衡器)。
但是,数据库位于私有子网中,因此无法将流量直接路由到数据库,因此这只是解决方案的一半。然后它将要求数据库位于 public 子网中(具有仅接受来自 NAT 服务器的连接的安全组)或 public 子网中的某种类型的代理服务器将流量转发到数据库。与软件 VPN 选项相比,这将变得过于复杂。
我需要设计一个跨区域的跨 VPC 架构,但我不确定如何限制对我的资源的访问 要求是我需要 运行 我的网络应用程序在一个地区和我的数据库在另一个地区。 两台服务器都在私有子网内。 Web 应用程序附加了一个自动缩放组和负载均衡器。其他区域的数据库服务器只能从此 Web 应用程序访问。我不能使用基于 ip 的限制,因为负载均衡器的 IP 随时间变化。我还有什么其他选择?
您的负载均衡器的 IP 地址无关紧要,因为负载均衡器仅用于与您的 Web 服务器的传入连接。
首先,我应该指出 让您的数据库远离您的应用程序是一个糟糕的架构决策,这会减慢您的应用程序。 可以的话请重新考虑!
你提供的信息不多,所以我做以下假设:
- 区域 A 中的 VPC 包含:
- public 子网中的负载均衡器
- 私有子网中的 Web 服务器
- 区域 B 中的 VPC 包含:
- 私有子网中的数据库
在这种情况下,您希望在位于不同区域的不同 VPC 中的两个私有子网之间进行通信。为此,您可以考虑通过位于每个 VPC 的 public 子网中的 Amazon EC2 实例创建 私有 VPN 连接。这将使用 软件 VPN 例如 OpenVPN or OpenSwan.
您还应该考虑如何为该解决方案实现高可用性选项。 well-architected VPC 会将您的 Web 服务器部署在区域 A 的多个可用区中,您的数据库最好在区域 B 中采用 multi-AZ 配置(假设您使用的是 Amazon RDS)。您应该类似地将您的 VPN 解决方案设计为 highly-available 以防万一。
另一种方法是在 Region A 的 VPC 的 public 子网中放置一个 NAT Server,并配置私有路由 Table 来发送流量通过 NAT 服务器。这意味着从 Web 服务器到 Internet 的流量将全部来自与 NAT 服务器关联的 public IP 地址( 而不是 负载均衡器)。
但是,数据库位于私有子网中,因此无法将流量直接路由到数据库,因此这只是解决方案的一半。然后它将要求数据库位于 public 子网中(具有仅接受来自 NAT 服务器的连接的安全组)或 public 子网中的某种类型的代理服务器将流量转发到数据库。与软件 VPN 选项相比,这将变得过于复杂。