AWS Elastic Beanstalk
開発者ガイド

環境の 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

デフォルトの Amazon Virtual Private Cloud (Amazon 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 がセキュリティグループ設定を更新します。