如果我可以使用 AWS 安全组来保护我的 MongoDB EC2 实例,我真的需要 VPC 吗?

Do I really need a VPC if I can use AWS security groups to secure my MongoDB EC2 instance?

我真的被困在这里决定我是否真的需要一个 VPC 来将我的 MongoDB 实例(也是一个 graphQL 服务器)部署到 AWS 上?我正在开发一个项目,该项目将使用 GraphQL 服务器来为移动应用程序提供服务,并使用 MongoDB 实例来存储数据。我到处都读到 你必须使用 VPC,但为什么呢?我不能使用 AWS 提供的安全组吗?这将允许我锁定我的 MongoDB 实例,对吗?

我不想使用VPC的原因纯粹是因为额外的成本!。我正在从事的项目预算很少,并且为 AWS 上的 VPC 支付所有额外费用(每月至少 60 美元)是不可行的。也许如果我正在构建一个庞大的应用程序并且拥有数以万计的用户并且需要规模和增加安全性才能安心,那么我会考虑使用 VPC,但因为它不会是那样,并且预算很少,可以使用 安全组 锁定我的 mongodb ec2 实例吗?

我研究了其他托管解决方案,特别是 Digitalocean,因为它们提供免费的 VPC 服务,但是 Digitalocean 在我所在的地区没有数据中心(除其他外)+ 我在过去并愿意继续使用它。

我很乐意就我 could/should 的工作提出任何建议。

安全组是 VPC 的一项功能,与 EC2 实例的托管方式紧密相关。您需要一个 VPC 来定义您的网络规则,包括托管 MongoDB 和 GraphQL 服务器的实例是否是 public/private 以及它们的安全组规则是什么。

我不确定您指的是什么费用,因为 VPC 是免费的,并且所有帐户都附带一个已经为您创建的 VPC(默认 VPC)。您只需为您使用的 ingress/egress 流量付费,因此如果您没有做任何大事,那么与用于托管您的机器的实例的成本相比,成本将很小($0.02/GB)。

为了解决您的评论,只有当您希望您的实例位于私有子网上但您希望这些子网可以访问 Internet 时,才需要 NAT 网关。如果您愿意将实例放在 public 子网上,然后使用安全组和 NACL 规则将它们锁定(这不是最佳安全实践,但它是您可以节省成本的组成部分),则不需要这样做).