【问题标题】:hosting a laravel application in aws elastic beanstalk with rds db instance使用 rds 数据库实例在 aws elastic beanstalk 中托管 laravel 应用程序
【发布时间】:2015-10-22 19:50:42
【问题描述】:

我已成功完成在弹性 beantalk 上部署我的应用程序。但是当我调用它显示的 URL 时(我已将表导出到 RDS 数据库实例)

Connector.php 第 47 行中的错误异常: SQLSTATE[HY000] [2002] 连接超时(查看:/var/app/current/local/resources/views/themes/default1/client/cart.blade.php)

我的database.php配置是:

'mysql' => [
        'driver'    => 'mysql',
        'host'      => 'rds.cvp31y7ebg1x.us-west-2.rds.amazonaws.com:3306',
        'database'  => 'rdsdb',
        'username'  =>'rdsuser',
        'password'  => '******',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

请帮我解决这个问题。

谢谢。

【问题讨论】:

  • 查看RDS安全组规则?
  • 您是否使用由 Elastic Beanstalk 配置的 RDS?或者,您自己创建RDS?

标签: php amazon-web-services laravel-5 amazon-elastic-beanstalk amazon-aurora


【解决方案1】:

1) 您可以在配置中使用“port”-key 提供端口:

'port' => env('DB_PORT', '3306'),

2) 检查 RDS 安全组,或者 - 很可能您在 VPC 中使用 RDS:

3) 检查 VPC 安全组。将 VPC 安全组附加到您的 RDS 实例,并将您的 IP/您的账户(不好的做法)/您的实例或扩展组在这些 VPC 安全组中列入白名单。请记住:如果您在 VPC 中使用 RDS,则 VPC 安全组对 RDS 很重要!

【讨论】:

  • 另一方面,您是否有可能在您的视图中访问 RDS?如果是这样,请帮自己一个忙,重新阅读 laravel 大量改编的 MVC 模式。
  • 感谢@Huggy 的快速响应,我在我的database.php 文件中更改了端口号,它运行良好,但在beantalk 中它显示相同的错误,我希望这是因为我的VPC 安全性。请提供一些最佳实践建议
  • 在我的所有安全组中,我的出站规则更改为所有流量。
  • 首先,确保您实际上使用的是 VPC:在 RDS 控制台中,切换到实例详细信息并查找 VPC - 很可能,您的 RDS 将设置在 VPC 中。然后,切换到 VPC 服务仪表板并从左侧导航中选择“安全组”。您可能会在那里找到一个“默认”组。更改“入站规则”,添加端口 3306。作为源,您可以插入您的 EC2 beantalk 实例所在的安全组(也许它会为您自动完成 - 所以您可以尝试输入 sg- 并希望它会自动完成。EC2 sg 可以在 EC2 Dashb 中找到。
  • 附加说明:确保此“默认”组已附加到您的 RDS 实例 - 您可以选择在您的 RDS 实例中使用 modify instance
猜你喜欢
  • 2020-06-14
  • 2021-04-30
  • 2020-10-11
  • 2016-01-09
  • 2020-06-27
  • 2013-01-22
  • 2019-05-04
  • 2014-07-21
  • 2017-08-10
相关资源
最近更新 更多