Classic Load Balancer and Application Load Balancer support for IPv6

Going back a bit in time, in 2011 AWS announced support for  “Elastic Load Balancing – IPv6, Zone Apex Support, Additional Security”. As Jeff Barr wrote at that time: “All Elastic Load Balancers in the US East (Northern Virginia) and EU (Ireland) regions now have publicly routable IPv6 addresses in addition to their existing IPv4 addresses.” This was well over 5 years ago, when the ELB was only available in EC2 classic. And since then we lost support of IPv6 at Classic Load Balancer and there is apparently no support either in the new Application Load Balancer. And reading again the blog post about “some panic-inducing articles” and “it will soon become necessary” is quite funny.

Looking now at the official AWS documentation for Public DNS Names for Your Load Balancer the current status is:

Load balancers in a VPC support IPv4 addresses only.
Load balancers in EC2-Classic support both IPv4 and IPv6 addresses.

So effectively the support has been dropped given that more recent AWS accounts do not even have the option to run instances in Ec2-Classic, so the idea to rollback to classic or use a E2-Classic link are both not options.

Trying to create a new application load balancer I see that the dualstack CNAME is resolved


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30456
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

; IN A


Not having IPv6 support has already side effects. For example, given that iOS now requires supporting IPv6 during the Apple Submission Process there is no simple way to test it purely on AWS. I am aware of possible workarounds but we are  saying that I need to use a local laptop to perform a test of a mobile app I might have entirely developed on the cloud. And that’s far from ideal. Looking forward to proper IPv6 from AWS.