AWS Wavelength 是一个致力于 5G 应用的项目,它为 AWS 服务提供 Carrier IP 来获得比直接连接到数据中心更低的延迟。当这个 Carrier IP 被绑定到 EC2 上,我们就拥有了一台拥有原生 5G IP 的 EC2 。
Wavelength IP 流媒体测试(以 KDDI 东京为例)
这里可见,除了 Google 因大量人使用定位而被标记为中国,其他流媒体的解锁尤其是本地流媒体解锁都是相当不错的。

开始实践开机
2/5/2023 更新:利用 Shizuku Launcher Pro 开机面板快速、便捷地启动 Wavelength 实例,同时 Shizuku Launcher Pro 开机面板也提供一键更换 IP 操作。此面板需要付费使用,如果你不愿付费,后面的文章也提供了手动配置的方法,你可以直接找到本文章 12/22/2022 更新部分开始阅读。
若要使用 Shizuku Launcher Pro ,请点击前往 Shizuku Launcher Pro 官方网站。
添加 AWS 账户
在对应的文本框内输入 AWS 账户的 Access Key ID 和 Secret Access Key ID 以及可选的账户名称,点击“使用此账户”,你也可以点击“添加至账户列表”以供下一次便捷使用。

选择 Availability 实例地区(主地区)
在“启动EC2实例”功能块中,点击“地区”复选框,你可以看到部分地区带有“支持 Wavelength”标识,这代表该区域是 Wavelength 的主区域,你可以在此区域启动 Wavelength 实例,选择一个你想要使用的地区。

选择 Wavelength 实例地区并进行其他配置
选择你想要的 Availability 实例类型,设置密码以及其他可选设置。勾选“同时启动Wavelength实例“,并在下方的复选框中选择你想要的 Wavelength 实例地区以及其类型。注意:操作系统、密码和开机时运行脚本, Wavelength 实例将和 Availability 实例保持一致。

启动实例
选择完毕后点击执行。注意:如果提示区域不可用,说明这个区域之前未被开通,面板已提交开通操作,你需要等待 AWS 完成开通。如果遇到其他错误,请按照提示操作。若没有错误,面板应显示以下提示,提示中包含实例 id 。

查看已开启的实例
在“查看EC2实例详细信息”功能块中,点击“地区”复选框,选择你刚才选择的 Wavelength 实例地区,点击执行。

分配运营商 5G IP
找到你的 Wavelength 实例,在表格“公网ip”栏,点击“分配IP”为 Wavelength 实例分配一个运营商 IP 。此后,点击“更换IP”即可为任意一台实例更换 IP,点击“终止”即可终止任意一台实例使其完全删除。

如果遇到什么问题,欢迎在下方评论区提出。如果对如何在 AWS Wavelength 上部署 SS 等服务感到疑惑,可以前往阅读在 AWS Wavelength 上部署 SS 服务端 – 获得一台拥有原生 5G IP 的 VPS(2)。
第一种方法结束
12/22/2022 更新:将 Wavelength 网段添加进现有的 VPC ,避免了新建 VPC 的繁琐步骤。当然,如果你想要从全新开始,与现有路由隔离,避免影响现有的服务,也可以选择使用原来的方法进行配置。
启用 Wavelength 区域
Wavelength 目前提供美国 Verizon 、 日本 KDDI 、韩国 SKT 提供的各个区域。Wavelength 区域默认没有开启,需要手动打开。前往https://aws.amazon.com/wavelength/locations可以看到 Wavelength 所有支持的运营商、地区以及区域,选择你想要的地区,点击下方的 Get Started 前往对应地区的 Wavelength 区域管理台。

找到 Wavelength Zones,它们默认都是关闭的,点击右上角的 Manage。

选择 Enable 打开它们,然后点击 Update zone group。

看到 Wavelength 各个地区后的绿钩和 Enabled 即代表已经成功打开。
配置 VPC
Wavelength 区域没有包含在默认的 VPC 中,因此我们需要将其加入。
进入 VPC
在 AWS 页面顶部搜索 VPC 来到 VPC 控制台。
配置 Carrier Gateway
下面我们将创建一个 Carrier Gateway 以使 Wavelength 区域的机器能够与外网通信。
在 VPC 控制台左侧选项卡中选择 Carrier Gateways,点击右上角 Create carrrier gateway。

在 VPC 一栏中选择默认的 VPC,勾选 Route subnet traffic to the carrier gateway ,然后点击下面的 Add new subnet。

在 subnet 中选择你想要的 Wavelength 区域,在 IPv4 CIDR Block 中填写一个属于 VPC 但还未被占用的网段,比如 172.31.72.0/24 。

如果你无法确定哪些段未被占用,可以前往 VPC 页面左侧栏的 Subnets 查看。

如在此范例中, 172.31.0.0 ~ 172.31.63.255 已被占用,所以填写一个 172.31.64.0 ~ 172.31.255.255 的任意网段即可,注意填写的网段包含的 IP 数不能少于你计划开的 Wavelength 实例数。
填写完成后点击 Create carrier gateway。
启动实例
完成以上操作后我们就可以像启动正常的实例那样启动拥有 Carrier IP 的实例了,但是由于开头说到的原因,我们需要通过一台位于 Availability 区域的实例将流量转发至 Wavelength 区域的实例。
来到 EC2 控制台点击 Launch instances 来创建实例。

