如何将Web服务器放置在AWS的私有子网中,并在端口80上将其打开到全世界

我正在尝试设置高度可用的AWS Magento部署。 这里有一个参考部署: http : //docs.aws.amazon.com/quickstart/latest/magento/architecture.html

基于这一点,我想build立自己的,我喜欢他的想法,只有NAT实例在公共子网。

RDS实例和Web服务器都在私有子网的NAT后面。 我发现这与我迄今为止的大部分理解都有所不同,那就是networking服务器必须位于公共子网中才能够从互联网访问。

我缺less的是如何configuration在公有子网中运行的NAT实例,以便将端口80/443端口转发到专用子网中的NAT后面相应的networking服务器。 我不相信这可以通过单独的NAT实例上的安全组来完成。

您通常不会使用NAT实例,为此,实际上更加正确地将其称为PAT(端口地址转换,NAT的子集)实例。 NAT实例的存在是为了向私有子网上的实例提供出站访问Internet和大多数AWS服务(例如SQS或SNS) – 私有子网上的实例(仅根据定义具有专用IP地址)通过NAT实例的公共IP地址被伪装。 可以使用静态端口映射来configurationNAT实例,也可以通过iptables或在NAT实例上运行反向代理来更复杂地访问内部服务,但这不是典型的configuration。

链接文档的图2中显示了通过Internet访问Web服务器的可访问性。 部署在公有子网中的Elastic Load Balancer具有公有IP地址以及私有IP地址。 它在公共端接受来自互联网的stream量,并将其转发到您私人networking上的服务器。

ELB提供从外部访问所有实例的单一逻辑点,不会将stream量转发到不认为“健康”的实例。