AWS Aurora MySQL без сервера: как подключиться из MySQL Workbench

Я пытался использовать AWS Aurora Serverless для MySQL в моем проекте, но с ним невозможно связаться, хотя у меня есть конечная точка, имя пользователя, пароль.

Что я сделал:

  1. Из управления консолью AWS я выбираю RDS> Экземпляры> Aurora> Без сервера
  2. Оставьте настройки по умолчанию
  3. Создать базу данных
  4. AWS создаст только AWS-кластер enter image description here
  5. Я открываю MySQL Workbench и использую конечную точку, имя пользователя, пароль для подключения базы данных

Ressult:

Ваша попытка подключения не удалась для пользователя "admin" с вашего хоста на сервер по адресу xxxxx.cluster-abcdefg1234.eu-west-1.rds.amazonaws.com:3306: Не удается подключиться к серверу MySQL на "xxxxx.cluster-abcdefg1234". eu-west-1.rds.amazonaws.com '(60)

Я сделал какие-то неправильные шаги? Пожалуйста, посоветуйте мне.

****РЕДАКТИРОВАТЬ****

Я попытался создать еще одну базу данных Aurora с типом емкости: Provisioned. Я могу подключиться к конечной точке без проблем с именем пользователя и паролем на рабочем столе MySql. Это означает, что порт 3306 открыт для верстака.

О группе безопасности: enter image description here

Ответы

Ответ 1

С https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html :

  • Вы не можете присвоить кластеру Aurora Serverless DB публичный IP-адрес.
  • Вы можете получить доступ к кластеру Aurora Serverless DB только из виртуальное частное облако (VPC) на основе сервиса Amazon VPC.
  • Вы не можете получить доступ к конечной точке кластера Aurora Serverless Server через VPN-соединение AWS или пиринговое соединение VPC между регионами. Там ограничения в доступе к конечной точке кластера через внутрирегиональная пиринговая связь VPC; для получения дополнительной информации см. интерфейс конечных точек VPC (AWS PrivateLink) у пользователя Amazon VPC Руководство. Тем не менее, вы можете получить доступ к кластеру Aurora Serverless конечная точка через соединение AWS Direct Connect.

Таким образом, помимо SSH-доступа через экземпляр EC2, вы также можете получить доступ к вашему безсерверному кластеру с помощью MySQL Workbench с AWS Direct Connect.

Ответ 2

Один из способов подключения к кластеру без серверных серверов Aurora - это использовать экземпляр Amazon EC2. Вы не можете создавать общедоступные кластеры без сервера Aurora без предварительного просмотра в Preview. Эта задача поможет вам создать общедоступный экземпляр Amazon EC2 в вашем VPC. Вы можете использовать этот экземпляр Amazon EC2 для подключения к кластеру без сервера Aurora без сервера.

Это непосредственно из документов, представленных при предварительном просмотре. Попробуйте создать экземпляр EC2 и использовать метод SSH Tunnel в вашем MYSQL Workbench или SQL UI по выбору. Во время предварительного просмотра сервер Aurora Serverless не может быть доступен для общедоступного доступа.

Ответ 3

Первоначально я был застрял в том же сценарии. Точки, которые нужно отметить при подключении AWS RDS Aurora

  • Cant connect Public, вам нужен экземпляр EC2 с тем же областью, где была создана Aurora.

  • Aurora Общественный доступ должен быть проверен Нет (он работал для меня).

  • Вам необходимо создать группу безопасности, в которую следует добавить правила входящего и исходящего трафика (IpAddress экземпляров EC2).

Пример: Тип = MYSQL/AURORA, Protocol = TCP, PortRange = 3306, Source = Пользовательский и ваш диапазон IP-адресов,

  • изменить экземпляр и группу безопасности в экземпляр и немедленно применить изменения.

  • При создании Aurora u будет создавать MasterName, Pwd и стандартную схему для подключения.

  • После создания перейдите в кластер и возьмите конечную точку кластера и войдите в систему с вашим экземпляром EC2 и с MySQL Workbench, Hostname в качестве конечной точки вашего кластера, именем пользователя и pwd, введенным при создании базы данных aurora.

Ответ 4

Я нашел это полезным:

Настройка и подключение к базе данных MySQL без сервера

Ответ 5

Обычный шаблон, используемый клиентами для подключения к сервисам, использующим только VPC (например, Aurora Serverless, Amazon Neptune, Amazon DocDB и т.д.), Заключается в том, чтобы иметь средний уровень (экземпляр EC2 или ALB и т.д.) И сделать доступным средний уровень снаружи VPC. Если ваш вариант использования просто пробует некоторые запросы или подключает рабочую среду, то самое простое:

  1. Разрешить DNS безсерверной БД и получить его IP
  2. Создайте ALB в своем VPC с целевой группой для IP-адреса, который вы нашли в # 1
  3. Создайте новую группу безопасности и прикрепите ее к своему ALB
  4. Обновите SG, чтобы разрешить входящие откуда угодно. Если вам нужен общедоступный доступ в Интернет, разрешите входящие со всех IP-адресов, включите интернет-шлюз в своем VPC и используйте общедоступную подсеть для своего ALB.

Как только все это будет сделано, вы получите новый DNS - который указывает на ваш ALB. Убедитесь, что ваш ALB настроен правильно:

  1. Использование telnet для подключения к конечной точке ALB. telnet alb-endpoint alb-port. Если это удастся, то у вас будет полное сквозное соединение (не только с вашим ALB, но и через него).
  2. Проверьте метрики ALB, чтобы убедиться, что все проверки работоспособности проходят.

Как только это будет сделано, используйте конечную точку ALB в рабочей среде, и все готово.

Этот шаблон рекомендуется только для непроизводственных систем. Важным этапом является разрешение DNS на IP - этот IP эфемерен, он может измениться, когда масштабирование вычислений или аварийное переключение происходит в фоновом режиме.

Надеюсь, это поможет, дайте мне знать, если вам нужно больше деталей на любом этапе. Вот связанный ответ для Нептуна:

Подключитесь к Нептуну на AWS с локального компьютера

Ответ 6

Я предполагаю, что ваша группа безопасности неправильно настроена для доступа. Вам нужно явно разрешить удаленный доступ к этому порту для этого экземпляра.

Из официальных документов:

Две распространенные причины сбоев подключения к новому экземпляру базы данных:

  • Экземпляр DB был создан с использованием группы безопасности, которая не разрешает подключения с устройства или экземпляра Amazon EC2, где работает приложение или утилита MySQL. Если экземпляр DB был создан в VPC, он должен иметь группу безопасности VPC, которая разрешает соединения. Если экземпляр DB был создан вне VPC, он должен иметь группу безопасности БД, которая разрешает соединения.

  • Экземпляр DB был создан с использованием порта по умолчанию 3306, и ваша компания имеет правила брандмауэра, блокирующие подключения к этому порту с устройств в вашей сети компании. Чтобы исправить этот провал, заново создайте экземпляр с другим портом.

Смотрите здесь для более подробной информации:

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html