在过去几年中,IPv6 的采用率持续增长,尤其是在移动网络中。迁移到 IPv6 的主要原因包含:

  • IPv4 地址的有限可用性可能会限制向公众扩展面向公众的 Web 和应用程序服务器的才干。
  • 假如移动网络的 IPv6 用户的网络流量不需要办理 IPv6 到 IPv4 的转换,他们将体验到更好的性能。
  • 您可能需要遵守监管规则(例如例如美国的《联邦收购法令》),才干经过 IPv6 运转特定的互联网流量。

基于这一原因,咱们发现,经过向 Amazon Global Accelerator 增加 IPv6 支撑,咱们能够协助改进客户用来拜访您的应用程序的网络途径。Global Accelerator 运用 Amazon 大局网络来路由网络流量,并始终保持较低的数据包丢失、抖动和推迟。Atlassian、New Relic 和 SkyScanner 等客户现已在运用 Global Accelerator 来提高其应用程序的全球可用性和性能。

亚马逊云科技开发者社区为开发者们供给全球的开发技能资源。这儿有技能文档、开发事例、技能专栏、培训视频、活动与竞赛等。协助我国开发者对接世界最前沿技能,观念,和项目,并将我国优秀开发者或技能推荐给全球云社区。假如你还没有重视/保藏,看到这儿请一定不要匆匆划过,点这儿让它成为你的技能宝库!

Global Accelerator 供给两个大局静态公共 IP来充任应用程序的固定进口点。您能够更新应用程序端点,而无需对 IP 地址进行面向用户的更改。假如您装备了多个应用程序端点,Global Accelerator 会主动将您的流量从头路由到最近的运转状况良好的可用端点,以缓解端点故障。

从今天开始,您能够经过 Global Accelerator 将 IPv6 流量路由到在 Amazon 区域中运转的应用程序端点,然后提升网络性能。Global Accelerator 现在支撑两种类型的加速器:双栈仅限 IPv4 的加速器。运用双栈加速器,您将获得一对 IPv4 和 IPv6 大局静态 IP 地址,它们能够一同处理 IPv4 和 IPv6 流量。

关于现有的仅限 IPv4 的加速器,您能够将加速器更新为双栈,以一同处理 IPv4 和 IPv6 流量。此更新使您的加速器能够处理 IPv6 流量,而且不会影响加速器供给的现有 IPv4 流量。

支撑 IPv6 和 IPv4 流量的双栈加速器需要在后端运用双栈端点。例如,应用程序负载均衡器 (ALB) 的 IP 地址类型能够装备为仅 IPv4 或双栈,然后答应它们一同承受 IPv4 或 IPv6 客户端衔接。现在,支撑将双栈 ALB 作为双栈加速器的端点。

布置双栈应用程序

为了测验这个新功能,我需要一个带有 ALB 进口点的双栈应用程序。应用程序有必要布置在 Amazon Virtual Private Cloud(Amazon VPC)中,而且支撑 IPv6 流量。我的账户中刚好没有 IPv6 安排妥当型 VPC。我能够依照这些说明将仅支撑 IPv4 的现有 VPC 迁移到 IPv6,也能够创立支撑 IPv6 寻址的 VPC。在本文中,我挑选创立一个 VPC。

在Amazon 办理操控台中,我导航到 Amazon VPC 操控面板。我挑选发动 VPC 向导。在向导中,我为称号标签输入一个值。此值将用于为 VPC 中的一切资源主动生成称号标签。然后,我挑选了关联 Amazon 供给的 IPv6 CIDR 块的选项。我将一切其他选项保留为默认值,然后挑选创立 VPC

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

不到一分钟后,VPC 就已准备安排妥当。我修改了两个公有子网的设置,以启用主动分配 IP 设置,以便为该子网中的新网络接口主动请求公有 IPv4 地址和 IPv6 地址。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

现在,我想在此 VPC 中布置应用程序。该应用程序将成为我的加速器的端点。我从CloudFormation 文档的“示例解决方案”部分查看并下载了 WordPress 可扩展且经用的 Amazon CloudFormation 模板。此模板在 ALB 后边布置了一个完整的 WordPress 网站。Web 层是可扩展的,并作为 EC2 主动扩展组实施。MySQL 数据库由 Amazon 关系数据库服务(RDS)办理。

在布置仓库之前,我修改了模板以进行一些更改。首要,我增加了一个DBSubnetGrou资源:

"DBSubnetGroup" : {
  "Type": "AWS::RDS::DBSubnetGroup",
  "Properties": {
    "DBSubnetGroupDescription" : "DB subnet group",
    "SubnetIds" : { "Ref" : "Subnets"}
  }
},

