最近,苹果强制要求所有使用其 mobile-api 的供应商支持 IPv6,而 aws vpc 不提供 IPv6 支持。我怎样才能做到这一点。我已经检查过了https://aws.amazon.com/blogs/aws/elastic-load-balancing-ipv6-zone-apex-support-additional-security/
,但我不确定该怎么做。
我在这里需要专家建议。
最近,苹果强制要求所有使用其 mobile-api 的供应商支持 IPv6,而 aws vpc 不提供 IPv6 支持。我怎样才能做到这一点。我已经检查过了https://aws.amazon.com/blogs/aws/elastic-load-balancing-ipv6-zone-apex-support-additional-security/
,但我不确定该怎么做。
我在这里需要专家建议。
不幸的是,AWS 一直在严重忽视有意义的 IPv6 支持。他们的“解决方案”,如果你可以这么说的话,就是在你的应用程序前面抛出一个非 VPC ELB。由于许多原因,对于许多用例来说,这是一个站不住脚的解决方案。
作为权宜之计,我见过几个组织使用的策略是与另一个提供商建立一个支持 IPv6 的 VPS,将
AAAA
记录指向那里,然后使用 haproxy 或其他类似的软件包将请求代理到您的 IPv4 基础设施。是的,这是一种非常尴尬且公认的破坏方式,但在 AWS 发布有意义的 IPv6 支持之前,没有那么多其他选择。编辑:
关于 Craig 关于所有 ELB(VPC 或其他)都具有 IPv6 地址的断言。是的,这是正确的,但在我的测试中,以及在与其他 AWS 专家的讨论中,ELB 实际上并没有在这些 IP 上监听流量。我的猜测是,像他们所做的那样在 ELB 上启用 IPv6 是在某个时候提供完整 IPv6 支持的第一步。我怀疑他们会在 2016 年 12 月的第一周的 re:Invent 大会期间或之前宣布这一点。
您可以通过
ipv6.
在 ELB 的公共主机名前面添加 IPv6 记录来为 ELB 创建 IPv6 记录。由于它是客户环境,主机名和 IP 被编辑 - 这是在非默认 VPC 的 eu-west-1 区域中。
请注意,您还可以使用
dualstack
前缀为您的 ELB 返回A
和AAAA
记录。在 us-east 中,我使用 IPv6 隧道代理来提供 IPv6 隧道,它允许使用 IPv6 地址直接寻址实例。由于隧道代理的存在点在本地交叉连接到 Amazon,这只会增加大约 1 毫秒的延迟。
不利的一面是,要将 IPv6 传送到子网中的其他实例,您必须自己路由它(例如使用 radvd)。
偶然发现一篇有趣的文章(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/
您可以在“俄亥俄”地区的 VPC 上启用 IPv6。
将CloudFlare放在您的应用程序前面。他们将接受 IP6 上的请求,但将流量路由到您的 IP4 ELB。