Accelerate IPv6 client access to IPv4 services

Updated at:
Copy as MD

To provide accelerated access for IPv6 clients to your IPv4 services, use Global Accelerator (GA). To enable the IPv6 translation service, set the IP protocol of the accelerated IP address to IPv6. This requires no changes to your existing infrastructure.

Limitations

  • Only Global Accelerator Global Accelerator instances support the IPv6 translation service.

  • For a list of acceleration regions that support IPv6 client access, see Regions that support IPv6 and dual-stack.

Scenario

Enterprises often have existing IT systems deployed in on-premises data centers on IPv4-only networks. As their business grows, they need to provide services to IPv6 clients. However, migrating an existing IT system to support IPv6 is a complex and time-consuming project. Global Accelerator provides an IPv6 translation service to quickly enable IPv6 support without modifying your existing IT systems. Requests from IPv6 clients are translated by GA and then sent to your backend IPv4 servers for accelerated access. Enterprises with IT systems deployed on the cloud can also use Global Accelerator to quickly enable access for IPv6 clients.

This topic uses the following scenario: A company is headquartered in US (Silicon Valley) and has a self-managed server that runs an IPv4 web service. The company's branch office in China (Hong Kong) uses only IPv6 clients. Due to business growth, the company needs the IPv6 clients in the China (Hong Kong) office to access the IPv4 web service in US (Silicon Valley). The company also wants to reduce latency, jitter, and packet loss caused by unstable cross-border public networks.

Use Global Accelerator to process access requests from IPv6 clients in China (Hong Kong). Traffic from the IPv6 clients to the servers in US (Silicon Valley) enters the Alibaba Cloud acceleration network at a nearby access point in China (Hong Kong) via an accelerated IP address. Then, GA translates the IPv6 requests into IPv4 requests and delivers them to the endpoints by using intelligent routing.

Note

Global Accelerator also supports IPv6 translation for same-region access.

Step 1: Configure basic information about an instance

  1. Log on to the GA console.

  2. On the Instances page, click Create Standard Pay-as-you-go Instance.

  3. In the Basic Instance Configuration step, configure the parameters based on the following table and click Next.

    Parameter

    Description

    GA Instance Name

    Enter a name for the GA instance.

    Instance Billing Method

    Pay-As-You-Go is selected by default.

    You are charged instance fees, Capacity Unit (CU) fees, and data transfer fees for pay-as-you-go standard Global Accelerator instances.

    Resource Group

    Select the resource group to which the standard Global Accelerator instance belongs.

    The resource group must be created by the current Alibaba Cloud account in Resource Management. For more information, see Create a resource group.

Step 2: Configure an acceleration region

Configure an Global Accelerator for the GA instance. This specifies the region where users requiring accelerated access to backend services are located and allocates bandwidth to that region.

On the Configure acceleration areas wizard page, configure the acceleration region and then click Next.

Parameter

Description

Acceleration Area

From the drop-down list, select the regions to accelerate, and then click Add To List.

In this example, the China (Hong Kong) region is selected from the Asia Pacific area.

Note

If the acceleration region is in the Chinese mainland and your service uses HTTP or HTTPS, you must apply for an ICP filing for the domain name. For more information, see Domain name management.

Assign Bandwidth

Maximum Bandwidth

Specify the maximum bandwidth for the acceleration region. Each acceleration region supports a bandwidth range of 2 to 10,000 Mbit/s.

The maximum bandwidth is used for bandwidth throttling. The data transfer fees are managed by CDT.

In this example, the default value 200 Mbit/s is used.

Important

If you specify a small value for the maximum bandwidth, throttling may occur and packets may be dropped. Specify a maximum bandwidth based on your business requirements.

IP Protocol

Select the IP protocol used to access the Global Accelerator service.

In this example, select IPv6.

ISP Line Type

Select the ISP line type used to access the Global Accelerator service.

In this example, select BGP (Multi-ISP).

Step 3: Configure a listener

