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

eru*_*rup 2 amazon-web-services aws-load-balancer

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

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

或者我应该使用2个负载均衡器,每个实例一个?

Ran*_*unt 9

负载均衡器通过它们侦听的传入流量端口来定义侦听器.当客户端连接命中某个端口(即443或80)上的负载均衡器时,侦听器会将该请求转发给目标组.要使端口80上的侦听器转发到多个实例的连接,您需要做的就是创建一个包含这些实例的目标组. 在此输入图像描述

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


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

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

编辑监听器规则 规则

要为每个主机提供单独的证书,您还需要将这些证书添加到侦听器,就像我在博客文章中写到概述该功能一样.

证书改变的GIF动画