我可以将Nginx放在AWS VPC的公共子网中,将网络服务器放在私有子网中吗?

时间:2019-05-12 20:13:17

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

我对VPC有点困惑。我有一个要安装的网络应用程序。我认为使用代理可能会在公共子网中只有一个小的nginx运行实例,并在私有子网中有该应用程序的实际Web服务器。我读过的很多东西都将Web服务器放在公共子网中,而像数据库私有这样的东西。但是从我的阅读看来,该网络服务器可能位于私有子网中。是这样吗?

下一类混乱是API Gateway与CloudFront以及CloudFront与nginx的交互。我想在我的Web应用程序中使用AWS免费证书(ACM)。

2 个答案:

答案 0 :(得分:2)

在公共子网中使用代理或负载平衡器,在私有子网中使用Web服务器是最佳实践。通常,您应该公开尽可能少的服务器/服务。

我建议使用Application Load BalancerNetwork Load Balancer,除非您对Nginx前端有特殊需要。 ALB或NLB需要多个Availability Zones

此外,ALB和NLB是AWS托管服务,因此您无需花费资源来监视反向代理(NGINX)的故障情况。

参考

AWS Web Hosting Best Practices

AWS Reference Architecture

答案 1 :(得分:0)

好吧,kenlukas Answers和剩余部分的小附件。

  

下一类混淆是API Gateway与CloudFront和   CloudFront与Nginx的交互。我想使用AWS免费证书(ACM)   通过我的网络应用。

  1. ALB和NLB是AWS托管服务。因此,您无需花费时间监视自己的Reveres-proxy(NGINX)的故障情况。
  2. 使用AWS托管负载平衡器的另一个好理由是您可以轻松集成证书。 Here you go:getting-a-free-ssl-certificate-on-aws-a-how-to-guide
  3. 对于Cloudfront和API网关,不确定您的详细用例,但是此thread可能会为您提供有关缓存方面的详细信息。
相关问题