我一直在研究在 AWS 上设置 Web 应用程序的最佳实践。我在私有子网中设置了我的数据库层。我还有一个用于 nat 实例、堡垒主机、elb 等的公共子网。我的问题是,将我的 beanstalk 实例部署到私有子网有什么好处吗?还是我应该将它们放在公共子网中。AWS 文章系列,开发、部署和管理,将 Web 服务器放在私有子网中,但我见过很多人将它们放在公共子网中。因此,我对 Web 服务器应该放在哪里以及每种方法的优缺点感到困惑。
[编辑]:
这是面向公众的网站,不是内部网站。以防万一。
答案1
默认应该将它们放在私有子网中。这样做的主要原因是安全性。通过将 EC2 实例放在公共子网中,您将使它们容易受到个人攻击。
人们将 EC2 实例放在公共子网中有一些非常糟糕的原因:
- 他们希望将其公开以供管理访问。
- 他们希望避免运行 NAT 的成本。
- 他们只是不知道还有什么更好的办法。
以上所有理由都不是正当理由。
您可能希望将 EC2 实例放在公共子网中,原因有 2 个:
由于某些原因,单个 EC2 实例需要由公众直接访问。但如果您有 ELB,那么这种情况就很少见了。
您的 EC2 实例需要足够的传出通过 NAT 访问互联网时,最大的 NAT 无法跟上带宽。为了解决这个问题,您的实例可以位于使用 VPC 互联网网关的公共子网中。
除非其中之一适用,否则请使用私有子网。