Oi, Takeshi!
Parece que você está lidando com uma questão bem comum em VPCs, mas vamos tentar identificar o que pode estar causando esse problema.
A primeira coisa que eu recomendaria verificar é se as rotas entre as subredes estão corretamente configuradas. Mesmo estando na mesma VPC, se a tabela de rotas não permitir comunicação entre as subredes, o tráfego não vai conseguir passar. Dê uma olhada nas rotas configuradas nas tabelas de rotas da VPC para garantir que o tráfego entre subredes diferentes está sendo direcionado corretamente.
Outro ponto importante são as Regras do Security Group. Como você mencionou que ambas as máquinas estão no mesmo SG, é bom confirmar que as regras do security group realmente permitem tráfego ICMP entre elas. Por padrão, o security group permite tráfego de entrada e saída, mas pode ser que as configurações de firewall (como regras customizadas) estejam bloqueando o ICMP.
Além disso, vale verificar se a ACL de rede (NACL) das subredes está configurada corretamente para permitir o tráfego entre as zonas de disponibilidade. O NACL pode ser configurado para bloquear tipos específicos de tráfego, então é sempre bom revisar as regras de entrada e saída.
Por fim, se o problema persistir, você pode tentar um traceroute entre as máquinas para ver em que ponto o tráfego está sendo bloqueado. Isso pode te dar uma visão mais clara do caminho que o pacote está tentando seguir.
Se você já verificou todos esses pontos e o problema ainda não foi resolvido, vale até tentar realizar o mesmo teste com uma instância nova em cada subrede, para descartar problemas específicos com as máquinas.
Espero que alguma dessas dicas ajude! Se precisar de mais detalhes ou outra sugestão, é só chamar.