AWS CLI を使用して、Elastic Load Balancing の HTTPS および SSL リスナーに適用されているアクティブな SSL セキュリティポリシーを特定する方法を教えてください。

最終更新日: 2015 年 12 月 8 日

AWS CLI を使用して、ELB リスナーに関連付けられているアクティブな SSL セキュリティポリシーを特定する方法を教えてください。

簡単な説明

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください

コンソールを使用した HTTPS リスナーの追加」の手順に従って、ロードバランサーのリスナーを設定すると、「HTTPS/SSL ロードバランサーの SSL ネゴシエーションの設定を更新するには」のステップ 6 で説明しているように、リスナーの SSL セキュリティポリシーが AWS EC2 コンソールの [Select a Cipher] (暗号の選択) に表示されます。AWS CLI を使用すると、ロードバランサーのリスナーの SSL セキュリティポリシーの名前と定義済み Elastic Load Balancing の SSL セキュリティポリシーを表示できます。そのためには、以下の describe-load-balancer-policies コマンドを実行します。TESTELB は実際のロードバランサー名に置き換えてください。

aws elb describe-load-balancer-policies --load-balancer-name TESTELB --query "PolicyDescriptions[?PolicyTypeName==`SSLNegotiationPolicyType`].{PolicyName:PolicyName,ReferenceSecurityPolicy:PolicyAttributeDescriptions[0].AttributeValue}" --output table
注: CLI の例では、Windows コマンドプロンプトウィンドウで AWS CLI の構文を使用しています。Linux または Windows PowerShell でこれらのコマンドを実行する場合は、二重引用符の代わりに一重引用符で --query パラメータを囲みます。詳細については、「 AWS コマンドラインインターフェイスのパラメータ値の指定」を参照して、さまざまなプラットフォームで AWS CLI のコマンドを実行するときの構文の違いを確認してください。

このコマンドは以下のような出力を生成します。

-------------------------------------------------------------------------------------
|                             DescribeLoadBalancerPolicies                          |
+-------------------------------------------------------+---------------------------+
|                     PolicyName                        |  ReferenceSecurityPolicy  |
+-------------------------------------------------------+---------------------------+
| ELBSecurityPolicy-2015-05                             | ELBSecurityPolicy-2015-05 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1446825761570 | ELBSecurityPolicy-2015-03 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1446774067525 | ELBSecurityPolicy-2015-05 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1446774575245 | ELBSecurityPolicy-2015-05 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447023243695 | ELBSecurityPolicy-2014-10 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447039877149 | false                     |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447039147749 | ELBSecurityPolicy-2011-08 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 | ELBSecurityPolicy-2014-10 |
+-------------------------------------------------------+---------------------------+

注: ReferenceSecurityPolicy 値が false になっている場合、ポリシーは、「Elastic Load Balancing の SSL セキュリティポリシー」で説明しているいずれかの定義済みセキュリティポリシーを使用して作成されたものではありません。

この AWS CLI コマンドは、ロードバランサーリスナーに関連付けられている SSL セキュリティポリシーを返しますが、いずれのロードバランサーリスナーの SSL セキュリティポリシーが現在アクティブであるかは示しません。現在アクティブなポリシーを調べるには、解決方法のセクションで説明している手順を完了します。

解決方法

以下の AWS CLI コマンドを実行すると、アクティブなロードバランサーリスナーの SSL セキュリティポリシーおよび関連付けられている定義済み SSL セキュリティポリシーがすべて返されます。

1.    アクティブなリスナーの SSL セキュリティポリシーに関する情報が返されるようにするには、TESTELB を実際のロードバランサーの名前に置き換えて、describe-load-balancers を実行します。

aws elb describe-load-balancers --load-balancer-name TESTELB --query "LoadBalancerDescriptions[*].{ActivePolicy:ListenerDescriptions}" --output table
このコマンドにより、以下のような出力が返されます。

---------------------------------------------------------------------------------
|                             DescribeLoadBalancers                             |
||                                ActivePolicy                                 ||
|||                                 Listener                                  |||
||+-------------------+-------------------------------------------------------+||
|||  InstancePort     |  443                                                  |||
|||  InstanceProtocol |  SSL                                                  |||
|||  LoadBalancerPort |  443                                                  |||
|||  Protocol         |  SSL                                                  |||
|||  SSLCertificateId |  arn:aws:iam::803981987763:server-certificate/ELBSSL  |||
||+-------------------+-------------------------------------------------------+||
|||                                PolicyNames                                |||
||+---------------------------------------------------------------------------+||
|||  AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672                    |||
||+---------------------------------------------------------------------------+||
||                                ActivePolicy                                 ||
|||                                 Listener                                  |||
||+-----------------------------------------------------+---------------------+||
|||  InstancePort                                       |  80                 |||
|||  InstanceProtocol                                   |  HTTP               |||
|||  LoadBalancerPort                                   |  80                 |||
|||  Protocol                                           |  HTTP               |||
||+-----------------------------------------------------+---------------------+||

2.    アクティブなリスナーの SSL セキュリティポリシーに関連付けられているすべての定義済み SSL セキュリティポリシーが返されるようにするには、describe-load-balancer-policies を実行し、TESTELB は実際のロードバランサーの名前に、AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 はアクティブなリスナーの SSL セキュリティポリシー名に、それぞれ置き換えてください。

aws elb describe-load-balancer-policies --load-balancer-name TESTELB --policy-name AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 --query "PolicyDescriptions[0].{ReferenceSecurityPolicy:PolicyAttributeDescriptions[0].AttributeValue}" --output table
このコマンドにより、以下のような出力が返されます。

----------------------------------------------------------
|              DescribeLoadBalancerPolicies              |
+--------------------------+-----------------------------+
|  ReferenceSecurityPolicy |  ELBSecurityPolicy-2014-10  |
+--------------------------+-----------------------------+

注: 返される定義済み SSL セキュリティポリシーの値が false の場合、アクティブなロードバランサーリスナーの SSL セキュリティポリシーは、「Elastic Load Balancing の SSL セキュリティポリシー」で説明しているいずれかの定義済みセキュリティポリシーを使用して作成されたものではありません。