

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

# Classic Load Balancer の SSL ネゴシエーション設定の更新
<a name="ssl-config-update"></a>

Elastic Load Balancing は、クライアントとロードバランサーの間の SSL 接続でのネゴシエーションに使用するSSL ネゴシエーション設定を事前定義した、セキュリティポリシーを提供します。リスナーに HTTPS/SSL プロトコルを使用する場合は、事前定義されたセキュリティポリシーのいずれか、または独自のカスタムセキュリティポリシーを使用できます。

セキュリティポリシーの詳細については、「[Classic Load Balancers での SSL ネゴシエーション設定](elb-ssl-security-policy.md)」を参照してください。Elastic Load Balancing で提供されるセキュリティポリシーの設定については、「[Classic Load Balancer 用の事前定義済み SSL セキュリティポリシー](elb-security-policy-table.md)」を参照してください。

セキュリティポリシーを関連付けないで HTTPS/SSL リスナーを作成した場合、事前定義されたデフォルトのセキュリティポリシー `ELBSecurityPolicy-2016-08` が、Elastic Load Balancing によりロードバランサーに関連付けられます。

希望に応じて、カスタム設定を作成できます。ロードバランサー設定をアップグレードする前に、セキュリティポリシーをテストすることを強くお勧めします。

次の例は、HTTPS/SSL リスナーの SSL ネゴシエーション設定を更新する方法を示しています。変更は、ロードバランサーノードが受け取ったリクエスト及び正常なインスタンスへのルーティング待ちリクエストに影響を与えません。変更された設定は新規のリクエストに対して適用されます。

