【问题标题】:Getting AppHarbor and AWS RDS MySql to play nice让 AppHarbor 和 AWS RDS MySql 发挥出色
【发布时间】:2013-08-01 06:45:45
【问题描述】:

我在 AppHarbor 上有一个包含两个工作人员(Web 和后台)的应用程序,它们连接到托管在 Amazon 的 RDS 上的 MySql 数据库。

我不断收到“无法连接到任何指定的 MySQL 主机”。例外。

我和美国东部地区的RDS实例已将以下AppHarbor CIDR添加到安全组中。

  • 50.17.211.192/28
  • 54.235.159.192/27

我已将自己的 CIDR 添加到安全组,并且可以正常连接到实例。 但是,当应用程序在 AppHarbor 上运行时,它会失败。

我的连接字符串(已审查)是:

Server=myinstanceXXXX.cykjvptrw5xs.us-east-1.rds.amazonaws.com;Database=MyDatabase;UID=XXXXXX;PWD=XXXXX;

我尝试在服务器端点上包含端口 3306,但没有任何区别。

我是不是错过了让两人相处融洽的事情?

【问题讨论】:

    标签: mysql amazon-web-services appharbor rds


    【解决方案1】:

    默认情况下,AppHarbor 使用亚马逊的内部 DNS 服务来解析主机名。由于与 AppHarbor 位于同一区域的 Amazon RDS 实例将解析私有 IP 地址,而不是知识库文章中列出的公共 IP 地址,因此基于公共 IP 设置规则在大多数情况下都不起作用。

    如果 Amazon 的 DNS 服务不可用,我们将故障转移到外部 DNS 服务。这意味着您仍然必须配置外部 IP 以获得最高可用性,因为外部 DNS 服务将解析公共 IP。通过这种方式,您可以确保您的应用程序对 DNS 故障具有弹性。

    您可以为您的 RDS 安全组设置基于安全组的访问规则。我们更新了this knowledge base article,其中包含专门针对 Amazon RDS 的部分,您可以在其中找到设置所需的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      相关资源
      最近更新 更多