Я пытаюсь подключиться к Amazon RDS MySQL от Heroku с помощью CodeIgniter PHP Framework версии 3. Я выполнил все шаги, перечисленные в Документация Heroku об Amazon RDS , но не могу понять, что я делаю неправильно?
Вот мои настройки базы данных CodeIgniter:
$db['rds'] = array(
'dsn' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE,
'port' => 3306,
'encrypt' => [
'ssl_ca' => APPPATH."../.config/rds-combined-ca-bundle.pem",
'ssl_verify' => TRUE
]
);
$db['rds']['hostname'] = getenv('RDS_DATABASE_HOSTNAME');
$db['rds']['username'] = getenv('RDS_DATABASE_USERNAME');
$db['rds']['password'] = getenv('RDS_DATABASE_PASSWORD');
$db['rds']['database'] = getenv('RDS_DATABASE_DBNAME');
Но я продолжаю получать эту ошибку:
mysqli::real_connect(): (HY000/2002): Connection timed out /app/vendor/codeigniter/framework/system/database/drivers/mysqli/mysqli_driver.php 201
Вот что я проверил:
- Я проверил в группах безопасности RDS и CIDR / IP - есть исходящий 0.0.0.0/0
- Я добавил отдельного пользователя MySQL с привилегиями GRANT SELECT, UPDATE, INSERT, DELETE и REQUIRE SSL
- Добавлен объединенный файл сертификата в корневой каталог проекта
.config/rds-combined-ca-bundle.pem
и развернут на Heroku - На локальном компьютере тот же код работает нормально
- Попытка перезапуска экземпляра RDS
Куда еще мне обратиться, если какая-то настройка неверна?