我有一个应用程序,有两个工作人员(网络和背景)在AppHarbor上,连接到一个MySql数据库托管在亚马逊的RDS。
我一直“无法连接到任何指定的MySQL主机”。异常。
我和美国东部地区的RDS实例已经将以下AppHarbor CIDR添加到安全组中。
我已经将自己的CIDR添加到安全组中,并且可以很好地连接到实例。然而,当应用程序在AppHarbor上运行时,它就失败了。
我的连接字符串(审查)是:
Server=myinstanceXXXX.cykjvptrw5xs.us-east-1.rds.amazonaws.com;Database=MyDatabase;UID=XXXXXX;PWD=XXXXX;
我尝试过将端口3306包括在服务器端点上,但这并没有什么区别。
我是不是错过了让两个人和睦相处的东西?
发布于 2013-08-26 19:36:02
默认情况下,AppHarbor使用亚马逊的内部DNS服务解析主机名。由于Amazon实例在与AppHarbor相同的区域内将解析私有IP地址,而不是知识库文章中列出的公共IP地址,因此建立基于公共IP的规则在大多数情况下都无法工作。
如果Amazon的DNS服务不可用,我们将失败到外部DNS服务。这意味着您仍然需要配置外部IP以获得最高的可用性,因为外部DNS服务将解析公共IP。通过这种方式,您可以确保您的应用程序对DNS故障具有弹性。
可以为RDS安全组设置基于安全组的访问规则。我们已经用专门针对Amazon的部分更新了这篇知识库文章,您可以在其中找到设置这些信息所需的信息。
https://stackoverflow.com/questions/17975517
复制相似问题