OK, finalmente descobri a causa raiz desse problema. A AMI que eu estava usando criava uma ponte que causava o problema de conexão devido à colisão com os IPs das minhas sub-redes. A saída de sudo route -n
ficou assim em uma instância afetada:
ubuntu@ip-10-0-1-92:~$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.1.1 0.0.0.0 UG 0 0 0 eth0
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 lxcbr0
Qualquer conexão com 10.0.2. * falharia:
deploy@ip-10-0-1-92:~$ nc -zv 10.0.2.53 22
nc: connect to 10.0.2.53 port 22 (tcp) failed: No route to host
A remoção da ponte com sudo ifconfig lxcbr0 down
resolveu o problema, mas o uso de uma AMI que não configurou essa ponte corrigiu a raiz.