如何為使用共用負載平衡器的 Elastic Beanstalk 環境建立其他接聽程式?

1 分的閱讀內容
0

我想為使用共用負載平衡器的 AWS Elastic Beanstalk 環境建立其他接聽程式。

簡短描述

如果您將共用負載平衡器與 Elastic Beanstalk 搭配使用,則無法使用 aws:elbv2:listener:listener_port 選項或 Elastic Beanstalk 主控台建立其他接聽程式。這是因為 Elastic Beanstalk 不管理負載平衡器。

若要為具備共用負載平衡器的 Elastic Beanstalk 環境建立其他接聽程式,請使用 .ebextension 自訂資源

**注意:**最佳實務是將其他接聽程式與環境的生命週期建立關聯,並在終止環境時移除接聽程式。

解決方法

1.    建立一個 Application Load Balancer,其中包含預設接聽程式和目標群組。

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 檔案。或者,從上一個步驟更新使用共用負載平衡器設定的現有環境。

組態檔案會在連接埠 8080 上為與 Elastic Beanstalk 環境關聯的共用負載平衡器建立 HTTP 接聽程式。然後,接聽程式會將所有流量轉送至預設程序。若要將規則新增至接聽程式,請使用 AWS::ElasticLoadBalancingV2::ListenerRule 資源定義來擴充組態檔。由於此接聽程式是 Elastic Beanstalk 環境的附加資源,因此如果環境終止,接聽程式會移除。如需詳細資訊,請參閱設定共用 Application Load Balancer

AWS 官方
AWS 官方已更新 1 年前