Isso acontece porque a versão atual do cloud-init (que testei com o 17.1) não regenera as configurações de rede em cada inicialização. As configurações de rede são geradas somente na primeira inicialização da instância. Você pode observar isso registrando nos arquivos de log do cloud-init:
$ grep 'network config' /var/log/cloud-init.log
2018-09-18 22:13:26,089 - stages.py[INFO]: Applying network configuration from ds bringup=False: {'version': 1, 'config': [{'type': 'physical', 'name': 'eth0', 'subnets': [{'type': 'dhcp4'}], 'mac_address': '12:64:78:dd:c8:62'}]}
2018-09-18 22:13:29,211 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 10:08:08,367 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 10:08:11,458 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:01:12,917 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:01:16,011 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:10:38,782 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:10:41,871 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:12:10,407 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:12:13,475 - stages.py[DEBUG]: not a new instance. network config is not applied.
Como você pode ver, a configuração de rede só foi aplicada na primeira inicialização (no momento, a instância ainda não tinha o IPV6).
Há um problema para tornar esse comportamento configurável: link
Aqui estão os passos que tomei para ativar o IPV6 em uma instância existente no Amazon EC2 para o Fedora 28 (Cloud Edition):
- Adicione
NETWORKING_IPV6=yes
a/etc/sysconfig/network
- Adicione
DHCPV6C=yes
a/etc/sysconfig/network-scripts/ifcfg-eth0
- Executar
sudo systemctl restart network
Após essas etapas, o IPV6 é ativado e também persiste entre as reinicializações. No entanto, se por algum motivo a instância for recriada e o cloud-init considerar que será a primeira inicialização novamente, as alterações serão perdidas. No entanto, o cloud-init já gera uma configuração de rede IPV6 fora da caixa, então você ainda deve estar bem.