Application Load Balancer 用の HTTPS リスナーを作成する
リスナーは、接続リクエストをチェックします。ロードバランサーを作成するときにリスナーを定義し、いつでもロードバランサーにリスナーを追加できます。
HTTPS リスナーを作成するには、ロードバランサーに SSL サーバー証明書を少なくとも 1 つデプロイする必要があります。ロードバランサーはサーバー証明書を使用してフロントエンド接続を終了してから、ターゲットにリクエストを送信する前に、クライアントからのリクエストを復号します。また、クライアントとロードバランサー間の安全な接続をネゴシエートするために使用されるセキュリティポリシーも指定する必要があります。
ロードバランサーが復号化せずに、暗号化されたトラフィックをターゲットに渡す必要がある場合は、ポート 443 で TCP リスナーを使用して Network Load Balancer または Classic Load Balancer を作成できます。TCP リスナーを使用すると、ロードバランサーは暗号化されたトラフィックを復号化せずにターゲットに渡します。
このページの情報は、ロードバランサー用の HTTPS リスナーを作成するのに役立ちます。ロードバランサーに HTTP リスナーを追加するには、Application Load Balancer 用の HTTP リスナーを作成する を参照してください。
前提条件
-
転送アクションをデフォルトのリスナールールに追加するには、利用可能なターゲットグループを指定する必要があります。詳細については、「Application Load Balancer のターゲットグループを作成する」を参照してください。
-
複数のリスナーで同じターゲットグループを指定できますが、これらのリスナーは同じロードバランサーに属している必要があります。ロードバランサーでターゲットグループを使用するには、ターゲットグループが他のロードバランサーのリスナーによって使用されていないことを確認する必要があります。
-
Application Load Balancer は、ED25519 キーをサポートしていません。
HTTPS リスナーの追加
クライアントからロードバランサーへの接続用のプロトコルとポートを使用してリスナーを設定します。詳細については、「リスナーの設定」を参照してください。
セキュアなリスナーを作成する場合は、セキュリティポリシーと証明書を指定する必要があります。証明書リストに証明書を追加するには、「証明書リストに証明書を追加する」を参照してください。
リスナーのデフォルトルールを設定する必要があります。リスナーの作成後に、他のリスナールールを追加できます。詳細については、「リスナールール」を参照してください。
- Console
-
HTTPS リスナーを追加するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインで、[ロードバランサー] を選択します。
-
ロードバランサーを選択します。
-
[リスナーとルール] タブから、[リスナーの追加] を選択します。
-
[プロトコル] として [HTTPS] を選択します。デフォルトポートのままにすることも、別のポートを入力することもできます。
-
(オプション) 認証ルールを追加するには、ID プロバイダーを選択した [ユーザーの認証] を選択し、必要な情報を入力します。詳細については、「Application Load Balancer を使用してユーザーを認証する」を参照してください。
-
[ルーティングアクション] では、次のいずれかのルーティングアクションを選択し、必要な情報を指定します。
-
[ターゲットグループに転送] - ターゲットグループを選択します。別のターゲットグループを追加するには、[ターゲットグループの追加] を選択し、ターゲットグループを選択して、相対重みを確認し、必要に応じて重みの更新を選択します。いずれかのターゲットグループに対して維持設定を有効にしている場合は、グループレベルの維持設定を有効にする必要があります。
ニーズに合ったターゲットグループがない場合は、[ターゲットグループの作成] を選択して今すぐ作成します。詳細については、「ターゲットグループの作成」を参照してください。
-
[Redirect to URL] - 部分ごとに分けて [URI 部分] タブに入力するか、完全なアドレスを [完全な URL] タブに入力します。[ステータスコード] では、必要に応じて一時的 (HTTP 302) または恒久的 (HTTP 301) を選択します。
-
[固定レスポンスを返す] — ドロップされたクライアントリクエストに対して返される [レスポンスコード] を入力します。必要に応じて、[コンテンツタイプ] と [レスポンス本文] を指定できます。
-
[セキュリティポリシー] では、推奨されるセキュリティポリシーを選択します。必要に応じて、別のセキュリティポリシーを選択できます。
-
[デフォルトの SSL/TLS 証明書] で、デフォルトの証明書を選択します。また、デフォルトの証明書を SNI リストに追加します。次のいずれか、またはすべてのオプションを使用して証明書を選択できます。
-
[ACM から] – [証明書 (ACM から)] から証明書を選択します。これにより、AWS Certificate Manager から利用可能な証明書が表示されます。
-
[IAM から] – [証明書 (ACM から)] から証明書を選択します。これにより、AWS Identity and Access Management にインポートした証明書が表示されます。
-
[証明書のインポート] – 証明書の送信先、つまり [ACM にインポート] か、[IAM にインポート] のいずれかを選択します。[証明書のプライベートキー] については、PEM エンコードされたプライベートキーファイルの内容をコピーして貼り付けます。[証明書本文] については、PEM エンコードされたパブリックキー証明書ファイルの内容をコピーして貼り付けます。自己署名証明書を使用しておらず、ブラウザが暗黙的に証明書を受け入れることが重要である場合に限り、[証明書チェーン] に、PEM エンコードされた証明書チェーンファイルの内容をコピーして貼り付けます。
-
(オプション) 相互認証を有効にするには、[クライアント証明書の処理] で [相互認証 (mTLS)] を有効にします。
デフォルトモードは [パススルー] です。[トラストストアで検証] を選択した場合
-
(オプション) タグを追加するには、[リスナータグ] を展開します。[新しいタグを追加] を選択し、タグのキーとタグの値を入力します。
-
[リスナーの追加] を選択します。
- AWS CLI
-
HTTPS リスナーを作成するには
create-listener コマンドを使用します。次の例では、トラフィックを指定されたターゲットグループに転送するデフォルトルールを持つ HTTPS リスナーを作成します。
aws elbv2 create-listener \
--load-balancer-arn load-balancer-arn \
--protocol HTTPS \
--port 443 \
--default-actions Type=forward,TargetGroupArn=target-group-arn \
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \
--certificates certificate-arn
- CloudFormation
-
HTTPS リスナーを作成するには
AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。次の例では、トラフィックを指定されたターゲットグループに転送するデフォルトルールを持つ HTTPS リスナーを作成します。
Resources:
myHTTPSListener:
Type: 'AWS::ElasticLoadBalancingV2::Listener'
Properties:
LoadBalancerArn: !Ref myLoadBalancer
Protocol: HTTPS
Port: 443
DefaultActions:
- Type: "forward"
TargetGroupArn: !Ref myTargetGroup
SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
Certificates:
- CertificateArn: certificate-arn