A listener listens for connection requests and distributes the requests to endpoints based on the port and the protocol that you specify. Each listener is associated with an endpoint group. You can associate an endpoint group with a listener by specifying the region to which you want to distribute network traffic. After you associate an endpoint group with a listener, network traffic is distributed to the optimal endpoint in the endpoint group.

In the Configure Listeners step, configure a listener and click Next.

The following table describes only the parameters that are relevant to this topic. Use the default values for other parameters. For more information, see Add and manage smart routing listeners.

Parameter

Description

Listener Name

Enter a name for the listener.

Routing Type

Select a routing type.

In this example, Intelligent Routing is selected.

Protocol

Select a protocol for the listener.

In this example, select HTTP.

Port

Specify the listener port that is used to receive and forward requests to endpoints. The port number must be in the range of 1 to 65499.

In this example, port 80 is used.

Client Affinity

Specify whether to enable client affinity. If client affinity is enabled, requests from the same client are forwarded to the same endpoint when the client connects to a stateful application.

In this example, Source IP is selected.

Custom HTTP Headers

Select the HTTP headers that you want to add.

In this example, the default settings are used.

Show custom HTTP headers.

  • GA-ID: Retrieves the GA instance ID.

  • GA-AP: Retrieves acceleration region information.

  • GA-X-Forwarded-Proto: Retrieves the GA listener protocol.

  • GA-X-Forwarded-Port: Retrieves the GA listener port.

  • X-Real-IP: Retrieves the client's real IP address.

Step 4: Configure endpoint groups and endpoints

  1. On the Configure an Endpoint Group wizard page, configure an endpoint group and endpoints, and then click Next.

    This section describes only the parameters that are relevant to this scenario. For more information about endpoint parameters, see Add and manage endpoint groups for intelligent routing listeners.

    Parameter

    Description

    Region

    Select the region where the endpoint group is deployed.

    In this example, select US (Silicon Valley).

    Endpoint Configuration

    An endpoint is the destination that receives client requests. Configure the endpoint as follows:

    • Backend Service Type: Select Custom Public IP.

    • Backend Service: Enter the public IP address of the backend IPv4 web service.

    • Weight: Enter the weight of the endpoint. The valid range is 0 to 255. GA routes traffic to endpoints based on the specified weights. This example uses the default value of 255.

    Warning

    If the weight of an endpoint is set to 0, Global Accelerator stops distributing traffic to that endpoint. Proceed with caution.

    Preserve Client IP

    The preserve client IP feature is enabled by default to allow backend services to retrieve client source IP addresses. An HTTP listener retrieves client source IP addresses from the x-forwarded-for header. For more information, see Preserve client IP addresses.

    Backend Service Protocol

    Select the protocol used by the backend server.

    The default is HTTP.

    Port Mapping

    If the listening port is different from the service port of your endpoint, you must configure port mapping.

    • Listener Port: You can only enter the current listening port.

    • Endpoint Port: The port on which the endpoint provides service.

    If the listening port and the endpoint service port are the same, you do not need to configure port mapping. Global Accelerator automatically forwards requests to the corresponding service port on the endpoint.

    This example does not require port mapping.

    Traffic Distribution Ratio

    Set the traffic distribution ratio for this endpoint group.

    Valid values: 0 to 100.

    This example uses the default value of 100%.

    Health Check

    Enable or disable the health check feature.

    If enabled, this feature uses health checks to determine the health of endpoints. For more information, see Enable and manage health checks.

    This example uses the default setting, which is disabled.

  2. On the Configuration Review page, review the settings and click Submit.

    Note

    Creating a GA instance takes about 3 to 5 minutes.

Step 5: Configure DNS

