メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

環境の Load Balancer を TCP パススルー用に設定する

AWS Elastic Beanstalk 環境でロードバランサーに HTTPS トラフィックを複合化させたくない場合は、リクエストをそのままバックエンドインスタンスに中継するようにセキュアリスナーを設定できます。

最初に環境の EC2 インスタンスが HTTPS を終了するように設定します。単一インスタンスの環境の設定をテストして、組み合わせにロードバランサーを追加する前に、すべてが機能していることを確認します。

設定ファイルをプロジェクトに追加して、TCP パケットをそのままバックエンドインスタンスのポート 443 に渡すように、ポート 443 のリスナーを設定します。

.ebextensions/https-lb-passthrough.config

option_settings:
  aws:elb:listener:443:
    ListenerProtocol: TCP
    InstancePort: 443
    InstanceProtocol: TCP

デフォルトの VPC では、インスタンスのセキュリティグループにルールを追加して、ロードバランサーから 443 への着信トラフィックを許可する必要があります。

.ebextensions/https-instance-securitygroup.config

Resources:
  443inboundfromloadbalancer:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
      IpProtocol: tcp
      ToPort: 443
      FromPort: 443
      SourceSecurityGroupName: { "Fn::GetAtt": ["AWSEBLoadBalancer", "SourceSecurityGroup.GroupName"] }

カスタム VPC では、Elastic Beanstalk がセキュリティグループ設定を更新します。