AWS Wavelength 教程 – 获得一台拥有原生 5G IP 的 VPS

在这篇文章中,我们将会学习配置并利用 AWS Wavelength 得到一台拥有原生 5G IP 的 EC2 VPS 并进行互联网访问。

AWS Wavelength 是一个致力于 5G 应用的项目,它为 AWS 服务提供 Carrier IP 来获得比直接连接到数据中心更低的延迟。当这个 Carrier IP 被绑定到 EC2 上,我们就拥有了一台拥有原生 5G IP 的 EC2 。

Wavelength IP 流媒体测试(以 KDDI 东京为例)

这里可见,除了 Google 因大量人使用定位而被标记为中国,其他流媒体的解锁尤其是本地流媒体解锁都是相当不错的。

wavelength_53

开始实践开机

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 以及可选的账户名称,点击“使用此账户”,你也可以点击“添加至账户列表”以供下一次便捷使用。

wavelength_47

选择 Availability 实例地区(主地区)

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

wavelength_48

选择 Wavelength 实例地区并进行其他配置

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

wavelength_49

启动实例

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

wavelength_50

查看已开启的实例

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

wavelength_51

分配运营商 5G IP

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

wavelength_52

如果遇到什么问题,欢迎在下方评论区提出。如果对如何在 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_1

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

wavelength_2

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

wavelength_4

看到 Wavelength 各个地区后的绿钩和 Enabled 即代表已经成功打开。

配置 VPC

Wavelength 区域没有包含在默认的 VPC 中,因此我们需要将其加入。

进入 VPC

在 AWS 页面顶部搜索 VPC 来到 VPC 控制台。

配置 Carrier Gateway

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

wavelength_31

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

wavelength_32

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

wavelength_33

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

wavelength_34

如在此范例中, 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 来创建实例。

wavelength_19

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

然后创建一台位于 Wavelength 区域的实例。在配置页面的 Network settings 点击右上角的 Edit 。

wavelength_35

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

wavelength_36

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

wavelength_22

下面我们要分别为这两台实例分配公网 IP。

点击左侧 Elastic IPs,点击右上角 Allocate Elastic IP Address。

wavelength_23

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

wavelength_24

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

wavelength_25

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

wavelength_26

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

wavelength_27

查看和连接实例

点击左侧 Instances 可以看到两台实例,点击编号即可看到详细信息。

首先我们需要拿到位于 Availability 区域的实例的公网 IP 以进行连接。

wavelength_28

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

wavelength_29

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

wavelength_30

如果遇到什么问题,欢迎在下方评论区提出。如果对如何在 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_1

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

wavelength_2

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

wavelength_4

看到 Wavelength 各个地区后的绿钩和 Enabled 即代表已经成功打开。

配置 VPC

Wavelength 区域没有包含在默认的 VPC 中,因此我们需要手动创建一个 VPC 来支持 Wavelength 区域。同时我们要实现与普通区域的内网联通性,因为 Carrier IP 无法用于直接连接,这有些类似于 WARP 的虚拟 IP。

创建新的 VPC

在 AWS 页面顶部搜索 VPC 来到 VPC 控制台,在左侧选项卡中选择 Your VPCs,点击右上角 Create VPC。

wavelength_5

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

wavelength_6
配置 Carrier Gateway

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

wavelength_7

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

wavelength_8
配置 Internet Gateway

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

wavelength_12

直接点击 Create internet gateway 即可。

wavelength_13

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

wavelength_14

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

wavelength_15
配置 Subnet

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

wavelength_9

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

wavelength_10
wavelength_11
配置 Route Table

在配置完以上这些以后,有两个路由表已经自动创建好了,但是主路由表没有接入外网,所以我们还需要做一些小调整。

我们先要找到对应于新 VPC 的 Route Table,点开详情如下所示。注意几个识别点,首先,VPC 一栏应该是新建的 VPC,其次,Main 一栏是 “Yes”。点击 Routes 表格右上角的 Edit routes 对 Routes 进行编辑。

wavelength_16

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

wavelength_17

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

wavelength_18

启动实例

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

来到 EC2 控制台点击 Launch instances 来创建实例。

wavelength_19

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

wavelength_20

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

wavelength_21

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

wavelength_22

下面我们要分别为这两台实例分配公网 IP。

点击左侧 Elastic IPs,点击右上角 Allocate Elastic IP Address。

wavelength_23

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

wavelength_24

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

wavelength_25

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

wavelength_26

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

wavelength_27

查看和连接实例

点击左侧 Instances 可以看到两台实例,点击编号即可看到详细信息。

首先我们需要拿到位于 Availability 区域的实例的公网 IP 以进行连接。

wavelength_28

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

wavelength_29

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

wavelength_30

如果遇到什么问题,欢迎在下方评论区提出。如果对如何在 AWS Wavelength 上部署 SS 等服务感到疑惑,可以前往阅读在 AWS Wavelength 上部署 SS 服务端 – 获得一台拥有原生 5G IP 的 VPS(2)

第三种方法结束

13 评论

      • 还是没明白,流量是过去了,问题你拿什么上网呢?wavelength和availability的实例上没有服务端啊

        • 流量转发完成后,您可以在 Wavelength 实例上安装您想使用的代理服务端(如 V2)并在客户端上使用 Availability 实例的 IP 连接。之所以我们要这么做是因为 Wavelength 的公网 IP 是无法直接用于连接的。

          • 你好,不好意思请问一下,wavelength的实例中装了服务端后,要想实现5G原生ip访问的话,availability区域的实例是不是也需要安装服务端接受转发过来的流量?

          • 不需要的。您的逻辑看上去有一些混乱,Availability 实例仅负责转发流量至 Wavelength 实例,而 Wavelength 实例仅需安装服务端来访问互联网即可。您可以把 Availability 实例理解为中转服务器。

  1. 也就是说,要么客户端流量必须先到达Availability 再转发到Wavelength 的实例,要么Availability 主动发出流量到Wavelength 再到客户端?我发现Wavelength ZONE有的IP线路很好,延迟很低也不丢包,不能从客户端直接连Wavelength 的话好像就没意义了

  2. 您好,按照教程部署了几遍了,但是Availability 区域的实例无法ping通Wavelength 区域的实例,现在不知道哪里配置的问题,能帮忙查看一下吗?

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注