AWS CLI を使用して、ELB リスナーに関連付けられているアクティブな SSL セキュリティポリシーを特定する方法を教えてください。
最終更新日: 2022 年 2 月 28 日
AWS Command Line Interface (AWS CLI) を使用して、Elastic Load Balancing (ELB) の HTTPS または SSL リスナーでアクティブなセキュリティポリシーを特定したいです。どうすればよいですか?
簡単な説明
注意: AWS CLI コマンドの実行時にエラーが発生する場合は、AWS CLI の最新バージョンを使用していることを確認してください。
Amazon Elastic Compute Cloud (Amazon EC2) 用の ロードバランサーに HTTPS リスナーを追加できます。リスナーの SSL セキュリティポリシーが Amazon EC2 コンソールに表示されます。手順については、「 HTTPS/SSL ロードバランサーの SSL ネゴシエーション設定の更新」を参照してください。
以下のような AWS CLI コマンド describe-load-balancer-policies を使用して、ロードバランサーリスナーの SSL セキュリティポリシー名と定義済みの SSL セキュリティポリシーを表示できます。
aws elb describe-load-balancer-policies --load-balancer-name EXAMPLEELB --query "PolicyDescriptions[?PolicyTypeName==`SSLNegotiationPolicyType`].{PolicyName:PolicyName,ReferenceSecurityPolicy:PolicyAttributeDescriptions[0].AttributeValue}" --output table
出力例:
-------------------------------------------------------------------------------------
| 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 になっている場合、ポリシーは、いずれかの定義済みセキュリティポリシーを使用して作成されたものではありません。
この出力では、ロードバランサーリスナーに関連付けられた SSL セキュリティポリシーが返されますが、どのポリシーがアクティブかは示されません。
解決方法
1. 以下のような AWS コマンド describe-load-balancer を実行します。
aws elb describe-load-balancers --load-balancer-name EXAMPLEELB --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. ポリシーに関する詳細情報を取得するには、以下のような AWS CLI コマンド describe-load-balancer-policies を実行します。
aws elb describe-load-balancer-policies --load-balancer-name EXAMPLEELB --policy-name AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 --query "PolicyDescriptions[0].{ReferenceSecurityPolicy:PolicyAttributeDescriptions[0].AttributeValue}" --output table
出力例:
----------------------------------------------------------
| DescribeLoadBalancerPolicies |
+--------------------------+-----------------------------+
| ReferenceSecurityPolicy | ELBSecurityPolicy-2014-10 |
+--------------------------+-----------------------------+