IPv6 for Application Load Balancers and proxy Network Load Balancers

This document shows you how IPv6 traffic is handled by Application Load Balancers and proxy Network Load Balancers. These load balancers are proxy load balancers, which means that incoming client connections are terminated at the load balancer. The load balancer then initiates a new connection to forward the client request to the backend. Depending on the type of load balancer, you can enable IPv6 for either or both of these connections.

Enabling IPv6 for your load balancer has the following benefits:

  • Run dual-stack deployments. To serve both IPv6 and IPv4 clients, create two load balancer IP addresses—one for IPv6 and the other for IPv4. IPv4 clients connect to the IPv4 address while IPv6 clients connect to the IPv6 address. These clients are then automatically load balanced to the closest healthy IPv4 or IPv6 dual-stack backends with available capacity. To see which load balancers support dual-stack backends, see Table: Backend services and supported backend types.

  • Load balance HTTP, HTTPS, HTTP/2, TCP, and SSL/TLS IPv6 client traffic. Protocol support depends on the type of load balancer you are using and the forwarding rule protocol.

Load balancer support

For proxy-based load balancers such as Application Load Balancers and Proxy Network Load Balancers, the connection from the client to the load balancer and the second connection from the load balancer to the backend can be configured independently of each other. For example, the load balancer can accept IPv4 traffic from a client, terminate the connection, and then forward the request from the load balancer to the backend over a new IPv6 connection, as long as the backend is a dual-stack backend that is equipped to handle IPv6 connections.

To enable a load balancer to receive IPv6 connections from clients, you must use an IPv6 address for the load balancer's forwarding rule. The subsequent connection from the load balancer to the backend uses IPv4 by default. However, you can enable certain load balancers to use IPv6 by configuring the IP address selection policy option on the backend service.

The following table describes which connection types are supported by all the proxy-based load balancers:

Load balancer Connection from clients to load balancer Connection from load balancer to backends
Regional external Application Load Balancer
Regional external proxy Network Load Balancer
Regional internal Application Load Balancer
Regional internal proxy Network Load Balancer
Only IPv4. IPv6 traffic is not supported. Either of the following:
  • IPv4 connection: supported with IPv4-only or dual-stack backends
  • IPv6 connection: supported with dual-stack backends* only
* Only instance groups and zonal NEGs (with GCE_VM_IP_PORT endpoints) can be configured to be dual-stack.

Convert from IPv4-only to dual-stack

You can convert load balancer resources that use IPv4-only (single-stack) to IPv4 and IPv6 (dual-stack). By updating load balancer resources, you can automatically route IPv6 traffic to your backends.

For instructions to convert your load balancer resources and backends to dual stack, refer to the following documentation:

Load balancer Documentation
Regional external Application Load Balancer
Regional internal Application Load Balancer
Convert Application Load Balancer to IPv6
Regional external proxy Network Load Balancer
Regional internal proxy Network Load Balancer
Convert proxy Network Load Balancer to IPv6

Pricing

Forwarding rules for IPv6 termination are provided at no additional cost. You are not charged for ephemeral IPv6 addresses. Reserved IPv6 addresses are charged at existing rates regardless of whether they are in use. Otherwise, pricing for IPv6 load balancing is the same as pricing for IPv4 load balancing. For load balancing pricing details, see Network pricing.

Limitations

  • Regional external Application Load Balancers, regional internal Application Load Balancers, regional internal proxy Network Load Balancers, and regional external proxy Network Load Balancers don't support IPv6 frontends. Ingress IPv4 traffic is proxied over an IPv4 or IPv6 connection to the IPv4 and IPv6 (dual-stack) backends.

  • Only VM instance group backends and zonal network endpoint group (NEG) with GCE_VM_IP_PORT endpoints support dual-stack (IPv4 and IPv6) backends.

What's next