Не удается подключиться к RDS в развернутом приложении Elastic Beanstalk - PullRequest
0 голосов
/ 27 августа 2018

У меня есть приложение Laravel, которое подключено к базе данных RDS, в localhost оно работает отлично, но когда я развертываю приложение в Elastic Beanstalk, оно перестает работать.

Соединение с MySQL:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => 'dbpassword',
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],

DB_CONNECTION=mysql
DB_HOST=dbname.ctwrtyncfghj.us-east-1.rds.amazonaws.com
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbUser

Для развертывания я сжимаю все файлы, кроме поставщика /.

1 Ответ

0 голосов
/ 30 августа 2018

Я решил эту проблему, поэтому я напишу решение, которое состоит из 2 шагов:

1. Подключение RDS от Laravel в соответствии с документацией AWS должно быть выполнено следующим образом:

а. Добавьте определения операторов в config / database.php:

define('RDS_HOSTNAME', $_SERVER['RDS_HOSTNAME']);
define('RDS_USERNAME', $_SERVER['RDS_USERNAME']);
define('RDS_PASSWORD', $_SERVER['RDS_PASSWORD']);
define('RDS_DB_NAME', $_SERVER['RDS_DB_NAME']);
define('RDS_PORT', $_SERVER['RDS_PORT']);

б. и измени конфиг mysql:

'mysql' => [
            'driver' => 'mysql',
            'host' => RDS_HOSTNAME,
            'port' => RDS_PORT,
            'database' => RDS_DB_NAME,
            'username' => RDS_USERNAME,
            'password' => RDS_PASSWORD,
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ]

2. Соединение RDS из приложения AWS EB следует рассматривать как VPC (https://aws.amazon.com/documentation/vpc/):

а. Это видео, которое показывает, как именно настроить ваши VPC и подсети для точного использования EB

https://www.youtube.com/watch?v=udY8x_g0dTk&frags=pl%2Cwn

б. После создания VPC и подсетей вам необходимо создать среду BRAND NEW EB и подключить ее к VPC и подсетям

https://www.youtube.com/watch?v=CB6YzVBxiL4&frags=pl%2Cwn

...