**Topics**
+ [コンソールを使用した SSL ネゴシエーション設定の更新](#ssl-config-update-console)
+ [を使用して SSL ネゴシエーション設定を更新する AWS CLI](#ssl-config-update-cli)

## コンソールを使用した SSL ネゴシエーション設定の更新
<a name="ssl-config-update-console"></a>

デフォルトでは、Elastic Load Balancing は事前定義された最新のセキュリティポリシーをロードバランサーに関連付けます。新しい定義済みポリシーが追加された場合は、新しい定義済みポリシーを使用するようにロードバランサーを更新することをお勧めします。また、別の事前定義されたセキュリティポリシーやカスタムポリシーを選択することもできます。

**コンソールを使用して HTTPS/SSL ロードバランサーの SSL ネゴシエーション設定を更新するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインの [**ロードバランシング**] で [**ロードバランサー**] を選択します。

1. ロードバランサーの名前を選択して、その詳細ページを開きます。

1. **[リスナー]** タブで、**[リスナーを追加]** を選択します。

1. **[リスナーを管理]** ページで、更新するリスナーを見つけ、**[セキュリティポリシー]** で **[編集]** を選択します。
   + デフォルトのポリシー **[ELBSecurityPolicy-2016-08]** をそのまま使用し、**[変更内容の保存]** を選択します。
   + デフォルト以外の定義済みポリシーを選択し、**[変更内容の保存]** を選択します。
   + **[カスタム]** を選択し、次のようにプロトコルと暗号を少なくとも 1 つずつ有効にします。

     1. [**SSL Protocols**] で、有効にするプロトコルを 1 つ以上選択します。

     1. [Classic Load Balancer 用の事前定義済み SSL セキュリティポリシー](elb-security-policy-table.md) にリストされた順序で SSL ネゴシエーションに使用するには、[**SSL オプション**] で [**サーバーの優先順位**] をクリックします。

     1. [**SSL Ciphers**] で、有効にする暗号を 1 つ以上選択します。既に SSL 証明書がある場合、DSA および RSA 暗号化は署名アルゴリズムに固有になるため、その証明書を作成する際に使用した暗号を有効にする必要があります。

     1. **[Save changes]** (変更の保存) をクリックします。

## を使用して SSL ネゴシエーション設定を更新する AWS CLI
<a name="ssl-config-update-cli"></a>

事前定義されたデフォルトのセキュリティポリシー `ELBSecurityPolicy-2016-08`、別の事前定義されたセキュリティポリシー、またはカスタムセキュリティポリシーを使用できます。

**事前定義された SSL セキュリティポリシーを使用するには**

1. 次の [describe-load-balancer-policies](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancer-policies.html) コマンドを使用して、Elastic Load Balancing から提供された、事前定義済みセキュリティポリシーを一覧表示します。使用する構文は、使用しているオペレーティングシステムとシェルによって異なります。

   **Linux**

   ```
   aws elb describe-load-balancer-policies --query 'PolicyDescriptions[?PolicyTypeName==`SSLNegotiationPolicyType`].{PolicyName:PolicyName}' --output table
   ```

   **Windows**

   ```
   aws elb describe-load-balancer-policies --query "PolicyDescriptions[?PolicyTypeName==`SSLNegotiationPolicyType`].{PolicyName:PolicyName}" --output table
   ```

   出力例を次に示します。

   ```
   ------------------------------------------
   |      DescribeLoadBalancerPolicies      |
   +----------------------------------------+
   |               PolicyName               |
   +----------------------------------------+
   |  ELBSecurityPolicy-2016-08             |
   |  ELBSecurityPolicy-TLS-1-2-2017-01     |
   |  ELBSecurityPolicy-TLS-1-1-2017-01     |
   |  ELBSecurityPolicy-2015-05             |
   |  ELBSecurityPolicy-2015-03             |
   |  ELBSecurityPolicy-2015-02             |
   |  ELBSecurityPolicy-2014-10             |
   |  ELBSecurityPolicy-2014-01             |
   |  ELBSecurityPolicy-2011-08             |
   |  ELBSample-ELBDefaultCipherPolicy      |
   |  ELBSample-OpenSSLDefaultCipherPolicy  |
   +----------------------------------------+
   ```

   ポリシーで有効な暗号を確認するには、次のコマンドを使用します。

   ```
   aws elb describe-load-balancer-policies --policy-names ELBSecurityPolicy-2016-08 --output table
   ```

   事前定義されたセキュリティポリシーの設定については、「[Classic Load Balancer 用の事前定義済み SSL セキュリティポリシー](elb-security-policy-table.md)」を参照してください。

1. [create-load-balancer-policy](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer-policy.html) コマンドを使用して、前のステップで一覧表示した事前定義済みセキュリティポリシーのいずれかを使用する、SSL ネゴシエーションポリシーを作成します。たとえば、次のコマンドでは事前定義されたデフォルトのセキュリティポリシーが使用されます。

   ```
   aws elb create-load-balancer-policy --load-balancer-name my-loadbalancer
   --policy-name my-SSLNegotiation-policy  --policy-type-name SSLNegotiationPolicyType
   --policy-attributes AttributeName=Reference-Security-Policy,AttributeValue=ELBSecurityPolicy-2016-08
   ```

   ロードバランサーのポリシー数の制限を超えた場合は、[delete-load-balancer-policy](https://docs.aws.amazon.com/cli/latest/reference/elb/delete-load-balancer-policy.html) コマンドを使用して、未使用のポリシーを削除します。

1. (オプション) 次の [describe-load-balancer-policies](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancer-policies.html) コマンドを使用して、ポリシーが作成されたことを確認します。

   ```
   aws elb describe-load-balancer-policies --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy
   ```

   応答には、ポリシーの説明が含まれます。

1. 次の [set-load-balancer-policies-of-listener](https://docs.aws.amazon.com/cli/latest/reference/elb/set-load-balancer-policies-of-listener.html) コマンドを使用して、ポリシーをロードバランサーのポート 443 で有効にします。

   ```
   aws elb set-load-balancer-policies-of-listener --load-balancer-name my-loadbalancer --load-balancer-port 443 --policy-names my-SSLNegotiation-policy
   ```
**注記**  
`set-load-balancer-policies-of-listener` コマンドは、指定されたロードバランサーのポートの現在のポリシーのセットを、指定されたポリシーのセットで上書きします。`--policy-names` リストには、有効にするすべてのポリシーを含める必要があります。現在有効なポリシーを省略すると、そのポリシーは無効になります。

1. (オプション) 次の [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) コマンドを使用して、新しいポリシーが、ロードバランサーのポートで有効化されていることを確認します。

   ```
   aws elb describe-load-balancers --load-balancer-name my-loadbalancer
   ```

   応答には、ポリシーがポート 443 で有効になっていることが示されます。

   ```
   ...
     {
         "Listener": {
             "InstancePort": 443,
             "SSLCertificateId": "ARN",
             "LoadBalancerPort": 443,
             "Protocol": "HTTPS",
             "InstanceProtocol": "HTTPS"
         },
         "PolicyNames": [
             "my-SSLNegotiation-policy"
         ]
     }
   ...
   ```

カスタムセキュリティポリシーを作成するとき、プロトコルと暗号を少なくとも 1 つずつ有効にする必要があります。DSA および RSA の暗号は署名アルゴリズムに固有であり、SSL 証明書を作成するために使用されます。すでに SSL 証明書がある場合は、証明書を作成するときに使用された暗号を有効にします。カスタムポリシーの名前は、`ELBSecurityPolicy-` や `ELBSample-` で始めないでください。これらの プレフィックスは、事前定義されたセキュリティポリシーの名前用に予約されているためです。

**カスタム SSL セキュリティポリシーを使用するには**

1. [create-load-balancer-policy](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer-policy.html) コマンドを使用して、カスタムセキュリティポリシーを利用する SSL ネゴシエーションポリシーを作成します。以下に例を示します。

   ```
   aws elb create-load-balancer-policy --load-balancer-name my-loadbalancer 
    --policy-name my-SSLNegotiation-policy --policy-type-name SSLNegotiationPolicyType 
    --policy-attributes AttributeName=Protocol-TLSv1.2,AttributeValue=true 
    AttributeName=Protocol-TLSv1.1,AttributeValue=true 
    AttributeName=DHE-RSA-AES256-SHA256,AttributeValue=true 
    AttributeName=Server-Defined-Cipher-Order,AttributeValue=true
   ```

   ロードバランサーのポリシー数の制限を超えた場合は、[delete-load-balancer-policy](https://docs.aws.amazon.com/cli/latest/reference/elb/delete-load-balancer-policy.html) コマンドを使用して、未使用のポリシーを削除します。

1. (オプション) 次の [describe-load-balancer-policies](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancer-policies.html) コマンドを使用して、ポリシーが作成されたことを確認します。

   ```
   aws elb describe-load-balancer-policies --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy
   ```

   応答には、ポリシーの説明が含まれます。

1. 次の [set-load-balancer-policies-of-listener](https://docs.aws.amazon.com/cli/latest/reference/elb/set-load-balancer-policies-of-listener.html) コマンドを使用して、ポリシーをロードバランサーのポート 443 で有効にします。

   ```
   aws elb set-load-balancer-policies-of-listener --load-balancer-name my-loadbalancer --load-balancer-port 443 --policy-names my-SSLNegotiation-policy
   ```
**注記**  
`set-load-balancer-policies-of-listener` コマンドは、指定されたロードバランサーのポートの現在のポリシーのセットを、指定されたポリシーのセットで上書きします。`--policy-names` リストには、有効にするすべてのポリシーを含める必要があります。現在有効なポリシーを省略すると、そのポリシーは無効になります。

1. (オプション) 次の [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) コマンドを使用して、新しいポリシーが、ロードバランサーのポートで有効化されていることを確認します。

   ```
   aws elb describe-load-balancers --load-balancer-name my-loadbalancer
   ```

   応答には、ポリシーがポート 443 で有効になっていることが示されます。

   ```
   ...
     {
         "Listener": {
             "InstancePort": 443,
             "SSLCertificateId": "ARN",
             "LoadBalancerPort": 443,
             "Protocol": "HTTPS",
             "InstanceProtocol": "HTTPS"
         },
         "PolicyNames": [
             "my-SSLNegotiation-policy"
         ]
     }
   ...
   ```