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

HTTPS を復号するよう Elastic Beanstalk 環境のロードバランサーを設定する

Elastic Beanstalk 環境を更新して HTTPS を使用するには、環境内でロードバランサー用の HTTPS リスナーを設定する必要があります。

Elastic Beanstalk マネジメントコンソールを使用してセキュアリスナーの設定、および証明書の割り当てができます。

お客様の環境のロードバランサーに証明書を割り当てるには(AWS マネジメントコンソール)

  1. Elastic Beanstalk コンソールを開きます。

  2. お客様の環境の管理ページに移動します。

  3. [Configuration] を選択します。

  4. [Network Tier] セクションで、[Load Balancing] の横にある歯車アイコンを選択します。

    注記

    [Network Tier] セクションが表示されない場合、お客様の環境にロードバランサーがありません。

  5. [Load Balancer] セクションで、[SSL certificate ID] ドロップダウンメニューから証明書を選択します。

設定ファイルを使用したセキュアなリスナーの設定

以下のような設定ファイルを使用して、ロードバランサーに対してセキュアなリスナーを設定できます。

例 .ebextensions/securelistener.config

option_settings:
  aws:elb:listener:443:
    SSLCertificateId: arn:aws:acm:us-east-2:1234567890123:certificate/####################################
    ListenerProtocol: HTTPS
    InstancePort: 80

強調表示されたテキストを証明書の ARN に置き換えます。証明書としては、ACM で作成したものか、AWS CLI で IAM にアップロードしたものを指定できます。

上記の例では、aws:elb:listener 名前空間内のオプションで、指定した証明書を使用して ポート 443 の HTTPS リスナーを設定し、復号化されたトラフィックがポート 80 上でお客様の環境内のインスタンスに転送されるようにしています。

ロードバランサーの設定オプションの詳細については、「ロードバランサー設定の名前空間」を参照してください。

セキュリティグループの構成

ポート 80 以外のインスタンスポートにトラフィックを転送するようにロードバランサーを設定する場合は、ロードバランサーからのインスタンスポート上のインバウンドトラフィックを許可するルールをセキュリティグループに追加する必要があります。カスタム VPC 内で環境を作成する場合は、Elastic Beanstalk によってこのルールが自動的に追加されます。

このルールは、Resources キーを、アプリケーションの .ebextensions ディレクトリにある設定ファイルに追加することで追加できます。

以下の例の設定ファイルでは、ロードバランサーのセキュリティグループからのポート 1000 上のトラフィックを許可する進入ルールを AWSEBSecurityGroup セキュリティグループに追加しています。

例 .ebextensions/sg-ingressfromlb.config

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