然后,我将DBSubnetGroupName属性增加到DBInstance资源中。这样,模板创立的数据库将布置在与 Web 服务器相同的子网(和 VPC)中。

"DBSubnetGroupName" : { "Ref" : "DBSubnetGroup" },

最后一项更改是将 IpAddressType属性增加到ApplicationLoadBalancer 资源中,以创立具有 IPv6 地址,而且能够与 Global Accelerator 的新双栈选项一同运用的双栈负载均衡器。

"IpAddressType": "dualstack",

因为 IpAddressType 设置为 dualstack,因而仓库创立的 ALB 也将具有 IPv6 地址,而且能够与 Global Accelerator 的新双栈选项一同运用。

在 CloudFormation 操控台中,我创立了一个仓库并上传了我刚刚修改的模板。在模板参数中,我输入要运用的数据库用户和暗码。关于 VpcId 参数, 我挑选了我刚刚创立的 IPv6 安排妥当型 VPC。关于 Subnets 参数,我挑选同一 VPC 的两个公有子网。之后,我进入后续步骤并创立仓库。

几分钟后,仓库创立就完成了。要拜访该网站,我需要翻开负载均衡器的网络拜访权限。在 EC2 操控台中,我创立了一个安全组,该安全组答应运用 HTTP 和 HTTPS 协议(端口 80 和 443)进行公开拜访。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

我从导航窗格中挑选负载均衡器,然后挑选我的应用程序运用的 ALB。在安全部分中,我挑选修改安全组,然后增加我刚刚创立的安全组以答应 Web 拜访。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

现在,我查找负载均衡器的双栈(A 或 AAAA 记录)DNS 称号。我翻开浏览器并运用 DNS 称号进行衔接以完成 WordPress 的装备。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

再次衔接到端点时,我看到了我的新(空的)WordPress 网站。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

运用一同支撑 IPv6 和 IPv4 流量的双栈加速器

现在,我的应用程序现已准备安排妥当,我在双栈 ALB 前面增加了一个双栈加速器。在 Global Accelerator 操控台中,我挑选了创立加速器。我输入了加速器的称号并挑选了规范加速器类型。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

为了经过此加速器一同路由 IPv4 和 IPv6,我为 IP 地址类型挑选了双栈选项。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

然后,我运用 TCP 协议为端口 80 增加了一个侦听器。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

关于该侦听器,我在布置了应用程序的 Amazon 区域中装备一个端点组。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

我为端点类型挑选了应用程序负载均衡器,然后在 CloudFormation 仓库中挑选了 ALB。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

然后,我挑选了创立加速器。几分钟后,加速器已完成布置,我有一个双栈 DNS 称号,能够根据客户端运用的网络,运用 IPv4 或 IPv6 拜访 ALB。

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

现在,我的客户能够运用 IPv4 和 IPv6 地址,或许更好的是,运用加速器的双栈 DNS 称号来衔接到 WordPress 网站。假如我的客户运用前端或移动应用程序衔接到 WordPress REST API,我能够运用双栈 DNS 称号,这样客户端就能够运用他们首选的 IPv4 或 IPv6 路由进行衔接。

要了解 Global Accelerator 和 ALB 之间的通信是否正常,我能够监控新的 FlowsDrop Amazon CloudWatch 目标。此目标表明 Global Accelerator 是否无法经过端点路由 IPv6 流量。例如,假如在创立加速器后将 ALB 的装备更新为仅运用 IPv4,则可能会产生这种状况。

可用性和定价

您能够运用 Amazon 办理操控台、Amazon Command Line Interface(CLI)和 Amazon 开发工具包装备双栈加速器。您能够运用双栈加速器来优化对布置在任何商业 Amazon 区域的应用程序的拜访。

不支撑协议转换,无论是 IPv4 到 IPv6,仍是 IPv6 到 IPv4 的转换。例如,Global Accelerator 不答应我运用仅限 IPv4 的 ALB 端点装备双栈加速器。此外,关于 IPv6 ALB 端点,有必要启用客户端 IP 保留。

运用双栈加速器不会产生额定本钱。您需要为往复于加速器的流量所运用的主导方向的数据传输时数和流量付费。数据传输本钱取决于客户的方位和运转应用程序的 Amazon 区域。有关更多信息,请参阅Global Accelerator 定价页面。

使用 Amazon Global Accelerator 优化客户拜访应用程序时运用的 IPv6 和 IPv4 网络途径。

— Danilo

文章来历:dev.amazoncloud.cn/column/arti…