Para que uma instância do RDS na VPC seja acessada "publicamente" (na Internet), todas as sub-redes às quais ela está anexada devem ser sub-redes "públicas" - em oposição às "privadas" - da VPC.
Uma sub-rede pública é essencialmente definida como uma sub-rede que possui o objeto Gateway da Internet (igw-xxxxxxxx) como sua rota para "a Internet" ou pelo menos para qualquer destino da Internet que você precise acessar. Normalmente, esse é um endereço de destino de 0.0.0.0/0
. As sub-redes públicas devem ser usadas para instâncias (incluindo o RDS) que terão um endereço IP público associado e não devem ser usadas para instâncias que não terão endereços IP públicos, já que os endereços privados não funcionam pela Internet sem tradução.
Por outro lado, uma sub-rede privada tem sua tabela de roteamento configurada para alcançar destinos da Internet por meio de outra instância do EC2, normalmente uma instância do NAT. Isso mostra na tabela de rota VPC associada a essa sub-rede como i-xxxxxxxx, em vez de "igw". Essa máquina (que, por sua vez, estará em uma sub-rede diferente daquelas para as quais ela atua como um destino de rota) serve como um tradutor, permitindo que as instâncias somente de IP privado façam solicitações de Internet de saída usando o sistema público da máquina NAT. IP para suas necessidades de Internet. Instâncias com um endereço IP público não podem interagir adequadamente com a Internet se estiverem conectadas a uma sub-rede privada.
No caso específico, aqui, as sub-redes associadas à instância do RDS não estavam realmente configuradas como algo que poderia ser simplesmente classificado como uma sub-rede privada ou pública, porque a sub-rede não tinha nenhuma rota padrão. Adicionar uma rota padrão através do objeto "igw" ou, como o OP, adicionar uma rota estática ao endereço IP da Internet em que a conectividade era necessária, na tabela de rotas VPC das sub-redes corrige o problema de conectividade.
No entanto ... Se você tiver um problema semelhante, não poderá simplesmente alterar a tabela de rotas ou criar novas tabelas de rota e associar as sub-redes a elas, a menos que você não tenha mais nada funcionando corretamente nas sub-redes, porque a alteração poderia razoavelmente ser esperado para quebrar a conectividade existente. O curso correto, nesse caso, seria provisionar as instâncias em diferentes sub-redes com as entradas da tabela de rotas corretas em vigor.
Ao configurar um VPC, é ideal definir claramente as funções de sub-rede e provisionar totalmente as rotas necessárias quando o VPC for comissionado pela primeira vez. Também é importante lembrar que toda a "LAN" da VPC é uma rede definida por software. Ao contrário de uma rede física, em que o roteador pode se tornar um gargalo e geralmente é sensato colocar máquinas com tráfego intenso entre elas na mesma sub-rede ... as subnets de cruzamento de tráfego não têm nenhuma desvantagem de desempenho no VPC. As máquinas devem ser colocadas em sub-redes adequadas às necessidades de endereçamento IP da máquina - endereço público, sub-rede pública; sem endereço público, sub-rede privada.
Mais discussões sobre a logística de sub-redes privadas / públicas em VPC podem ser encontradas em Por que precisamos de sub-rede privada em VPC (em estouro de pilha).