使用codeigniter连接EC2和RDS

时间:2013-09-17 12:53:59

标签: codeigniter amazon-ec2 amazon-rds

当我尝试使用EC2上的codeigniter将Amazon EC2实例与RDS实例连接时,我收到一条消息:无法使用提供的设置连接到数据库服务器。但是,当使用具有相同参数的经典专用服务器连接到RDS时,连接成功。

$db['default']['hostname'] = 'xxxxxxx'; 
$db['default']['username'] = 'xxxxx';
$db['default']['password'] = 'xxxxxxx';
$db['default']['database'] = 'xxxxxxx';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['port'] = 3306;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['default']['ssl_set'] = TRUE;
$db['default']['ssl_key'] = NULL;
$db['default']['ssl_cert'] = NULL;
$db['default']['ssl_ca'] = realpath('./mycertificate.pem');
$db['default']['ssl_capath'] = NULL;
$db['default']['ssl_cipher'] = NULL;

1 个答案:

答案 0 :(得分:0)

如果您能够从其他服务器访问您的RDS,我会说您的安全组可能会停止您的EC2和RDS之间的访问。它们是否位于VPC中的独立私有子网中?

如果是这样,您应该在安全组内部分配每个实例在端口3306上访问和通信的能力(您实际上可以将安全组分配为安全组选项卡中的源,这非常棒!)

如果没有,EC2和RDS之间的环境是什么样的?