先创建一台位于 Availability 区域的实例。按照需求进行设置即可,这台实例将用作跳板,你在后面的步骤中使用这台实例连接到 Wavelength 实例,机器类型、偏好区域等任意。
然后创建一台位于 Wavelength 区域的实例。在配置页面的 Network settings 点击右上角的 Edit 。

Subnet 选择刚才创建 Subnet 时选择的 Wavelength 区域。除了这些以外还有个需要注意的点,那就是并非所有实例类型都支持 Wavelength(毕竟是要多收钱的)。只有 t3.medium, t3.xlarge, r5.2xlarge, g4dn.2xlarge 这四种类型是可以使用 Wavelength 的。此外,不要忘记配置 Security Group ,否则可能无法正常连接到这两台实例。

创建好两台实例后应该如下图所示。

下面我们要分别为这两台实例分配公网 IP。
点击左侧 Elastic IPs,点击右上角 Allocate Elastic IP Address。

创建 Carrier IP 时在 Network Border Group 中选择对应 Wavelength 区域的区域编号,点击 Allocate 即可。

创建完成后选中这个 IP ,点击右上角 Actions 并选择 Associate Elastic IP address。

在 Instance 中选择对应实例,点击 Associate 即可。

同样的方法创建一个 Public IP 并绑定,完成后应如下图所示。

查看和连接实例
点击左侧 Instances 可以看到两台实例,点击编号即可看到详细信息。
首先我们需要拿到位于 Availability 区域的实例的公网 IP 以进行连接。

然后我们需要拿到位于 Wavelength 区域的实例的私网 IP 以通过位于 Availability 区域的实例进行连接。

可以看到,这两台实例已经建立了内网连接,只要将流量转发至位于 Wavelength 区域的实例,就可以通过原生 5G IP 访问互联网了。

如果遇到什么问题,欢迎在下方评论区提出。如果对如何在 AWS Wavelength 上部署 SS 等服务感到疑惑,可以前往阅读在 AWS Wavelength 上部署 SS 服务端 – 获得一台拥有原生 5G IP 的 VPS(2)。
第二种方法结束
以下是原方案
启用 Wavelength 区域
Wavelength 目前提供美国 Verizon 、 日本 KDDI 、韩国 SKT 提供的各个区域。Wavelength 区域默认没有开启,需要手动打开。前往https://aws.amazon.com/wavelength/locations可以看到 Wavelength 所有支持的运营商、地区以及区域,选择你想要的地区,点击下方的 Get Started 前往对应地区的 Wavelength 区域管理台。

找到 Wavelength Zones,它们默认都是关闭的,点击右上角的 Manage。

选择 Enable 打开它们,然后点击 Update zone group。

看到 Wavelength 各个地区后的绿钩和 Enabled 即代表已经成功打开。
配置 VPC
Wavelength 区域没有包含在默认的 VPC 中,因此我们需要手动创建一个 VPC 来支持 Wavelength 区域。同时我们要实现与普通区域的内网联通性,因为 Carrier IP 无法用于直接连接,这有些类似于 WARP 的虚拟 IP。
创建新的 VPC
在 AWS 页面顶部搜索 VPC 来到 VPC 控制台,在左侧选项卡中选择 Your VPCs,点击右上角 Create VPC。

在 Create VPC 页面中,输入 IPv4 CIDR Block,这是这个 VPC 的内网网段,填入 10.0.0.0/24(当然你也可以填你想要的网段,如果这么做后面的子网网段也要随之修改) ,随后点击右下角 Create VPC 即可。

配置 Carrier Gateway
下面我们将创建一个 Carrier Gateway 以使 Wavelength 区域的机器能够与外网通信。
在 VPC 控制台左侧选项卡中选择 Carrier Gateways,点击右上角 Create carrrier gateway。

在 VPC 一栏中选择新建的 VPC,然后点击 Create carrier gateway。

配置 Internet Gateway
下面我们将创建一个 Internet Gateway 以使 Availability 区域的机器能够与外网通信。
在 VPC 控制台左侧选项卡中选择 Internet Gateways,点击右上角 Create internet gateway。

直接点击 Create internet gateway 即可。

创建完成后的新 Internet Gateway 默认是 Detached 状态,我们点击右上角的 Action,选择 Attach to VPC。

选择新建的 VPC,点击 Attach internet gateway。

配置 Subnet
为了使 Availability 区域和 Wavelength 区域的机器建立连接,我们需要为这两个区域配置子网。
在 VPC 控制台左侧选项卡中选择 Subnets,点击右上角 Create subnet。

这里先选择新建的 VPC,然后点击下面的 Add new subnet。在两个 subnet 中分别选择你想要的 Availability 区域和 Wavelength 区域,在 IPv4 CIDR Block 中分别填写 10.0.1.0/24 和 10.0.2.0/24。最后点击Create subnet。


