Назад | Перейти на главную страницу

не удается подключиться к aws rds mysql из экземпляра aws ec2 через веб-браузер

Я настроил экземпляр AWS RDS и экземпляр AWS EC2, и я считаю, что настроил группу безопасности, чтобы разрешить как внутреннему IP-адресу, так и общедоступному IP-адресу экземпляра EC2 доступ к экземпляру RDS. если я подключаюсь к экземпляру EC2 через ssh-клиент, и набираю команду:

mysql -u xxx -p -h AWS_RDS_endpoint.com

Соединение успешно. Я создал тестовый файл php с именем index.php в корневом веб-каталоге экземпляра EC2, такой код:

<?php
  $servername = "aws_rds_endpoint.com";
  $username = "username";
  $password = "password";

  // Create connection
  $conn = new mysqli($servername, $username, $password);

  // Check connection
  if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
  } 
  echo "Connected successfully";
?>

если я наберу «php index.php» в терминале ssh, он покажет «успешно подключен», но если в веб-браузере я попробовал http на экземпляр EC2, например http://xxxx.us-east-2.computer.amazonaws.com (который является общедоступным DNS EC2), он возвращает "Ошибка подключения: в доступе отказано".

Может кто подскажет, как решить эту проблему?

Если вы хотите подключиться к AWS RDS MySQL из экземпляра EC2 Linux, вам понадобится идентификатор экземпляра. Кроме того, убедитесь, что вы добавили общедоступный IP-адрес в группу безопасности БД, которая принадлежит RDS. Убедитесь, что ваш идентификатор пользователя имеет правильные разрешения как для экземпляра EC2 Linux, так и для базы данных MySQL - изменение / чтение доступа к расположению MySQL и самой БД.

Затем убедитесь, что вы создали группу безопасности БД для внешнего доступа и ваш пользователь включен в нее. Вы можете сделать это, используя инструкции по следующей ссылке: http://docs.amazonwebservices.com/AmazonRDS/latest/GettingStartedGuide/AuthorizeAccess.html