All Products
Search
Document Center

Server Load Balancer:Add a QUIC listener

Last Updated:Aug 18, 2023

This topic describes how to add a Quick UDP Internet Connections (QUIC) listener to an Application Load Balancer (ALB) instance to encrypt data transmission. You can add a QUIC listener to forward QUIC requests.

Introduction to QUIC

QUIC provides the same level of security as SSL, and supports connection multiplexing and zero round trip time resumption (0-RTT). In scenarios of weak connections, high network latency, and packet loss, QUIC ensures service availability. QUIC can implement different congestion control algorithms at the application layer regardless of the operating system or kernel. Compared with TCP, QUIC supports flexible adjustments based on service requirements. QUIC is a suitable alternative when TCP optimization encounters bottlenecks.

As short videos and live streaming services become more and more popular, streaming platforms require high bandwidth and low network latency to meet their business requirements. QUIC can minimize network latency, solve video buffering, accelerate the delivery of audio and video content, and secure data transfer.

Supported QUIC protocol types

ALB supports gQUIC and iQUIC. HTTP/3 is an application-layer protocol based on iQUIC. HTTP/3 uses iQUIC to implement multiplexing, congestion control, packet loss detection, and retransmission. HTTP/3 supports faster connection establishment, eliminates head-of-line blocking issues, and supports connection migration in scenarios in which the client IP address changes.

  • ALB supports gQUIC versions Q46, Q43, and Q39 and Chrome 74 to 81.

  • ALB supports HTTP/3 (h3) and Chrome 87 to 114.

ALB instances in the China (Hong Kong), China (Nanjing - Local Region), and China (Fuzhou - Local Region) regions do not support HTTP/3.

Prerequisites

  • An ALB instance is created. For more information, see the Create an ALB instance topic.

  • At least one SSL server certificate is deployed on the ALB instance.

  • A group of backend servers is specified in the default forwarding rule of the listener to receive requests. For more information, see Create and manage server groups.

Step 1: Configure a listener

To configure a QUIC listener, perform the following operations:

  1. Log on to the ALB console.
  2. Use one of the following methods to open the listener configuration wizard:

    • On the Instances page, find the ALB instance that you want to manage and click Actions in the Create Listener column.

    • On the Instances page, click the ID of the ALB instance that you want to manage. On the Listener tab, click Create Listener.

  3. On the Configure Listener wizard page, set the following parameters and click Next.

    Parameter

    Description

    Listening Protocol

    Select a listener protocol.

    In this example, QUIC is selected.

    Listener Port

    Specify a port on which the ALB instance listens. The ALB instance uses the port to receive requests and forward the requests to backend servers.

    Valid values: 1 to 65535.

    Note

    The ports on which an ALB instance listens must be unique.

    Listener Name

    Enter a name for the listener. The name must be 2 to 256 characters in length and can contain letters, digits, periods (.), underscores (_), hyphens (-), commas (,), semicolons (;), forward slashes (/), and at signs (@).

    Advanced Settings

    Click Modify to configure the advanced settings.

    Idle Connection Timeout Period

    Specify a timeout period for idle connections. Unit: seconds. Valid values: 1 to 60.

    If no request is received within the specified timeout period, ALB closes the connection. When another request is received, ALB establishes a new connection.

    Connection Request Timeout Period

    Specify a request timeout period. Unit: seconds. Valid values: 1 to 180.

    If no response is received from the backend server within the request timeout period, ALB returns the HTTP 504 error code to the client.

    Compression

    If you enable compression, files of specific types are compressed. If you disable compression, no file is compressed.

    Brotli supports all file types. GZIP supports the following file types: text/xml, text/plain, text/css, application/javascript, application/x-javascript, application/rss+xml, application/atom+xml, application/xml, and application/json.

    Add HTTP Header Fields

    Select the HTTP headers that you want to add. Valid values:

    • Add SLB-ID to Retrieve ALB ID: obtains the ID of the ALB instance.

    • Add X-Forwarded-Proto to Retrieve Listening Protocol: obtains the listener protocol.

    • Add X-Forwarded-Port to Retrieve Listening Port: obtains the listener port.

Step 2: Configure an SSL certificate

Configure an SSL certificate to ensure that data transmission is encrypted and the identities of users are verified by a trusted authority. For more information, see SSL certificates.

On the Configure SSL Certificate wizard page, select a server certificate or click Create SSL Certificate in the Server Certificate drop-down list to purchase a new certificate. Click Next.

Step 3: Select a server group

On the Select Server Group wizard page, select Server Type, select a server group from the Server Type drop-down list, confirm the backend servers, and then click Next.

Step 4: Confirm the configurations

On the Configuration Review wizard page, confirm the configurations and click Submit.

What to do next

After you create a QUIC listener, you can create an HTTPS listener based on your business requirements and enable the QUIC upgrade feature. For more information, see the following topics: