
我有一個 AWS Elastic Beanstalk 配置 (PHP),其中包含一個 EC2 執行個體和一個 RDS 執行個體。這是一個 QA 環境。它運行良好,但最近它開始持續失敗,並出現以下錯誤(沒有程式碼更改):
“PDO::__construct(): php_network_getaddresses: getaddrinfo 失敗:名稱解析暫時失敗錯誤:連接到 pdo_mysql 資料庫時出錯:連接嘗試失敗:SQLSTATEHY000 2002 php_network_getaddresses: getaddrinfo 失敗:名稱解析暫時失敗”
這並不是暫時的。
如果我用 RDS 實例的 IP 位址代替主機名,它在 AWS 中運作良好。
如果我使用主機名稱從本機開發電腦(AWS 外部)存取 AWS RDS 實例,它會完美執行相同的程式碼。
RDS 主機名稱的 Nslookup 在 EC2 執行個體中運作良好。
我已停止並啟動 ec2 實例並重新啟動 RDS 實例,但無濟於事。
我看到有一些關於間歇性 AWS DNS 故障的零星帖子,但似乎沒有任何內容適合我的問題。
有人認清這個問題嗎?有誰知道我可以做哪些進一步的測試來診斷它?
謝謝
答案1
事實證明,重新啟動 apache 至少可以在我下次重新啟動 ec2 實例之前解決該問題。我的 AMI 版本(2013 年 8 月建置)顯然存在一些問題。目前建置的(2013 年 12 月)版本的 Elastic Beanstalk 不存在此問題。