AWS应用负载均衡器和在Amazon EC2实例上设置的Nginx负载均衡器的定价比较

3

我的问题是,我是应该选择AWS应用负载均衡器、nginx还是haproxy负载均衡器来设置在AWS EC2实例上?我更关心的是价格问题,并且不能承受停机时间。

需要创建一些负载场景 - 低、中、高,并计算出在AWS应用程序负载均衡器与EC2实例上的nginx每个场景的价格点。

有没有人可以根据您的经验建议最佳使用情况?

2个回答

3

EC2:

  1. 维护由你自己负责(更新、安全等)。
  2. 自动扩展需要你自己设置。
  3. 定价为 {your_desired_instance_type_cost} * 24小时 * 31天(1个月),加上:
  • 数据传输费用
  • 卷费用

ELB:

  1. 无需担心维护问题。
  2. 无需担心自动扩展问题。
  3. 基本价格为0.0252美元/小时 * 24小时 * 31天(1个月)≈18.74美元/月,加上:
  • 数据传输费用
  • LCU(负载均衡器容量单位)成本
  • 对于10个或更多个负载均衡器规则的额外费用

你可以使用AWS ELB计算器进行ELB计算。

你可以使用AWS Pricing Calculator来计算EC2 + Nginx的价格。

从我的经验来看,选择ELB更好。只需设置一次,就不需要再关心其他任何问题。它易于配置(基础设施即代码),具有99.95%的正常运行时间(使用EC2 + Nginx无法实现类似的效果),而且价格不算太高。此外,你现在可以将AWS WAF附加到ELB上,并且可以轻松地将CloudFront分发指向ELB。


您可以使用AWS自动化EC2自动缩放。并在AWS系统管理器维护窗口内自动修补EC2实例-但我猜这将是一项破坏性操作,并导致一些停机时间。也许更好的解决方案是自动创建新的AMI,其中包含最新的补丁,然后将其部署到您的ASG - dutoitns
您可能还想了解SSL证书及其在Nginx中的更新工作方式。如果您使用ACM在AWS中创建SSL证书并将其附加到ELB,则AWS将为您自动续订。EC2+Nginx在运行时可能更便宜,但需要大量开发工作... - dutoitns
我向某人询问了这个问题:他们说nginx实例的资源使用非常低。如果您只是进行proxy_passing,那么您可能可以使用较小的(例如t4g.small)来处理中等流量。对于宠物项目,您可以在应用服务器上运行它-您甚至不需要启动另一个服务器。我想,如果您的安全组已经设置好,并且只是Web流量,那么您可能不需要过度关注修补服务器。 - dutoitns
我也打算自己试试。ALB的成本似乎有些过高,但如果您可以通过其他方式访问服务器,则不必在所有环境(开发、QA等)中都启动它。 - dutoitns
1
@CloudNinja听起来像是一个实例,并且似乎与高可用性无关(EC2实例可能会宕机,ASG会设置另一个实例,但你仍然需要2-5分钟的时间)。OP提到了“不能承受停机时间”。 - Yupik
显示剩余4条评论

0
我认为更多的流量应该与您网站的收入成正比,所以不要害怕流量增加。当然,在AWS上支付更多费用,但是当问题出现并停机时,您会少些头痛。 想象一下,你现在投入了所有的精力。然后由于流量增加,设计复杂度增加。之后你会想,“嗯,在这一点上,我认为我需要一些帮助”……但你在EC2上,更难以在没有停机的情况下扩展。另外,您对devops的了解可能无法快速解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接