Para que uma instância do RDS na VPC seja acessível "publicamente" (Internet), todas as sub-redes às quais está conectada devem ser sub-redes "públicas" - em oposição a "privadas" - da VPC.
Uma sub-rede pública é essencialmente definida como uma sub-rede que tem 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, este é 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, pois os endereços privados não funcionam na Internet sem tradução.
Uma sub-rede privada, por outro lado, tem sua tabela de roteamento configurada para alcançar destinos da Internet através de outra instância do EC2, normalmente uma instância do NAT. Isso é mostrado na tabela de rotas da VPC associada a essa sub-rede como i-xxxxxxxx, em vez de "igw". Essa máquina (que, por si só, estará em uma sub-rede diferente daquela para a qual atua como destino de rota) serve como tradutora, permitindo que as instâncias apenas com IP privado façam solicitações de Internet de forma transparente usando o 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 corretamente 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 eram realmente configuradas como algo que poderia ser simplesmente classificado como uma sub-rede pública ou privada, porque a sub-rede não tinha nenhuma rota padrão. Adicionar uma rota padrão através do objeto "igw" ou, como fez o OP, adicionar uma rota estática ao endereço IP da Internet onde a conectividade era necessária, na tabela de rotas da VPC para as 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 rotas 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 pode ser razoavelmente razoável. espera quebrar a conectividade existente. O curso correto, nesse caso, seria provisionar as instâncias em diferentes sub-redes com as entradas corretas da tabela de rotas.
Ao configurar uma 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. Diferente de uma rede física, na qual o roteador pode se tornar um gargalo e, muitas vezes, é sensato colocar máquinas com tráfego intenso entre elas na mesma sub-rede ... as sub-redes de cruzamento de tráfego não têm desvantagem de desempenho na VPC. As máquinas devem ser colocadas em sub-redes apropriadas às necessidades de endereçamento IP da máquina - endereço público, sub-rede pública; nenhum endereço público, sub-rede privada.
Mais discussões sobre a logística de sub-redes públicas / privadas na VPC podem ser encontradas em Por que precisamos de sub-rede privada na VPC (no Stack Overflow).
(110)
mensagem na mensagem de erro significa "tempo limite da conexão esgotado", então esse é definitivamente um problema de conectividade IP. Sua instância do RDS mostra estar associada a duas sub-redes. No console da VPC, qual é a rota padrão dessas duas sub-redes? É um "igw-xxxxxxxx" ou é um "i-xxxxxxxx"?