共有ロードバランサーを使用する 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 ファイルを使用します。または、前のステップの共有ロードバランサーで構成された既存の環境を更新します。

設定ファイルにより、Elastic Beanstalk 環境に関連付けられている共有ロードバランサーのポート 8080 に HTTP リスナーが作成されます。次に、リスナーはすべてのトラフィックをデフォルトプロセスに転送します。リスナーにルールを追加するには、AWS::ElasticLoadBalancingV2::ListenerRule リソース定義を使用して設定ファイルを拡張します。リスナーは Elastic Beanstalk 環境の追加リソースであるため、環境が終了するとリスナーは削除されます。詳細については、「共有アプリケーションロードバランサーの設定」を参照してください。

AWS公式
AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