题 IPv6支持或aws vpc实例的替代方案


最近,苹果已经强制要求所有使用其mobile-api的供应商提供IPv6支持,并且aws vpc不提供IPv6支持。我怎样才能做到这一点。我检查过 https://aws.amazon.com/blogs/aws/elastic-load-balancing-ipv6-zone-apex-support-additional-security/ 但是我不知道该怎么做。

我需要专家建议。


14
2017-08-09 14:45




您是否在AWS实例前使用AWS ELB?如果是这样,您应该已经通过ELB进行IPv6转发。 dig -t aaaa your-elb-assigned-name.amazonaws.com - user4556274
@ user4556274 v6仅适用于非VPC ELB。 OP正在使用VPC,因此无法使用。 - EEAA
是的我在前面aws实例中使用AWS ELB但是我使用的是非默认的aws VPC。实例托管在vpc中,我想在那里使用ELB内部vpc无法路由流量 - Shailesh Sutar
我认为苹果强制要求NAT64 / DNS64支持,你仍然可以访问NAT64 / DNS64网络上的IPv4服务器(尽管不是最理想的)? - immibis
请参阅下面的编辑。是的,ELBs 做 有一个v6地址,但它不能用于流量。 - EEAA


答案:


不幸的是AWS已经 严重 忽视有意义的IPv6支持。他们的“解决方案”,如果你可以称之为,那就是在你的应用程序面前抛出一个非VPC ELB。由于许多原因,这是许多用例的不可行解决方案。

作为权宜之计,我见过几个组织使用的策略是与其他提供商建立支持IPv6的VPS,指出 AAAA 记录那里,然后使用haproxy或其他类似的软件包来代理对您的IPv4基础架构的请求。是的,这是一种非常尴尬且无可否认的破坏性做法,但在AWS发布有意义的IPv6支持之前,并没有那么多其他选择。

编辑:

关于Craig断言所有ELB(VPC或其他)都有IPv6地址。是的,这是正确的,但在我的测试中,以及与其他AWS专家的讨论中,ELB实际上并没有监听这些IP的流量。我的猜测是,在ELB上启用IPv6就像他们所做的那样,是在某个时刻提供完整IPv6支持的第一步。我怀疑他们将在2016年12月的第一周发布会议期间或之前宣布这一消息。


16
2017-08-09 15:21



VPC ELB是双栈。看到我的回答。 - Craig Watson
@CraigWatson他们似乎没有听AAAA地址。 - ceejayoz
@EEAA我明白,当我们挖掘它时,我们无法使用分配给那个ELB端点的IPv6。因此无法通过IPv6地址路由流量。因此,我们回到您提出的使用支持IPv6的第三方VPS的解决方案。纠正我如果我错了。 - Shailesh Sutar
@ShaileshSutar是的,不幸的是回到了原来的建议。 - EEAA
EC2对IPv6的支持: aws.amazon.com/blogs/aws/... - dsadinoff


您可以通过预先添加为ELB创建IPv6记录 ipv6. 到ELB的公共主机名。

主机名和IP由于是客户环境而被编辑 - 这是在非默认VPC中的eu-west-1区域。

craig@zeus:~$ dig AAAA ipv6.blah-0000000000.eu-west-1.elb.amazonaws.com +short
2a01:xxx:3::xxx:3314
2a01:xxx:3::xxx:ff14
2a01:xxx:3::xxx:7f20

craig@zeus:~$ dig A blah-0000000000.eu-west-1.elb.amazonaws.com +short
54.xxx.xxx.xxx
52.xxx.xxx.xxx
54.xxx.xxx.xxx

请注意,您也可以使用 dualstack 返回两者的前缀 A 和 AAAA ELB的记录。


7
2017-08-09 18:52



有趣。那是新的行为吗?无论如何,ELB不是许多用例的可行解决方案。 - EEAA
该 dualstack 前缀已经存在了好一年加上,但我不确定亚马逊是否甚至不愿意更新他们的文档 - 该KB仍然表示IPv6仅适用于EC2-Classic,已被弃用多年且已在所有情况下被主动禁用2013年12月4日之后创建的帐户。 - Craig Watson
也就是说,我确实同意AWS仍未落后于不提供IPv6 EIP - 希望它们很快就会出现,但在此之前,唯一的选择就是使用ELB。 - Craig Watson
所以,我实际上调查了这一点,即使ELB有一个v6地址,它实际上并没有收听该地址,至少在我的情况下不是这样。 - EEAA
我不确定这个,但是,有可能有一个Ec2经典的ELB ==> Ec2经典实例。并将HAProxy或nginx配置为ec2-classic实例上的负载均衡器,以将流量路由到VPC ELB或实例? - Shailesh Sutar


在us-east中,我使用IPv6隧道代理提供IPv6隧道,该隧道允许使用IPv6地址直接寻址实例。由于隧道代理的存在点在本地交叉连接到Amazon,因此仅增加了大约1ms的延迟。

不好的一面是,要将IPv6连接到子网中的其他实例,您必须自己进行路由(例如使用radvd)。


3
2017-08-10 17:32



或者是你自己的具有v6功能的VPS的隧道代理。我使用其中两个来增加冗余。 - Skaperen
@Skaperen你可以自己做,直到某一点。我还没有找到能给我一个/ 48的VPS提供商。 - Michael Hampton♦
我不确定这个,但是,有可能有一个Ec2经典的ELB ==> Ec2经典实例。并将HAProxy或nginx配置为ec2-classic实例上的负载均衡器,以将流量路由到VPC ELB或实例? - Shailesh Sutar


遇到了一篇有趣的文章(2016年12月1日发布)。

https://aws.amazon.com/about-aws/whats-new/2016/12/announcing-internet-protocol-version-6-support-for-ec2-instances-in-amazon-virtual-private-cloud/

您可以在“Ohio”区域的VPC上启用IPv6。


3
2017-12-14 09:37



现在,所有地区的AWS EC2都支持IPv6。 - temoto


CloudFlare的 在你的申请前面。他们将接受IP6请求,但将流量路由到您的IP4 ELB。


2
2017-08-12 02:46