配置 Route Table
在配置完以上这些以后,有两个路由表已经自动创建好了,但是主路由表没有接入外网,所以我们还需要做一些小调整。
我们先要找到对应于新 VPC 的 Route Table,点开详情如下所示。注意几个识别点,首先,VPC 一栏应该是新建的 VPC,其次,Main 一栏是 “Yes”。点击 Routes 表格右上角的 Edit routes 对 Routes 进行编辑。

点击 Add Routes,在 Destination 中填写 0.0.0.0/0,Target 中在下拉表中选择以 igw- 开头的刚刚新建的 Internet Gateway,随后点击 Save changes。

编辑完成后应该如以下所示。

启动实例
完成以上操作后我们就可以像启动正常的实例那样启动拥有 Carrier IP 的实例了,但是由于开头说到的原因,我们需要通过一台位于 Availability 区域的实例将流量转发至 Wavelength 区域的实例。
来到 EC2 控制台点击 Launch instances 来创建实例。

先创建一台位于 Availability 区域的实例。其他设置都可以按照需求进行设置,但是 Configure Instances 页中的 Network 要选择新建的 VPC,Subnet 则选择刚才创建 Subnet 时选择的 Availability 区域。

同样的方法创建一台位于 Wavelength 区域的实例。在配置页面中的 Network 要选择新建的 VPC,Subnet 则选择刚才创建 Subnet 时选择的 Wavelength 区域。除了这些以外还有个需要注意的点,那就是并非所有实例类型都支持 Wavelength(毕竟是要多收钱的)。只有 t3.medium, t3.xlarge, r5.2xlarge, g4dn.2xlarge 这四种类型是可以使用 Wavelength 的。此外,不要忘记配置 Security Group ,否则可能无法正常连接到这两台实例。

创建好两台实例后应该如下图所示。

下面我们要分别为这两台实例分配公网 IP。
点击左侧 Elastic IPs,点击右上角 Allocate Elastic IP Address。

创建 Carrier IP 时在 Network Border Group 中选择对应 Wavelength 区域的区域编号,点击 Allocate 即可。

创建完成后选中这个 IP ,点击右上角 Actions 并选择 Associate Elastic IP address。

在 Instance 中选择对应实例,点击 Associate 即可。

同样的方法创建一个 Public IP 并绑定,完成后应如下图所示。

查看和连接实例
点击左侧 Instances 可以看到两台实例,点击编号即可看到详细信息。
首先我们需要拿到位于 Availability 区域的实例的公网 IP 以进行连接。

然后我们需要拿到位于 Wavelength 区域的实例的私网 IP 以通过位于 Availability 区域的实例进行连接。

可以看到,这两台实例已经建立了内网连接,只要将流量转发至位于 Wavelength 区域的实例,就可以通过原生 5G IP 访问互联网了。

如果遇到什么问题,欢迎在下方评论区提出。如果对如何在 AWS Wavelength 上部署 SS 等服务感到疑惑,可以前往阅读在 AWS Wavelength 上部署 SS 服务端 – 获得一台拥有原生 5G IP 的 VPS(2)。
感谢博主的分享,支持了。技术文章,学习了。
里面怎么输入“IPv4 CIDR Block”,只有个IPv4 CIDR。
我的意思是在 IPv4 CIDR Block 栏目内输入,不是输入“IPv4 CIDR Block”。
请问怎么将流量转发到wavelength实例里?通过v2ray sock5那些吗?
可以使用 iptables 进行转发,设置源地址为 Availability 实例的公网 IP,目标地址为 Wavelength 实例的内网 IP 即可。
可以使用以下命令来安装 iptables:
wget –no-check-certificate -qO natcfg.sh http://www.arloor.com/sh/iptablesUtils/natcfg.sh && bash natcfg.sh
还是没明白,流量是过去了,问题你拿什么上网呢?wavelength和availability的实例上没有服务端啊
流量转发完成后,您可以在 Wavelength 实例上安装您想使用的代理服务端(如 V2)并在客户端上使用 Availability 实例的 IP 连接。之所以我们要这么做是因为 Wavelength 的公网 IP 是无法直接用于连接的。
你好,不好意思请问一下,wavelength的实例中装了服务端后,要想实现5G原生ip访问的话,availability区域的实例是不是也需要安装服务端接受转发过来的流量?
不需要的。您的逻辑看上去有一些混乱,Availability 实例仅负责转发流量至 Wavelength 实例,而 Wavelength 实例仅需安装服务端来访问互联网即可。您可以把 Availability 实例理解为中转服务器。
使用了您的脚本安装后没有反应,请问一下转发流量的命令有吗?
也就是说,要么客户端流量必须先到达Availability 再转发到Wavelength 的实例,要么Availability 主动发出流量到Wavelength 再到客户端?我发现Wavelength ZONE有的IP线路很好,延迟很低也不丢包,不能从客户端直接连Wavelength 的话好像就没意义了
是的,外部网络无法直接连接 Wavelength 的 IP。
您好,按照教程部署了几遍了,但是Availability 区域的实例无法ping通Wavelength 区域的实例,现在不知道哪里配置的问题,能帮忙查看一下吗?