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

6

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

"PDO :: __ construct (): php_network_getaddresses: getaddrinfo failed: Falha temporária na resolução de nomes Erro: Erro na conexão com o banco de dados pdo_mysql: Falha na tentativa de conexão: SQLSTATEHY000 2002 php_network_getaddresses: getaddrinfo failed: Falha temporária na resolução de nomes "

Não há nada de temporário nisso.

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

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

O Nslookup para o nome do host do RDS funciona bem a partir da instância do EC2.

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

Vejo que há postagens esporádicos sobre falhas de DNS intermitentes da AWS, mas nada que pareça se encaixar no meu problema.

Alguém reconhece o problema? Alguém sabe que testes adicionais eu posso fazer em um esforço para diagnosticar isso?

Obrigado

link

    
por mikemay 06.12.2013 / 08:58

1 resposta

3

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

    
por 09.12.2013 / 07:21