

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ロードバランサーでの HTTPS 終端の設定
<a name="configuring-https-elb"></a>

HTTPS を使用するように AWS Elastic Beanstalk 環境を更新するには、環境でロードバランサーの HTTPS リスナーを設定する必要があります。HTTPS リスナーは、Classic Load Balancer とApplication Load Balancer の 2 種類のロードバランサーをサポートします。

Elastic Beanstalk コンソールまたは設定ファイルのいずれかを使用して、セキュアリスナーを設定し、証明書を割り当てることができます。

**注記**  
単一インスタンス環境にはロードバランサーが存在せず、ロードバランサーでは HTTPS 接尾辞はサポートされません。

## Elastic Beanstalk コンソールを使用したセキュアリスナーの設定
<a name="configuring-https-elb.console"></a>

**お客様の環境のロードバランサーに証明書を割り当てるには**

1. [Elastic Beanstalk コンソール](https://console.aws.amazon.com/elasticbeanstalk)を開き、**リージョン**リストで を選択します AWS リージョン。

1. ナビゲーションペインで、[**環境**] を選択し、リストから環境の名前を選択します。

1. ナビゲーションペインで、[**設定**] を選択します。

1. [**ロードバランサー**] 設定カテゴリで、[**編集**] を選択します。
**注記**  
[**ロードバランサー**] 設定カテゴリに [**編集**] ボタンがない場合、お客様の環境には[ロードバランサー](using-features-managing-env-types.md#using-features.managing.changetype)がありません。

1. [**ロードバランサーの変更**] ページの手順は、環境に関連付けられるロードバランサーのタイプによって異なります。
   + **Classic Load Balancer**

     1. **[リスナーの追加]** を選択します。

     1. [**Classic Load Balancer リスナー**] ダイアログボックスで次の設定を構成します。
        + [**リスナーポート**] に着信トラフィックポートを入力します (通常の場合は、`443`)。
        + [**リスナープロトコル**] で [**HTTPS**] を選択します。
        + [**インスタンスポート**] に `80` と入力します。
        + [**インスタンスのプロトコル**] で [**HTTP**] を選択します。
        + [**SSL 証明書**] で、証明書を選択します。

     1. **[Add]** (追加) を選択します。
   + **Application Load Balancer**

     1. **[リスナーの追加]** を選択します。

     1. [**Application Load Balancer リスナー**] ダイアログボックスで次の設定を構成します。
        + [**ポート**] で着信トラフィックポートを入力します (通常の場合は、`443`)。
        + [**プロトコル**] として [**HTTPS**] を選択します。
        + [**SSL 証明書**] で、証明書を選択します。

     1. **[Add]** (追加) を選択します。
**注記**  
Classic Load Balancer および Application Load Balancer について、ドロップダウン・メニューに証明書が表示されない場合は、[AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/) で[カスタムドメイン名](customdomains.md)の証明書を作成またはアップロードします (推奨)。または、 AWS CLIで 証明書を IAM にアップロードします。
   + **Network Load Balancer**

     1. **[リスナーの追加]** を選択します。

     1. [**Network Load Balancer リスナー**] ダイアログボックスで、[**ポート**] に着信トラフィックポート (通常は `443`) を入力します。

     1. **[Add]** (追加) を選択します。

1. ページの最下部で **[適用]** を選択し変更を保存します。

## 設定ファイルを使用したセキュアリスナーの設定
<a name="configuring-https-elb.configurationfile"></a>

次のいずれかの [設定ファイル](ebextensions.md)を使用して、ロードバランサーに対してセキュアなリスナーを設定できます。

**Example .ebextensions/securelistener-clb.config**  
この例は、環境に Classic Load Balancer がある場合に使用します。この例では、 指定した証明書を使用して ポート 443 の HTTPS リスナーを設定し、復号化されたトラフィックがポート 80 上でお客様の環境内のインスタンスに転送されるように、`aws:elb:listener` 名前空間のオプションを使用します。  

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

強調表示されたテキストを証明書の ARN に置き換えます。証明書は、 AWS Certificate Manager (ACM) で作成またはアップロードした証明書 (推奨) でも、 を使用して IAM にアップロードした証明書でもかまいません AWS CLI。

Classic Load Balancer の設定オプションの詳細については、「[Classic Load Balancer 設定の名前空間](environments-cfg-clb.md#environments-cfg-clb-namespace)」を参照してください。

**Example .ebextensions/securelistener-alb.config**  
この例は、環境に Application Load Balancer がある場合に使用します。この例では、`aws:elbv2:listener` 名前空間内のオプションを使用して、指定した証明書によりポート 443 上の HTTPS リスナーを設定しています。リスナーは、デフォルトのプロセスにトラフィックをルーティングします。  

```
option_settings:
  aws:elbv2:listener:443:
    ListenerEnabled: 'true'
    Protocol: HTTPS
    SSLCertificateArns: arn:aws:acm:us-east-2:1234567890123:certificate/####################################
```

**Example .ebextensions/securelistener-nlb.config**  
この例は、環境に Network Load Balancer がある場合に使用します。この例では、`aws:elbv2:listener` 名前空間内のオプションを使用して、ポート 443 のリスナーを設定します。リスナーは、デフォルトのプロセスにトラフィックをルーティングします。  

```
option_settings:
  aws:elbv2:listener:443:
    ListenerEnabled: 'true'
```

## セキュリティグループを設定する
<a name="configuring-https-elb.security-group"></a>

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

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

次の設定ファイルの例では、`AWSEBSecurityGroup` セキュリティグループに進入ルールを追加します。これにより、ロードバランサーのセキュリティグループからポート 1000 へのトラフィックが許可されます。

**Example .ebextensions/sg-ingressfromlb.config**  

```
Resources:
  sslSecurityGroupIngress:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
      IpProtocol: tcp
      ToPort: 1000
      FromPort: 1000
      SourceSecurityGroupId: {"Fn::GetAtt" : ["AWSEBLoadBalancerSecurityGroup", "GroupId"]}
```