Networking & Content Delivery
Announcing AWS Global Accelerator IPv6 support for Amazon EC2 endpoints
AWS Global Accelerator now offers dual-stack accelerators that let you route both IPv4 and IPv6 traffic to Amazon Elastic Compute Cloud (Amazon EC2) instances as endpoints, in addition to Application Load Balancers. In this post, we describe the benefits of using dual-stack accelerators with IPv6 EC2 endpoints, and go through a step-by-step guide for adding dual-stack EC2 endpoints to your accelerators.
Global Accelerator is a networking service that improves your internet user performance and availability by sending traffic over the AWS global network infrastructure. You can have both IPv4 and IPv6 clients access your applications deployed on EC2 instances. Additionally, IPv6 support for EC2 endpoints lets you route UDPv6 traffic from clients to applications using Global Accelerator. These benefits are especially useful for custom routing accelerators. With dual-stack support for EC2 endpoints, you can use a custom routing accelerator without having to split the client logic for your applications for TCP and UDP. You can route both IPv4 and IPv6 traffic directly to EC2 instance endpoints, and also support a mix of transport protocols, for use cases such as gaming and VoIP.
With a dual-stack accelerator, you get two static IPv6 addresses, as well as two IPv4 addresses. Global Accelerator routes IPv4 traffic to the IPv4 address of the EC2 endpoint, and IPv6 traffic to the IPv6 address of the endpoint.
Support for IPv6 traffic with dual-stack accelerators comes at no additional cost.
Getting started
You can set up a dual-stack accelerator with your EC2 instances in one of two ways:
- Create a new accelerator
- Update an existing accelerator
See the following sections for step-by-step examples for each of these methods.
Create a new dual-stack accelerator
1. Open the Global Accelerator console home page, as shown in the following figure.
2. Choose Create accelerator.
3. For Accelerator name, enter the following: myEC2-IPV6accelerator
4. For Accelerator type, select Standard
.
5. For IP address type, select DUAL-STACK
.
6. Choose Next.
Figure 1: Global Accelerator dual-stack configuration
7. On the Add listeners page, do the following:
a. For Ports, enter 80
.
b. For Protocol, select TCP
.
c. Choose Next, as shown in the following figure.
Figure 2: Configuration page for listeners
8. On the Add endpoint groups page, do the following:
a. For Region, select us-west-2
. Or you can choose a different supported AWS Region.
b. Choose Next as shown in the following figure.
Figure 3: Configuration page for endpoint groups
9. On the Add endpoints page, do the following:
a. For Endpoint type, select EC2
.
b. For Endpoint, select an EC2 instance that you want to add behind the dual-stack accelerator.
c. To add other EC2 instance endpoints, choose Add endpoint, as shown in the following figure.
Note that dual-stack EC2 instances that you add to Global Accelerator must have a primary IPv6 address. If you add a dual-stack EC2 instance that doesn’t already have a primary IPv6 address, Global Accelerator will return an error that instance does not have one. More details on how primary IPv6 addresses work with EC2 instances can be found in the documentation.
Figure 4: Configuration page for endpoints
10. Choose Create accelerator.
Global Accelerator returns you to the main Global Accelerator console page while your new accelerator is being created. Global Accelerator provides the status of the accelerator on the main landing page. To see more details about an accelerator, select the accelerator name, for example, myEC2-IPV6accelerator
.
On the Accelerator details page, you can see information about your accelerators. There are two key differences between an IPv4 accelerator and a dual-stack accelerator, as shown in following figure:
– A dual-stack accelerator has two static IPv4 addresses and two static IPv6 addresses.
– The Fully Qualified Domain Name (FQDN) of the accelerator has both A and AAAA records.
Figure 5: Accelerator details page in the console
Updating an existing accelerator
If you already have an accelerator, then you can edit it to add dual-stack EC2 endpoints, including updating an EC2 endpoint that was previously added as the IPv4 EC2 instance.
1. Open the Global Accelerator console home page.
2. Select an accelerator, and then choose Edit.
3. On the Edit accelerator page, for IP address type, choose DUAL-STACK.
4. Choose Save changes.
To make this change, all the endpoints for the accelerator must be DUAL-STACK, for both ALB and EC2 instance endpoints. If you have dual-stack EC2 instances that don’t have a primary IPv6 address attached, then Global Accelerator automatically adds one to the instance before updating the accelerator.
After you save the update, on the Accelerator details page, the Provisioning status is In progress
. After the update is complete, the global static IPv6 addresses become available. They’re listed on the details page.
As noted, you can only update an accelerator to dual-stack if all the endpoints behind the accelerator are dual-stack. The following table shows the endpoint type configurations that can and can’t be upgraded to dual-stack.
Endpoint type | Support for upgrade |
Dual-stack | Yes |
Mixed (Dual-stack + IPv4 only) | No |
IPv4 only | No |
Table 1: Endpoint type configurations that support an upgrade workflow for dual-stack accelerators.
Conclusion
In this post, you learned about the benefits of IPv6 support for EC2 instances in Global Accelerator, and how to set up accelerators with dual-stack EC2 endpoints. With IPv6 for EC2 instances, you can add an accelerator in front of your dual-stack EC2 instances, and then route TCP and UDP traffic to your endpoints, without adding workarounds. You can get started and learn more about Global Accelerator by visiting the AWS documentation.