Configure DNS to forward requests for the backend IPv4 service to Global Accelerator. You can choose one of the following methods:

  • Add a CNAME record to map the accelerated domain name to the CNAME assigned to the Global Accelerator instance.

  • Add an AAAA record to map the accelerated domain name to the IPv6 accelerated IP address assigned to the Global Accelerator instance.

  1. On the Alibaba Cloud DNS console, find the target domain name. In the Actions column, click Resolve Settings.

    Note

    If your domain name is not registered with Alibaba Cloud, you must add it to the Alibaba Cloud DNS console before you can configure DNS settings.

  2. On the Resolve Settings page, click Add Record. Configure the record by using one of the following methods, and then click OK.

    CNAME record

    Parameter

    Description

    Record Type

    Select CNAME.

    A CNAME record maps a domain name to another domain name.

    Hostname

    Enter the prefix of the accelerated domain name.

    • If your accelerated domain name is www.aliyun.com, set the hostname to www.

    • If your accelerated domain name is aliyun.com, set the hostname to @.

    • If your accelerated domain name is *.aliyun.com, set the hostname to *.

    • If your accelerated domain name is mail.aliyun.com, set the hostname to mail.

    DNS Request Source

    Keep the default value.

    TTL

    The time to live (TTL) is how long a DNS record is cached on a DNS server. A shorter TTL allows record modifications to take effect faster.

    This example uses the default value of 10 minutes.

    Record Value

    Enter the CNAME assigned to the Global Accelerator instance.

    You can find the CNAME on the Instances page of the GA console.

    AAAA record

    Parameter

    Description

    Record Type

    Select AAAA.

    An AAAA record maps a domain name to an IPv6 address.

    Hostname

    Enter the prefix of the accelerated domain name.

    • If your accelerated domain name is www.aliyun.com, set the hostname to www.

    • If your accelerated domain name is aliyun.com, set the hostname to @.

    • If your accelerated domain name is *.aliyun.com, set the hostname to *.

    • If your accelerated domain name is mail.aliyun.com, set the hostname to mail.

    DNS Request Source

    Keep the default value.

    TTL

    The time to live (TTL) is how long a DNS record is cached on a DNS server. A shorter TTL allows record modifications to take effect faster.

    This example uses the default value of 10 minutes.

    Record Value

    Enter the IPv6 accelerated IP address assigned to the Global Accelerator instance.

Step 6: Test connectivity

This example uses a CNAME record and an Alibaba Cloud Linux 3 client for testing. Commands vary by operating system. For exact commands, refer to your operating system's documentation.

  1. In the acceleration region (China (Hong Kong) in this example), open a command-line window on an IPv6 client.

  2. Run the following command to verify that the CNAME record has taken effect.

    ping -6 <accelerated domain name>

    If the resolved IP address matches the IPv6 accelerated IP address assigned to the Global Accelerator instance, the CNAME record has taken effect.

    [root@xxx-IPv6 ~]# ping -6 www.xxx.xxx.fun
    PING www.xxx.xxx.fun(240b:xxx:xxx:xxx:fc1 (240b:xxx:xxx:xxx:c1)) 56 data bytes
    64 bytes from 240b:xxx:xxx:xxx:fc1 (240b:xxx:xxx:xxx:c1): icmp_seq=1 ttl=101 time=2.42 ms
    64 bytes from 240b:xxx:xxx:xxx:fc1 (240b:xxx:xxx:xxx:c1): icmp_seq=2 ttl=101 time=2.43 ms
    64 bytes from 240b:xxx:xxx:xxx:fc1 (240b:xxx:xxx:xxx:c1): icmp_seq=3 ttl=101 time=2.42 ms
    ^C
    --- www.xxx.xxx.fun ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 2.420/2.423/2.428/0.003 ms
  3. Run the following command to test whether the IPv6 client can access the IPv4 service.

    curl -6 -g http://[<GA accelerated IP address>]

    A successful response indicates that the IPv6 client can access the IPv4 service deployed in the US (Silicon Valley) region.

    [root@xxx-IPv6 ~]# curl -6 -g http://[240b:xxx:xxx:xxx:xxx:xxx:c1]
    Hello World,ECS01
    [root@xxx IPv6 ~]#