У меня проблемы с подключением к моему экземпляру RDS из моего экземпляра EC2. Я добавил эластичный IP-адрес для экземпляра EC2 в группу безопасности RDS. следующим образом: xx.xxx.xx / 32
Я использую PHP-скрипт для проверки соединения.
Я добавил свой локальный IP-адрес в группу безопасности RDS следующим образом: xx.xxx.xx / 32, и, используя тот же сценарий (работающий локально на моем MAC), я могу подключиться к нему с моего локального ПК ().
Вот сценарий, который я использую для тестирования:
<?php
$db_host = 'xxxxxxxxxx'; //this is the RDS endpoint, not the IP address
$db_user = 'xxxxxx';
$db_password = 'xxxxxx';
$db_name = 'xxxxxxx';
$mysqli = new mysqli($db_host, $db_user, $db_password, $db_name);
echo 'Server Info = '.$mysqli->server_info.'<br />';
echo 'Server Version = '.$mysqli->server_version.'<br />';
echo 'Connect Error = '.$mysqli->connect_error.'<br />';
?>
Когда я запускаю его из своего экземпляра EC2, я получаю следующее:
Server Info =
Server Version =
Connect Error = Unknown MySQL server host 'xxxxxxxx' (20)
Когда я запускаю его со своего локального компьютера (Mac), я получаю следующее:
Server Info = 5.5.27-log
Server Version = 50527
Connect Error =
Любые идеи?
У меня проблемы с подключением к моему экземпляру RDS из моего экземпляра EC2. Я добавил эластичный IP-адрес для экземпляра EC2 в группу безопасности RDS. следующим образом: xx.xxx.xx / 32
Скорее всего, ваш экземпляр EC2 использует свой внутренний IP, а не (внешний) эластичный IP. Помните, что вы можете авторизовать группу безопасности вместо IP-адреса - это, вероятно, лучшее решение здесь.
Когда вы используете DNS-имя "Конечная точка". Он разрешается во внутренний IP-адрес при использовании в EC2 и разрешается в общедоступный IP-адрес при использовании снаружи. Вы никогда не должны использовать фактический IP-адрес в группах безопасности или конфигурации хоста.
Ваш экземпляр EC2 пытается подключиться с внутреннего IP-адреса, поэтому правила безопасности для входящих / исходящих подключений блокируют его.
Вы должны изменить группы безопасности, чтобы принимать трафик друг от друга. группы безопасности. Это функция групп безопасности AWS, просто введите sg- * вместо CIDR, и он покажет вам все варианты.
Например:
Type Protocol Port Range Source
All traffic All All sg-**** (default)