一开始以为 AWS EC2 启用 IPv6 会像 DigitalOcean 那样简单粗暴,创建实例的时候打个勾就好。没想到 AWS 家大业大,各个组件相互关联,折腾了一圈才弄明白,特此备份。
需要协同修改有五个地方,分别是 VPC 、Subnet、Security groups 和实例的网络设置,理论上只有第一个实例需要如此折腾,之后相同 VPC、Subnet 和 Security groups 的实例应当可以直接获取 IPv6 的地址。
VPC
找到当前实例所属的 VPC 然后选择 Edit CIDRs:
然后点 Add IPv6 CIDR 就完事了:
新建的 VPC 直接选择 Amazon provided IPv6 CIDR block 就可以了:
Subnet
同样的,找到当前实例所属的 Subnet 然后选择 Edit IPv6 CIDRs:
新建的 Subnet 直接输入想要的 IPv6 block 就可以了(一般从 00
开始,多个 Subnet 后续可以指定 01
、02
,诸如此类):
Security groups
如果用户想要通过 IPv6 访问实例,还需要设置防火墙的相应规则,一般来说允许所有地址就是在 Inbound 的 Source 里设置 ::/0
:
实例网络设置
进入当前实例的 Networking - Manage IP Addresses,然后选择 Assign new IP 即可: