
У меня есть конфигурация 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, но ничего из этого не имеет отношения к моей проблеме.
Кто-нибудь знает проблему? Кто-нибудь знает, какие еще тесты я могу провести, чтобы ее диагностировать?
Спасибо
решение1
Оказывается, перезапуск apache решил проблему по крайней мере до следующего перезапуска экземпляра ec2. Очевидно, что есть какая-то проблема с моей версией AMI (создана в августе 2013 г.). Текущая версия Elastic Beanstalk (создана в декабре 2013 г.) не имеет этой проблемы.