最佳实践:NAT vs ElasticIP

时间:2015-07-01 04:23:16

标签: amazon-web-services amazon-ec2 sysadmin eip

我在Amazon Web Service上有两个基于ELB的Web应用程序的基本设置。

布局A:

        +-----+                                        
    +---+ ELB +----+                                   
    |   +-----+    |                                   
    |              |                                   
    |              |                                   
+---v-----+  +-----v---+           +---------------+   
| EC2/EIP |  | EC2/EIP +----+----> | HTTP RESPONSE |   
+---------+  +---------+    |      +---------------+   
                            |                          
                            |      +------------------+
                            +----> | EXTERNAL WEBSITE |
                            |      +------------------+
                            |                          
                            |      +-----+             
                            +----> | API |             
                                   +-----+             

布局B:

       +-----+                                              
   +---+ ELB +----+                                         
   |   +-----+    |                                         
   |              |                                         
   |              |                                         
+--v--+        +--v--+  +-----+         +---------------+   
| EC2 |        | EC2 +--+ NAT +--+----> | HTTP RESPONSE |   
+-----+        +-----+  +-----+  |      +---------------+   
                                 |                          
                                 |      +------------------+
                                 +----> | EXTERNAL WEBSITE |
                                 |      +------------------+
                                 |                          
                                 |      +-----+             
                                 +----> | API |             
                                        +-----+             

我相信这两种架构都有利有弊:

布局A:

  • Web服务器是否将http响应发送回ELB?如果它直接发送给用户,它会获得性能响应吗?
  • 如果我仅在安全组上限制Http端口的传出流量,是否还存在安全威胁?

布局B:

  • 这个设计是否创建了另一层故障点(NAT)?
  • 是否适用于Oauth沟通?
  • 它可以与第三方CI和业务流程工具(jenkins,厨师)一起使用吗?

这两种设计都运行良好,但考虑到性能和安全性,哪种设计是基础设施的最佳实践。

感谢

1 个答案:

答案 0 :(得分:1)

简短的回答是,在两种情况下,击中ELB的流量都会通过ELB返回。

布局A: 对于通过ELB发出的请求,只有入境港对SG而言才有意义 对于源自EC2实例并向外界传输的其他事项,您需要打开服务使用的端口

布局B:
是的,NAT是单点故障。如果你失去它,就会失去与外界的联系 是。对于外部世界,流量将显示为源自NAT盒。

通常(在正常设置中)对您的服务的入站请求通过ELB 对于需要外出并源自VPC的流量,您需要经过NAT。要解决单点故障,您可以选择高可用性NAT设置,或者如果您运行多区域,并且您的应用程序旨在支持区域故障,您只需要监控并捕获NAT计算机故障。

使用NAT的一大优势是,并非所有需要在外部流量上运行的计算机都需要具有EIP,并且NAT计算机也可以运行安全加固的映像。您基本上为您的VPC设置了明确的边界,您可以更好地保护它。