VPC开启IPv6

上一节创建eks集群时,vpc内的配置由eksctl自动处理。如果想在已有vpc中创建IPv6 EKS集群,需要提前对vpc进行一些配置,包括:

  • 将 IPv4 VPC转成dual stack VPC
  • 为子网分配IPv6 CIDR,并开启自动分配IPv6
  • 为子网路由表加上到::0的路由

将IPv6关联到现有vpc

进入vpc页面,选择VPC ,从右上角的“操作”菜单中,选择“Edit CIDR”:

image-20240316094337679

单击IPv6 CIDR 下的Add new IPv6 CIDR:

AWS

然后选择Amazon provided IPv6 CIDR block:

image-20240316094540225

添加完成后,新的IPv6段会显示出来:

image-20240316094414106

配置Dual Stack Subnet

我们将现有的 IPv4 子网设置为双栈,使其同时具有 IPv4 CIDR 和 IPv6 CIDR,并将使用它来启动支持 IPv6 的EKS 集群。

  1. 选择vpc下的子网,然后选择Edit IPv6 CIDRs:

image-20240318093737473

编辑 IPv6 CIDR页面上,添加一个IPv6子网:

image-20240318100630478

后面的单位是18.4Q,其实等于2^64:

image-20240318100734184

Q是科学计数法:

image-20240318100801773

再次点击子网的Edit subnet settings:

image-20240318131453373

启用自动分配IPv6地址以及DNS64:

image-20240318131433156

对于另外几个子网,重复上面的过程:

image-20240318131819988

更新路由表

在给vpc添加完IPv6 CIDR后,会自动添加一个local路由,这样vpc下的实例之间能用ipv6地址进行通讯:

image-20240319073818848

但此时IPv6还没有到公网的路由,需要进行手动添加:

  • 如果是public子网,添加一条到IGW的路由
  • 如果是private子网,创建一个Egress-only IGW(IPv6 不能使用NAT)

image-20240319074057619

这里以给public子网添加IGW为例,打开子网使用的route table:

image-20240319074304827

编辑路由表,添加一条::0的路由:

image-20240319075153746


参考: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html