限制访问跨区域ec2实例亚马逊

时间:2017-02-08 09:50:55

标签: amazon-web-services amazon-ec2 vpc

我需要设计一个跨区域的跨VPC架构,我不知道如何限制对我的资源的访问 要求是我需要在一个区域运行我的Web应用程序,在另一个区域运行我的数据库。 两个服务器都在私有子网内。 Web应用程序附加了自动缩放组和负载均衡器。只能从此Web应用程序访问其他区域中的数据库服务器。我无法使用基于IP的限制,因为负载均衡器的IP随时间而变化。我还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

Load Balancer的IP地址无关紧要,因为Load Balancer仅用于与Web服务器的传入连接。

首先,我应该指出使您的数据库远离您的应用程序是一个糟糕的架构决策,这将减慢您的应用程序。 请尽可能重新考虑!

您没有提供太多信息,因此我将做出以下假设:

  • A区的VPC包含:
    • 公有子网中的负载均衡器
    • 私有子网中的Web服务器
  • B区的VPC包含:
    • 私有子网中的数据库

在这种情况下,您希望在位于不同区域的不同VPC中的两个私有子网之间进行通信。为此,您可以考虑通过位于每个VPC的公共子网中的Amazon EC2实例创建私有VPN连接。这将使用软件VPN ,例如OpenVPNOpenSwan

您还应该考虑如何为此解决方案实现高可用性选项。架构良好的VPC可以将您的Web服务器部署在A区的多个可用区中,您的数据库最好采用B区的多可用区配置(假设您使用的是Amazon RDS)。您应该同样设计VPN解决方案,以便在发生故障时高度可用。

另一种方法是在区域A中的VPC的公有子网中放置 NAT Server ,并配置专用路由表以通过NAT Server发送流量。这意味着从Web服务器到Internet的流量都来自与NAT Server关联的公共IP地址(负载均衡器)。

但是,数据库位于私有子网中,因此流量无法直接路由到数据库,因此这只是解决方案的一半。然后,它要么要求数据库在公共子网中(具有仅接受来自NAT服务器的连接的安全组),要么在公共子网中将某些类型的代理服务器转发到数据库。与软件VPN选项相比,这将变得过于复杂。

相关问题