Network Load Balancer のリスナーを作成する - Elastic Load Balancing

Network Load Balancer のリスナーを作成する

リスナーとは接続リクエストをチェックするプロセスです。ロードバランサーを作成するときにリスナーを定義し、いつでもロードバランサーにリスナーを追加できます。

前提条件

  • デフォルトアクションのターゲットグループを指定する必要があります。詳細については、「Network Load Balancer のターゲットグループを作成する」を参照してください。

  • TLS リスナーの SSL 証明書を指定する必要があります。ターゲットにリクエストをルーティングする前に、ロードバランサーはこの証明書を使用して接続を終了し、クライアントからのリクエストを復号します。詳細については、「Network Load Balancer のサーバー証明書」を参照してください。

  • dualstack ロードバランサーの UDP リスナーで IPv4 ターゲットグループを使用することはできません。

  • QUIC および TCP_QUIC リスナーは、関連するセキュリティグループを使用する dualstack ロードバランサーまたはロードバランサーでは許可されません。

  • QUIC および TCP_QUIC リスナーは、関連するセキュリティグループを使用するロードバランサーでは許可されません。

  • Network Load Balancer では、常に 1 つの QUIC または TCP_QUIC リスナーのみが許可されます。

  • QUIC および TCP_QUIC リスナーは、UDP または TCP_UDP リスナーを使用する Network Load Balancer では許可されません。

リスナーの追加

クライアントからロードバランサーへの接続用のプロトコルとポート、およびデフォルトのリスナールールのターゲットグループでリスナーを設定します。詳細については、「リスナーの設定」を参照してください。

Console
リスナーを追加するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

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

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

  4. [Listeners] (リスナー) タブで、[Add listener] (リスナーの追加) を選択します。

  5. [プロトコル] で、TCPUDPTCP_UDPTLSQUIC、または TCP_QUIC を選択します。デフォルトポートのままにすることも、別のポートを入力することもできます。

  6. [Default action] (デフォルトアクション) では、トラフィックを転送するターゲットグループを選択します。

    別のターゲットグループを追加するには、[ターゲットグループを追加] を選択し、必要に応じて重みを更新します。

    ニーズに合ったターゲットグループがない場合は、[ターゲットグループを作成] を選択して今すぐ作成します。詳細については、「ターゲットグループの作成」を参照してください。

  7. [TLS リスナー] [Security policy (セキュリティポリシー)] で、デフォルトのセキュリティポリシーを保持することをお勧めします。

  8. [TLS リスナー] デフォルトの SSL/TLS サーバー証明書の場合は、デフォルトの証明書を選択します。証明書は、次のいずれかのソースから選択できます。

    • AWS Certificate Manager を使用して証明書を作成またはインポートした場合は、[ACM から] を選択して、[証明書 (ACM から)] から証明書を選択します。

    • IAM を使用して証明書をインポートした場合は、[IAM から] を選択し、[証明書 (IAM から)] から証明書を選択します。

    • 証明書がある場合は、[証明書をインポート] を選択します。[ACM にインポート] または [IAM にインポート] を選択します。[証明書のプライベートキー] では、PEM エンコードされたプライベートキーファイルの内容をコピーして貼り付けます。[証明書本文] では、PEM エンコードされたパブリックキー証明書ファイルの内容をコピーして貼り付けます。自己署名証明書を使用しておらず、ブラウザが暗黙的に証明書を受け入れることが重要である場合に限り、[証明書チェーン] に、PEM エンコードされた証明書チェーンファイルの内容をコピーして貼り付けます。

  9. [TLS リスナー] [ALPN ポリシー] で、ALPN を有効にするポリシーを選択するか、[なし] を選択して ALPN を無効にします。詳細については、「ALPN ポリシー」を参照してください。

  10. (オプション) タグを追加するには、[リスナータグ] を展開します。[新しいタグを追加] を選択し、タグのキーと値を入力します。

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

  12. [TLS リスナー] オプションの証明書リストに証明書を追加するには、「証明書リストに証明書を追加する」を参照してください。

AWS CLI
ターゲットグループを作成するには

デフォルトのアクションに使用できるターゲットグループがない場合は、create-target-group コマンドを使用して今すぐ作成します。例については「ターゲットグループの作成」を参照してください。

TCP リスナーを追加するには

create-listener コマンドを使用して、TCP プロトコルを指定します。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol TCP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=target-group-arn
複数のターゲットグループを持つ TCP リスナーを追加するには

create-listener コマンドを使用して、TCP プロトコル、ターゲットグループ、重みを指定します。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol TCP \ --port 80 \ --default-actions '[{ "Type":"forward", "ForwardConfig":{ "TargetGroups":[ {"TargetGroupArn":"target-group-1-arn","Weight":10}, {"TargetGroupArn":"target-group-2-arn","Weight":30} ] } }]'
TLS リスナーを追加するには

TLS プロトコルを指定する create-listener コマンドを使用します。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol TLS \ --port 443 \ --certificates CertificateArn=certificate-arn \ --ssl-policy ELBSecurityPolicy-TLS13-1-2-Res-2021-06 \ --default-actions Type=forward,TargetGroupArn=target-group-arn
UDP リスナーを追加するには

UDP プロトコルを指定する create-listener コマンドを使用します。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol UDP \ --port 53 \ --default-actions Type=forward,TargetGroupArn=target-group-arn
QUIC リスナーを追加するには

QUIC プロトコルを指定する create-listener コマンドを使用します。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol QUIC \ --port 443 \ --default-actions Type=forward,TargetGroupArn=target-group-arn
CloudFormation
TCP リスナーを追加するには

TCP プロトコルを使用して、AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。

Resources: myTCPListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: TCP Port: 80 DefaultActions: - Type: forward TargetGroupArn: !Ref myTargetGroup
複数のターゲットグループを持つ TCP リスナーを追加するには

TCP プロトコルを使用して、AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。

Resources: myTCPListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: TCP Port: 80 DefaultActions: - Type: forward ForwardConfig: TargetGroups: - TargetGroupArn: !Ref myTargetGroup1, Weight: 10 - TargetGroupArn: !Ref myTargetGroup2, Weight: 30 TargetGroupStickinessConfig: Enabled: true
TLS リスナーを追加するには

TLS プロトコルを使用して、AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。

Resources: myTLSListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: TLS Port: 443 SslPolicy: "ELBSecurityPolicy-TLS13-1-2-Res-2021-06" Certificates: - CertificateArn: "certificate-arn" DefaultActions: - Type: forward TargetGroupArn: !Ref myTargetGroup
UDP リスナーを追加するには

UDP プロトコルを使用して、AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。

Resources: myUDPListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: UDP Port: 53 DefaultActions: - Type: forward TargetGroupArn: !Ref myTargetGroup
QUIC リスナーを追加するには

QUIC プロトコルを使用して、AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。

Resources: myQUICListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: QUIC Port: 443 DefaultActions: - Type: forward TargetGroupArn: !Ref myTargetGroup