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

Почему я не могу подключиться к Amazon RDS после его настройки?

Итак, я только что создал учетную запись Amazon RDS. И я запустил экземпляр базы данных.

The "endpoint" is:
abcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

Большой! Теперь я пытаюсь подключиться к нему с одного из моих других экземпляров EC2.

mysql -uUSER -pPASS -habcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

Но ничего не работает и просто зависает.

Пробовал пинговать, тоже ничего не работает. Ничего не произошло.

Мне нужно изменить какие-то настройки?

По умолчанию RDS не разрешает никаких подключений, не указанных в группе безопасности (SG). Вы можете разрешить на основе адресации CIDR или номера учетной записи Amazon, что позволит любому EC2 под этой учетной записью получить к ней доступ.

Он «просто зависает», поскольку вы не настроили брандмауэр для приема соединений mySQL от другого экземпляра, поэтому пакет отбрасывается на уровне брандмауэра, для решения этой проблемы вам необходимо:

  1. зайдите в консоль AWS
  2. Вкладка EC2
  3. Запишите группу безопасности вашего сервера mySQL (сейчас назовите это SG-MYSQL)
  4. щелкните группы безопасности слева от консоли
  5. щелкните свою группу в центральном меню SG-MYSQL
  6. щелкните вкладку входящих
  7. выберите mySQL из списка, добавьте данные своего клиентского сервера и сохраните правило

ПРИМЕЧАНИЕ. Исходный IP-адрес для сервера не будет вашим эластичным IP-адресом (в любом случае в большинстве случаев) у вас будет внутренний IP-адрес на устройстве (ifconfig в Linux покажет вам это).

Здесь много говорят о группах безопасности, но также проверьте:

  • Связанные подсети кажутся настроенными правильно?
  • Являются ли подсети частью группы маршрутизации, которая выглядит правильно настроенной (указан интернет-шлюз и т. Д.?)
  • Сообщает ли RDS, что он общедоступен?
  • И, конечно же, проверьте группы безопасности RDS и группу безопасности EC2.
    • Не забывайте, что ваш фактический исходный IP-адрес может быть внутренним (при внутреннем доступе через VPC) или внешним IP-адресом (который может быть IP-адресом маршрутизатора или IP-адресом экземпляра EC2, который отличается от его Load Balancer / Elastic IP). - для устранения неполадок вы можете попытаться разрешить доступ ко всем IP-адресам и портам.

(Моей проблемой была группа маршрутизации; при создании новой подсети я не позаботился добавить ее в группу маршрутизации со шлюзом.)

Исправлена.

Пришлось предоставить к нему доступ в группах безопасности под БД ...

У меня была такая же проблема ;

  1. Группы безопасности> rds-launch-wizard (или любое другое имя, выбранное для SG db)
  2. выберите вкладку Входящие> изменить
  3. добавить новую роль
  4. MySQL
  5. Источник -> вставьте aws vm ip (например, 12.3.14.80/32)

работал у меня ...

В попытке полностью открыть безопасность для тестирования перед блокировкой доступа, как мой экземпляр базы данных, так и мой экземпляр EC2 использовали одну и ту же группу безопасности, а входящий и исходящий порт 3306 были настроены так, чтобы разрешать соединения из любого места. Проблема - мне удалось подключиться к Aurora со своего ноутбука, но, как ни странно, не с моего экземпляра EC2, как будто экземпляра EC2 нигде не было. Решением было добавить еще одно правило для входящего mysql / Aurora и указать, что тот же идентификатор группы безопасности как источник входящих подключений. В моей группе безопасности есть правило, которое ссылается на себя, и я могу подключиться как с ноутбука, так и с экземпляра EC2.

Убедитесь, что ваш VPC и подсети достаточно широки.

Следующая конфигурация CIDR отлично подходит для двух подсетей:

  • VPC 10.0.0.0/16 10.0.0.0 — 10.0.255.255 (65536 addresses)

  • Подсеть 1 10.0.0.0/17 10.0.0.0 — 10.0.127.255 (32768 addresses, half)

  • Подсеть 2 10.0.128.0/17 10.0.128.0 — 10.0.255.255 (32768 addresses, other half)

Отрегулируйте, если вам нужно три подсети.


Мне не удалось подключиться к моей базе данных RDS. Я вручную просмотрел все детали, и все было в порядке. Никаких указаний на какие-либо проблемы не было, и я не смог найти подходящей информации в документации. Мой VPC был настроен с узким CIDR: 10.0.0.0/22, и каждая подсеть имела 255 адресов. После того, как я изменил CIDR на 10.0.0.0/16 и полностью разделил его между двумя подсетями, мое RDS-соединение начало работать. То, что мне удалось найти источник проблемы, было чистой удачей, потому что для меня это не имеет никакого смысла.

Входящее правило mysql должно быть таким, как показано ниже

это проблема с группой безопасности.