我有一个Web应用程序使用EC2实例接收上传的图像,resize和存储在S3上,并更新我的MySQL数据库的图像logging。 该数据库位于Amazon Web Services外部,显然涉及EC2实例和数据库之间的通信。 图像从Flash客户端发送到上传服务器,当它被加载时接收上传服务器的IP地址,因此将图像发送到1.12.23.34/resize_script.php
这工作很好..直到我开始尝试,并包括一个负载平衡器。
由于ELB不使用IP地址,而是使用DNS地址,所以我现在将其传递给Flash。 现在,当我上传图片时,我从服务器获得以下响应 –
无法连接到MySQL:在“读取初始通信数据包”时丢失与MySQL服务器的连接,系统错误:111
什么可能导致失去连接到MySQL服务器。 是否有任何额外的步骤,我需要采取让我的上传服务器负载均衡? 我已经将此用户的MySQL特权的主机属性设置为%
任何指针非常感谢,谢谢。
检查防火墙规则和数据库上的MySQL用户权限。 您的数据库服务器是否允许来自新的ELB IP地址的传入连接?
为每个EC2实例分配一个弹性IP,只要将它们分配给EC2实例,就不会为Elastic IP收费(确保在完成这些实例时删除它们,即不要让它们离开)由于某种原因分配的实例,亚马逊对空闲弹性IP进行收费)。
一旦每个EC2实例拥有一个IP,您需要授权这些IP连接到数据库服务器。
这不是连接到数据库服务器的负载均衡器(这是EC2实例),所以您不必担心ELB的DNS或更改IP。
希望有助于任何人坚持这一点