AWS CodeBuild无法与RDS实例

时间:2018-03-10 19:56:47

标签: php amazon-web-services amazon-rds aws-codebuild

我在AWS中拥有最基本的设置:

  • 可公开访问的RDS实例(PostgreSQL 9.6.6 - 与我的开发实例相同)
  • 一个CodeBuild项目

都在默认的VPC中。

我的应用程序是用Laravel 5.5编写的,buildspec.yml在某些时候运行./artisan migrate --force,CodeBuild会输出以下错误:

[Container] 2018/03/10 19:41:36 Running command php artisan migrate --force

[Illuminate\Database\QueryException] 
SQLSTATE[08006] [7] timeout expired (SQL: select * from information_schema. 
tables where table_schema = public and table_name = migrations)     

[Doctrine\DBAL\Driver\PDOException] 
SQLSTATE[08006] [7] timeout expired    

[PDOException] 
SQLSTATE[08006] [7] timeout expired 

我应该从哪里开始寻找错误?

1 个答案:

答案 0 :(得分:6)

您需要确保RDS安全组允许来自代码构建的入站流量。

  1. 转到https://ip-ranges.amazonaws.com/ip-ranges.json
  2. 搜索CODEBUILD并选择您所在的地区。
  3. 将IP添加到RDS安全组中的入站规则。