Почему на AWS внутренний DNS-поиск для RDS на странице PHP не выполняется?

Почему на AWS внутренний DNS-поиск для RDS на странице PHP не выполняется?

У меня есть конфигурация AWS Elastic Beanstalk (PHP) с одним экземпляром EC2 и одним экземпляром RDS. Это среда QA. Она работала хорошо, но недавно она начала постоянно падать со следующей ошибкой (код не менялся):

"PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Временная ошибка в разрешении имени Ошибка: Ошибка подключения к базе данных pdo_mysql :Попытка подключения не удалась: SQLSTATEHY000 2002 php_network_getaddresses: getaddrinfo failed: Временная ошибка в разрешении имени"

В этом нет ничего временного.

Если я подставлю IP-адрес экземпляра RDS вместо имени хоста, то в AWS все будет работать нормально.

Если я обращаюсь к экземпляру AWS RDS с моей локальной машины разработки (вне AWS), используя имя хоста, он отлично выполняет тот же код.

Nslookup для имени хоста RDS хорошо работает из экземпляра EC2.

Я останавливал и запускал экземпляр ec2 и перезапускал экземпляр RDS, но безрезультатно.

Я вижу, что появляются отдельные сообщения о периодических сбоях в работе AWS DNS, но ничего из этого не имеет отношения к моей проблеме.

Кто-нибудь знает проблему? Кто-нибудь знает, какие еще тесты я могу провести, чтобы ее диагностировать?

Спасибо

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

решение1

Оказывается, перезапуск apache решил проблему по крайней мере до следующего перезапуска экземпляра ec2. Очевидно, что есть какая-то проблема с моей версией AMI (создана в августе 2013 г.). Текущая версия Elastic Beanstalk (создана в декабре 2013 г.) не имеет этой проблемы.

Связанный контент