Na AWS, por que a pesquisa interna de DNS para RDS falha na página PHP?

Na AWS, por que a pesquisa interna de DNS para RDS falha na página PHP?

Eu tenho uma configuração do AWS Elastic Beanstalk (PHP) com uma instância EC2 e uma instância RDS. É um ambiente de controle de qualidade. Estava funcionando bem, mas recentemente começou a falhar de forma consistente com o seguinte erro (não houve alterações no código):

"PDO::__construct(): php_network_getaddresses: getaddrinfo falhou: falha temporária na resolução de nomes Erro: Erro na conexão com o banco de dados pdo_mysql: tentativa de conexão falhou: SQLSTATEHY000 2002 php_network_getaddresses: getaddrinfo falhou: falha temporária na resolução de nomes"

Não há nada temporário nisso.

Se eu substituir o endereço IP da instância RDS no lugar do nome do host, ele funcionará bem na AWS.

Se eu acessar a instância AWS RDS da minha máquina de desenvolvimento local (fora da AWS) usando o nome do host, ele executará o mesmo código perfeitamente.

Nslookup para o nome do host RDS funciona bem na instância EC2.

Parei e iniciei a instância ec2 e reiniciei a instância RDS sem sucesso.

Vejo que há postagens esporádicas sobre falhas intermitentes de DNS da AWS, mas nada que pareça se adequar ao meu problema.

Alguém reconhece o problema? Alguém sabe que testes adicionais posso fazer para diagnosticar isso?

Obrigado

https://forums.aws.amazon.com/thread.jspa?threadID=141277

Responder1

Acontece que reiniciar o Apache corrigiu o problema pelo menos até a próxima vez que reiniciei a instância ec2. Obviamente há algum problema com minha versão da AMI (criada em agosto de 2013). Uma versão atualmente desenvolvida (dezembro de 2013) do Elastic Beanstalk não apresenta esse problema.

informação relacionada