代码之家  ›  专栏  ›  技术社区  ›  erup

不同实例和相同端口的AWS负载平衡器

  •  2
  • erup  · 技术社区  · 6 年前

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

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

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

    1 回复  |  直到 6 年前
        1
  •  6
  •   Randall Hunt    6 年前

    负载均衡器通过它们监听的传入流量端口来定义 侦听器。当客户机连接在某个端口(即443或80)上命中负载平衡器时,A Listener forwards that request to a target group 。要让端口80上的侦听器将连接转发到多个实例,您只需创建包含这些实例的目标组。

    面向公众的网站最常见的方法是使用类似于 amazon certificate manager 的方法为网站创建TLS证书。然后,他们将该证书加载到他们的负载均衡器中,监听端口443(典型的HTTPS端口),并通过HTTP(典型的端口80)将连接传递给目标组。这通常被称为tls或ssl终止。


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

    这可以在创建了ALB之后完成,方法是转到ALB子控制台,并修改类似下面屏幕截图的侦听器规则。

    要为每个主机提供单独的证书,您还需要将这些证书添加到监听器中,正如我在my blog post outlineing the feature.

    (即443或80),a 听众 将该请求转发到 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

    推荐文章