【问题标题】:What's the point of an AWS ELB setup with Cloudfront, rather than a single EC2 instance?使用 Cloudfront 设置 AWS ELB 而不是单个 EC2 实例有什么意义?
【发布时间】:2018-08-08 17:29:14
【问题描述】:

如果 AWS Cloudfront 为访问者缓存您的网站内容,那么设置 ELB 而不是标准的单一 Web 服务器 EC2 实例又有什么意义?

当然,只有少数 Cloudfront 连接会与服务器通信。

【问题讨论】:

  • “可以肯定的是,只有少数 Cloudfront 连接会与服务器进行通信。” 您为什么建议会出现这种情况?您是否打算加密 CloudFront 和您的实例之间的流量?如果是这样,你将如何做到这一点?

标签: amazon-web-services amazon-ec2 amazon-cloudfront amazon-elb


【解决方案1】:

您不需要在 CloudFront 和您的单个 EC2 实例之间使用 ELB。 ELB 和 CloudFront 都提供了额外的保护 (DDoS),但对于单个实例,两者都不需要也不需要设置。

但是,AWS 的一大设计优势是负载平衡和 Auto Scaling (ASG)。您将需要一个负载均衡器来添加这些功能。网站确实会崩溃,启用 ASG 将确保在您的网络服务器无响应时启动新实例。

注意。您不希望您的 EC2 实例可用于公共 Internet。您将吸引大量知道 AWS IP 地址的黑客。此流量可以快速消耗小型 T.x 实例上的资源。确保您的安全组设置为仅允许来自 CloudFront 的流量。

【讨论】:

    【解决方案2】:

    这是一个广泛的问题。如果您真的知道自己在做什么以及您真正需要什么,那么如果您只需要一个 EC2 实例,那么您可以使用它。

    对于生产环境,始终建议拥有多个应用程序实例(服务器),以避免单点故障。这意味着,如果一台服务器出现故障或流量负载增加,其他实例会协调并保持应用程序正常运行并可供用户/客户访问。

    更多细节请参考原文档:

    https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html

    Elastic Load Balancing 在多个可用区中的多个 EC2 实例之间分配传入的应用程序流量。这会提高应用程序的容错能力。

    负载平衡器充当客户端的单一联系点,从而提高应用程序的可用性。随着需求的变化,您可以在负载均衡器中添加和删除实例,而不会中断对应用程序的整体请求流。 Elastic Load Balancing 会随着应用程序的流量随时间变化而扩展负载均衡器,并且可以自动扩展到绝大多数工作负载。

    您可以配置健康检查,用于监控已注册实例的健康状况,以便负载均衡器仅向健康的实例发送请求。您还可以将加密和解密工作卸载到负载均衡器上,以便您的实例可以专注于它们的主要工作。

    https://aws.amazon.com/elasticloadbalancing/

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 1970-01-01
      • 2012-03-14
      • 2019-10-28
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 2023-03-26
      • 2017-08-03
      相关资源
      最近更新 更多