如何为使用共享负载均衡器的 Elastic Beanstalk 环境创建额外的侦听器?

1 分钟阅读
0

我想为使用共享负载均衡器的 AWS Elastic Beanstalk 环境创建额外的侦听器。

概述

如果您在 Elastic Beanstalk 中使用共享负载均衡器,则无法使用 aws:elbv2:listener:listener_port 选项或 Elastic Beanstalk 控制台来创建额外的侦听器。这是因为 Elastic Beanstalk 不管理负载均衡器。

要为具有共享负载均衡器的 Elastic Beanstalk 环境创建额外的侦听器,请使用 .ebextension 自定义资源

**注意:**最佳的做法是将额外的侦听器与环境的生命周期关联,并在终止环境时删除这些侦听器。

解决方案

1.创建包含默认侦听器和目标组的应用程序负载均衡器

2.创建一个名为 additional-listener.config 的 YAML 配置文件:

Resources:  AdditionalHttpListener:
      Type: AWS::ElasticLoadBalancingV2::Listener
	  Properties:
        LoadBalancerArn:
          "Fn::GetOptionSetting":
		    Namespace: "aws:elbv2:loadbalancer"
            OptionName: "SharedLoadBalancer"
        DefaultActions:
        - Type: forward
		  TargetGroupArn:
            Ref: AWSEBV2LoadBalancerTargetGroup
        Port: 8080
        Protocol: HTTP

**注意:**上述 YAML 配置文件遵循 AWS::ElasticLoadBalancingV2::Listener 资源的 AWS CloudFormation 规范。

3.将配置文件添加到应用程序源包中的 .ebextensions 文件夹。

4.为更新后的应用程序源包创建一个 .zip 文件。

5.要创建新的 Elastic Beanstalk 环境,请使用此 .zip 文件。也可以更新已在上一步中配置了共享负载均衡器的现有环境。

针对与 Elastic Beanstalk 环境关联的共享负载均衡器,配置文件为其在端口 8080 上创建了一个 HTTP 侦听器。然后,侦听器将所有流量转发到默认进程。要向侦听器添加规则,请使用 AWS::ElasticLoadBalancingV2::ListenerRule 资源定义来扩展配置文件。由于侦听器是 Elastic Beanstalk 环境的额外资源,因此如果环境终止,则该侦听器将被删除。有关更多信息,请参阅配置共享应用程序负载均衡器

AWS 官方
AWS 官方已更新 7 个月前