只有一个EC2实例时,使用Amazon弹性负载均衡器是否有意义?

61

我的问题很简单。仅有一个EC2实例是否需要使用Amazon弹性负载均衡器(EC2)?

如果我理解正确,ELB将在EC2实例之间切换流量。然而,我只有一个EC2实例。所以,这样做是否有意义呢?

另一方面,我正在使用Route 53将我的域请求example.comwww.example.com路由到我的ELB,但我不知道如何直接重定向到我的EC2实例。那么,我是否需要ELB来进行路由?

7个回答

88
使用弹性负载均衡器(Elastic Load Balancer)管理单个实例(instance)是有用的。它可以为您的实例提供一个前端,以覆盖灾难情况。
例如,如果您使用具有min=max = 1实例的自动缩放组(auto-scaling group),并带有Elastic Load Balancer,则如果您的实例被终止或发生故障: 1. 自动缩放将启动新的替代实例; 2. 新实例将出现在负载均衡器后面; 3. 您用户的流量将流向新实例。
这将自动发生:无需更改DNS(Domain Name System),无需手动重新分配弹性IP地址。
稍后,如果您需要为应用程序添加更多系统资源,只需增加自动扩展组(min/max值)而不需要更改DNS结构即可。

57

在AWS控制台中,配置SSL证书在ELB上比配置在EC2上要简单得多,只需点击几下即可完成。您甚至可以手动选择SSL协议和密码套件。

另外,将不同的安全组关联到实际的EC2和前置的ELB也非常有用。您可以将ELB留在DMZ中,并保护您的EC2不被公开访问,从而避免可能面临的攻击风险。


14
我也有一个“单个EC2实例位于ELB后面”的设置,唯一的目的是使用证书管理器提供的新免费SSL服务。证书管理器不允许您将证书连接到单个EC2实例,因此我认为这是唯一的方法... - Matthew Housser
3
给 SSL 加一分 :) - Andrzej Rehmann
@MatthewHousser 在AWS术语中,那仍然有效/合法吗?(2018年) - Ali Gajani
另外,如果您的SSL证书是由亚马逊提供的,则无法将其与独立的EC2实例一起使用。您必须使用ELB或CloudFront来使用SSL。另一个选择是使用免费的“Let's Encrypt”设置自动更新的SSL证书。 - Craig

19

如果您只运行单个Amazon EC2实例,则无需使用负载均衡器。

要将您的域名指向EC2实例,请按照以下步骤操作:

  • 在EC2管理控制台中,选择弹性IP
  • 分配新地址
  • 将该地址与您的EC2实例关联
  • 复制弹性IP地址,并在您的Route 53子域中使用它

后续,如果您希望在多个EC2实例之间进行负载平衡:

  • 创建一个Elastic Load Balancer
  • 将您的实例添加到负载均衡器中
  • 将您的Route 53子域指向负载均衡器

如果需要,弹性IP地址可以稍后重新关联到另一个EC2实例。


12
其他答案中与“没有必要”的观点不符的内容包括:通过自动缩放重新启动崩溃实例;更容易的SSL/TLS配置;防御某些拒绝服务攻击。 - Paul Bissex
1
如果实例被替换,也不需要更改DNS,也不需要手动重新分配弹性IP地址。 - Paul Bissex
1
+1 是为了澄清从技术角度来看是可能的(有些人可能认为这是不可能的),尽管没有 ELB 存在会带来一些未来麻烦的担忧,正如其他答案中所解释的那样。 - Akif

19
没有使用ELB会导致以下问题:
  • 安全性较差(可能会发生DOS攻击,因为HTTP 80端口会对所有人开放,而不仅仅是对ELB开放)
  • 如果要在不影响弹性IP映射的情况下节约EC2小时数,则无法终止实例。
  • 如果不使用ELB,当EC2实例变得不健康/终止/宕机时:

    1. 您的网站将保持关闭状态(如果使用ELB +缩放策略,则将保持打开状态)
    2. 您需要重新映射弹性IP
    3. 每小时支付弹性IP未指向实例的时间费用约为$0.005。
免费套餐提供750个小时的弹性负载平衡器以及15 GB的数据处理量,因此为什么不使用它以及最小=1、最大=1的缩放策略呢?

4

1

如果您想使EC2公开可达,而不必使用弹性IP地址,则可以在EC2前使用ELB。正如先前所述,它们与ASG也很配合。


1
这取决于您在EC2实例中运行的内容。如果只有一个EC2实例,则不需要使用ELB(所有流量都会转到该实例),但是,如果您的EC2服务在不久的将来需要扩展,则现在投资一些时间并熟悉ELB并不是个坏主意。这样,当您需要扩展时,只需启动其他实例即可,因为您已经完成了ELB部分。如果您的EC2服务在不久的将来不会扩展,那就不用太担心!关于第二部分,您绝对可以直接路由到EC2实例,只需EC2实例IP即可。请查看亚马逊route53文档。请注意,如果您的IP不是静态的(您没有设置Amazon Elastic IP),则每次EC2 IP更改时都需要更改IP映射。

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