我有两个 AWS 实例在高可用性下运行。(我正在使用 keepalived)
我有一个关联的弹性 IP,一切都很好。
我使用这个脚本来在发生故障转移时更改实例 IP:
#!/bin/bash
EIP=52.212.151.17
INSTANCE_ID=i-0bdd8a68eb573fd1a
/usr/bin/aws ec2 disassociate-address --public-ip $EIP
/usr/bin/aws ec2 associate-address --public-ip $EIP --instance-id $INSTANCE_ID
但现在我的服务器有 ipv4 和 ipv6。而我无法对 ipv6 执行相同操作。只有 ipv4。
我如何对 ipv6 执行相同操作?因为没有 Elastic ipv6?
答案1
IPv6 寻址与通常管理的 IPv4 不同。IPv6 由子网,而不是像今天的 IPv4 那样通过单独的地址。
因此,在 Amazon AWS 中,您需要先为您的 VPC 分配一个 IPv6 CIDR 块。然后,您可以为您的实例分配单独的 IPv6 地址。请参阅 Amazon 的指南IPv6 入门和理解 IP 寻址。
默认情况下,您的实例将自动获取 IPv6 地址。如果您不想这样,您可以为其分配一个特定的 IPv6 地址。但与 IPv4 不同,使用 IPv6 时,您可以将地址分配给网络接口实例的,而不是实例的。
使用aws ec2 assign-ipv6-addresses
将 IPv6 地址分配给实例的网络接口。