Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持
创始人
2024-06-02 14:21:36
0

在过去几年中,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。

不到一分钟后,VPC 就已准备就绪。我编辑了两个公有子网的设置,以启用自动分配 IP 设置,以便为该子网中的新网络接口自动请求公有 IPv4 地址和 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)进行公开访问。

我从导航窗格中选择负载均衡器,然后选择我的应用程序使用的 ALB。在安全部分中,我选择编辑安全组,然后添加我刚刚创建的安全组以允许 Web 访问。

现在,我查找负载均衡器的双栈(A 或 AAAA 记录)DNS 名称。我打开浏览器并使用 DNS 名称进行连接以完成 WordPress 的配置。

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

使用同时支持 IPv6 和 IPv4 流量的双栈加速器

现在,我的应用程序已经准备就绪,我在双栈 ALB 前面添加了一个双栈加速器。在 Global Accelerator 控制台中,我选择了创建加速器。我输入了加速器的名称并选择了标准加速器类型。

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

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

对于该侦听器,我在部署了应用程序的 Amazon 区域中配置一个端点组。

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

然后,我选择了创建加速器。几分钟后,加速器已完成部署,我有一个双栈 DNS 名称,可以根据客户端使用的网络,使用 IPv4 或 IPv6 访问 ALB。

现在,我的客户可以使用 IPv4 和 IPv6 地址,或者更好的是,使用加速器的双栈 DNS 名称来连接到 WordPress 网站。如果我的客户使用前端或移动应用程序连接到 WordPress REST API,我可以使用双栈 DNS 名称,这样客户端就可以使用他们首选的 IPv4 或 IPv6 路由进行连接。

要了解 Global Accelerator 和 ALB 之间的通信是否正常,我可以监控新的 FlowsDropAmazon 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

文章来源:https://dev.amazoncloud.cn/column/article/6309a244d4155422a4610a39?sc_channel=CSDN

相关内容

热门资讯

122.(leaflet篇)l... 听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
Vue使用pdf-lib为文件... 之前也写过两篇预览pdf的,但是没有加水印,这是链接:Vu...
PyQt5数据库开发1 4.1... 文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
Linux基础命令大全(上) ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维...
再谈解决“因为文件包含病毒或潜... 前面出了一篇博文专门来解决“因为文件包含病毒或潜在的垃圾软件”的问题,其中第二种方法有...
南京邮电大学通达学院2023c... 题目展示 一.问题描述 实验题目1 定义一个学生类,其中包括如下内容: (1)私有数据成员 ①年龄 ...
PageObject 六大原则 PageObject六大原则: 1.封装服务的方法 2.不要暴露页面的细节 3.通过r...
【Linux网络编程】01:S... Socket多进程 OVERVIEWSocket多进程1.Server2.Client3.bug&...
数据结构刷题(二十五):122... 1.122. 买卖股票的最佳时机 II思路:贪心。把利润分解为每天为单位的维度,然后收...
浏览器事件循环 事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间࿰...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
计算机二级Python备考(2... 目录  一、选择题 1.在Python语言中: 2.知识点 二、基本操作题 1. j...
端电压 相电压 线电压 记得刚接触矢量控制的时候,拿到板子,就赶紧去测各种波形,结...
如何使用Python检测和识别... 车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计...
带环链表详解 目录 一、什么是环形链表 二、判断是否为环形链表 2.1 具体题目 2.2 具体思路 2.3 思路的...
【C语言进阶:刨根究底字符串函... 本节重点内容: 深入理解strcpy函数的使用学会strcpy函数的模拟实现⚡strc...
Django web开发(一)... 文章目录前端开发1.快速开发网站2.标签2.1 编码2.2 title2.3 标题2.4 div和s...