размещение приложения laravel в aws elastic beanstalk с экземпляром rds db

Я успешно завершил развертывание своего приложения на эластичном бобовом стебле. Но когда я вызываю URL-адрес, который он показывает (я экспортировал свою таблицу в экземпляр БД RDS)

ErrorException в 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,
    ],

Пожалуйста, помогите мне разобраться с этой проблемой.

Спасибо.


person Vijay Sebastian    schedule 31.07.2015    source источник
comment
проверить правила группы безопасности RDS?   -  person Dusan Bajic    schedule 31.07.2015
comment
Вы используете RDS, настроенный с помощью Elastic Beanstalk? Или вы сами создаете RDS?   -  person Edward Samuel    schedule 31.07.2015


Ответы (1)


1) Вы можете указать порт с помощью клавиши "порт" в конфигурации:

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

2) Проверьте группы безопасности RDS или - как наиболее вероятно, вы используете RDS внутри VPC:

3) Проверьте группы безопасности VPC. Прикрепите группы безопасности VPC к своему экземпляру RDS и внесите в белый список свой IP / учетную запись (плохая практика) / свой экземпляр или группу масштабирования в этих группах безопасности VPC. Помните: если вы используете RDS внутри VPC, для RDS важна именно группа безопасности VPC!

person Huggy    schedule 31.07.2015
comment
С другой стороны, возможно ли, что вы обращаетесь к RDS внутри вашего представления? Если это так, сделайте себе одолжение и перечитайте шаблон MVC, который сильно адаптирован laravel. - person Huggy; 31.07.2015
comment
Спасибо @Huggy за ваш быстрый ответ, я изменил номер порта в моем файле database.php, и он работает нормально, но в beanstalk он показывает ту же ошибку, я надеюсь, что из-за моей безопасности VPC. Пожалуйста, дайте несколько предложений по лучшей практике - person Vijay Sebastian; 31.07.2015
comment
Во всех моих группах безопасности правила исходящего трафика изменились на весь трафик. - person Vijay Sebastian; 31.07.2015
comment
Во-первых, убедитесь, что вы действительно используете VPC: внутри консоли RDS переключитесь на детали экземпляра и найдите VPC - скорее всего, ваш RDS будет установлен в VPC. После этого переключитесь на панель управления службами VPC и выберите Группы безопасности на левой панели навигации. Вероятно, вы найдете там группу «по умолчанию». Измените «Входящие правила», добавьте порт 3306. В качестве источника вы можете вставить группу безопасности, в которой находятся ваши экземпляры EC2 beanstalk (возможно, она будет автоматически завершена для вас, поэтому вы можете просто попытаться ввести sg- < / b> и надеюсь, что он будет автозаполнен. EC2 sg можно найти на EC2 Dashb. - person Huggy; 31.07.2015
comment
Дополнительное примечание: убедитесь, что эта группа "по умолчанию" прикреплена к вашему экземпляру RDS - вы можете выбрать, используя изменение экземпляра в своем экземпляре RDS. - person Huggy; 31.07.2015