[英]Best Practice: NAT vs ElasticIP
我有两个针对Web应用程序的基本设置,它们位于Amazon Web Service的ELB后面。
布局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:
版面B:
两种设计都运行良好,但是考虑到性能和安全性,哪种设计是基础结构的最佳实践。
谢谢
简短的答案是,在两种情况下,到达ELB的流量都将通过ELB返回。
对于布局A:对于通过ELB发出的请求,就SG而言,仅入站端口很重要。
对于源自EC2实例并向外界发送流量的其他事情,您需要打开服务使用的端口
对于布局B:
是的,NAT是单点故障。 如果丢失,您将失去与外界的连接。
是。 到外部,流量将显示为源自NAT框。
通常(在常规设置中)通过ELB对服务的入站请求。
对于需要传到VPC并发往VPC的流量,您需要经过NAT。 要解决单点故障,您可以选择高可用性NAT设置,或者如果您运行多区域并且您的应用旨在支持区域故障,则只需监视和捕获NAT计算机故障即可。
使用NAT的最大优点是,并非所有需要进行外部通信的计算机都需要具有EIP,并且NAT计算机也可以运行安全性得到增强的映像。 您基本上为VPC设置了明确的边界,并且可以更好地保护它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.