适用于不同实例和相同端口的AWS负载均衡器

时间:2018-11-15 14:41:14

标签: amazon-web-services aws-load-balancer

我有两个EC2实例在端口80上运行网站。

是否可以为这两个实例/服务使用/配置1个负载均衡器? 当我尝试在现有负载均衡器上添加侦听器时,它显示“您可能没有定义重复的负载均衡器端口”。

还是我应该使用2个负载平衡器,每个实例一个?

1 个答案:

答案 0 :(得分:6)

负载均衡器通过监听的传入流量端口定义监听器。当客户端连接在某个端口(即443或80)上达到负载均衡器时,监听器会将请求转发给 target group 。要在端口80上具有侦听器,将连接转发到多个实例,您要做的就是创建一个包含这些实例的目标组。 enter image description here

面向公众的网站最常用的方法是使用类似Amazon Certificate Manager的方式为网站创建TLS证书。然后,他们将该证书加载到其负载平衡器中,并侦听端口443(HTTPS的典型端口),并将通过HTTP的连接(通常为端口80)传递到目标组。通常将其称为TLS或SSL终止。


如果实例托管不同网站,但您要基于提交的主机名(例如example.com和example1.com)进行路由,则可以为每个网站创建一个单独的目标组并使用一个应用程序负载平衡器(ALB)根据请求者提供的主机名进行路由。

这可以在创建ALB之后通过转到ALB子控制台并修改类似于以下屏幕截图的侦听器规则来完成。

edit listener rules rules

要为每个主机提供单独的证书,您还需要像我在blog post中概述功能时所写的那样,将这些证书添加到侦听器中。

animated gif of certificate changing