【问题标题】:can't connect from Lumen to amazon AWS RDS Mysql无法从 Lumen 连接到亚马逊 AWS RDS Mysql
【发布时间】:2019-09-08 04:03:01
【问题描述】:

通过SequelPro客户端使用SSL,并使用证书amazon-rds-ca-cert.pem,连接成功。

然后,我用Lumen写的微服务无法连接数据库,使用如下配置:

'options'  => array(
                "sslmode" => "require",
                "sslrootcert" => "./amazon-rds-ca-cert.pem"
            )    

'host' => $host,
            'port' => env('DB_PORT', 3306),
            'database' => $db,
            'username' => $username',
            'password' => $pw',

在其中一个端点上创建ge† 请求时,出现以下错误:

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

我花了将近 2 天的时间研究如何解决这个问题,但到目前为止没有任何成功。

微服务现在在我的本地主机上运行,​​所以我认为一旦我在本地主机上运行它,我可以在将它部署到生产环境时重新开始,但那是另一回事。

任何想法,建议都表示赞赏!

【问题讨论】:

  • 'host' => $host", 看起来像一个语法错误 - " 真的存在吗? $host 包含什么?
  • 'username' => $username', 行也是如此。
  • 那些只是拼写错误,抱歉,已修复。 :) 变量包含正确的值。
  • 您的服务器是否有权访问 RDS 实例?在我看来,该实例位于流明服务器没有内部访问权限的私有子网上
  • @DerekPollard 这可能是一个好点。这些设置是否在 aws 控制台上的 subnet gorups 下?

标签: mysql laravel amazon-web-services lumen


【解决方案1】:

问题在于配置错误的vpc。经过多天的尝试,并了解了AWS 中的生态系统的实际运作方式,我找到了正确执行此操作的方法。

db 实例inbound 规则需要在vpc 的安全设置中进行编辑。

我也找到了相应的文档:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html

在入站设置正确的 vpc 后,连接开始工作。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 2012-07-30
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    相关资源
    最近更新 更多