All Products
Search
Document Center

Server Load Balancer:Add a QUIC listener

Last Updated:Dec 15, 2023

Quick UDP Internet Connections (QUIC) is an ideal protocol for improving network quality and addressing video staling issues in scenarios with weak network signals or frequent switch between Wi-Fi and cellular networks. You can use QUIC to accelerate the delivery of audio and video content while maintaining data security during transmission. This topic describes how to add a QUIC listener to an Application Load Balancer (ALB) instance to encrypt data transmission. QUIC listeners can forward QUIC requests.

Introduction to QUIC

QUIC provides the same level of security as SSL, and supports connection multiplexing. In scenarios of weak connections, high network latency, and high packet loss rate, 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 popular, streaming platforms require high bandwidth and low network latency to meet business requirements. QUIC can minimize network latency, reduce 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 of 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.

Use scenarios

Scenario

Description

Use only a QUIC listener

All clients must support HTTP/3.

Use a QUIC listener together with an HTTPS listener

ALB negotiates with clients to preferentially use HTTP/3. If HTTP/3 is not supported by a client, HTTPS or HTTP/2 is used.

For more information, see the following topics:

Prerequisites

Procedures

This topic describes two procedures to show you how to add a QUIC listener. You can choose one as needed.

  • Manual creation: You can create a QUIC listener and configure advanced features based on business requirements.

  • Quick creation: You can use a template to quickly create a QUIC listener. You only need to specify a listener protocol, a listener port, a server certificate, and a backend server group.

Manual creation

Step 1: Create a listener

To create a QUIC listener, perform the following steps:

  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

    Listener Protocol

    Select a listener protocol.

    In this example, QUIC is selected.

    Listener Port

    Select the port on which the ALB instance listens. The ALB instance listens on the port and forwards 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.

    Tag

    Configure the Tag Key and Tag Value parameters to add a tag. You can add one or more tags.

    After you specify tags, you can filter listeners by tag on the Listener tab.

    Advanced Settings

    You can 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. To specify a longer timeout period,

    go to the Quota Center console.

    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

    Specify a request timeout period. Unit: seconds. Valid values: 1 to 180. To specify a longer timeout period, go to the Quota Center console.

    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, specific types of files 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

    You can select the following options:

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

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

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

Step 2: Add 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 Certificate Management Service.

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

If no server certificate is available, click Create SSL Certificate to create one. For more information, see Purchase an SSL certificate and Upload an SSL certificate.

Step 3: Select a server group

In the Select Server Group step, select a server group, view the backend servers, and then click Next.

Step 4: Review the configuration

In the Configuration Review step, confirm the configurations and click Submit.

Quick creation

If you select this method, you only need to specify a listener protocol, a listener port, a server certificate, and a server group.

  1. Log on to the ALB console.
  2. In the top navigation bar, select the region where the ALB instance resides.

  3. On the Instances page, find the ALB instance that you want to manage and click its ID.

  4. Click the Listener tab. On the Listener tab, click Quick Create Listener.

  5. In the Quick Create Listener dialog box, configure the parameters and click OK. The following table describes the parameters.

    Parameter

    Description

    Listener Protocol

    Select a listener protocol. QUIC is selected in this example.

    Listener Port

    The frontend port that is used to receive and forward requests to backend servers.

    You can select a commonly used port, or enter a port number. Valid values: 1 to 65535.

    Server Certificate

    Select a server certificate from the drop-down list.

    If no server certificate is available, click Create SSL Certificate to create one. For more information, see Purchase an SSL certificate and Upload an SSL certificate.

    Resource Group

    Select a resource group for the server group.

    Server Group

    Configure the Server Type parameter and select a server group based on the specified server type.