Amazon VPC connectivity options for IPv6
There are a growing number of ways in which Amazon VPCs can connect to each other. Many of these options are detailed in the VPC to VPC connectivity section of the Building a Scalable and Secure Multi-VPC AWS Network Infrastructure whitepaper. AWS recommends you read the following subsections alongside, and it follows the same structure while providing additional insight regarding IPv6 operation as both papers cover:
-
VPC peering
-
AWS Transit Gateway
-
VPC subnet sharing
-
AWS PrivateLink
VPC peering
VPC peering is the simplest method for VPC-to-VPC connectivity. It supports both intra- and inter-Region connectivity. The peering itself is IP protocol agnostic. After you establish peering, you must configure one or more static routes defining which prefixes are reachable. Both IPv4 and IPv6 prefixes may be routed across the same peering.
The following diagram depicts a VPC peering between two VPCs supporting IPv4 and IPv6 simultaneously. The peering is agnostic, and the subnet route tables are the deciding factor for which prefixes are reachable.
With VPC peering, you can choose to route only the IPv6 CIDRs of your peered VPCs, thus ensuring IPv6-only connectivity. Also, you cannot peer two VPCs together if their IPv4 CIDRs are overlapping and their IPv6 CIDRs don’t overlap. For this use case, you can use the AWS Transit Gateway.
AWS Transit Gateway
AWS Transit Gateway
IPv6 connectivity with Transit Gateway
You use a Transit Gateway attachment to connect a VPC to a Transit Gateway. An attachment deploys an elastic network interface into each subnet you select. Traffic is routed into Transit Gateways using static routes in VPC subnet routing tables with the attachment as the next-hop. The attachments themselves are IP protocol agnostic, and you can route IPv4 and IPv6 prefixes via the same attachment. To support IPv6, the elastic network interfaces used by the attachments need to have IPv6 addresses assigned to them.
Note
If you retrofit IPv6 into an existing VPC with a Transit Gateway attachment, its elastic network interfaces won’t be auto-assigned IPv6 addresses; you need to explicitly configure assignment for the elastic network interfaces. If you don’t, IPv6 traffic cannot use the attachment.
Note
You cannot create a transit gateway attachment using IPv6-only subnets.
IPv6 traffic within and between Transit Gateways
A Transit Gateway attachment is both a source and a destination of packets. You can attach the following resources to your Transit Gateway:
-
VPCs
-
One or more VPN connections
-
One or more AWS Direct Connect gateways
-
One or more Transit Gateway Connect attachments
-
One or more Transit Gateway peering connections
A Transit Gateway has one or more routing tables. A routing table can receive its entries through a combination of static route configuration and dynamic propagations from other attachments (VPC, Direct Connect, Site-to-Site VPN, or Connect Peering). In either case, IPv6 routes are supported.
AWS Transit Gateway Connect attachments for IPv6
You can create a Transit Gateway Connect attachment to establish a connection and dynamic routing between a transit gateway and third-party virtual appliances (such as SD-WAN appliances).
These attachments take the form of IP Generic Routing Encapsulation (GRE) protocol
tunnels and enable dynamic exchange of routing information between an EC2 instances in a
VPC and a TGW. Route exchange is facilitated by a Border Gateway Protocol (BGP) peering.
TGW connect peers support IPv6 using Multi-Protocol BGP (MP-BGP) and a /125
CIDR block from the well-known fd00::/8
unique local address range.
Multiprotocol BGP (MP-BGP) is an extension to BGP that enables BGP to carry routing information for multiple network layers and address families. MP-BGP can carry the unicast routes used for multicast routing separately from the routes used for unicast IP forwarding.
AWS PrivateLink
AWS PrivateLink
VPC sharing
VPC sharing allows VPC owners to share a subnet across AWS accounts. You may share dual-stack subnets the same way as IPv4-only ones. IPv6 resources deployed into a shared subnet function identical to those deployed into non-shared subnets.