Как подключиться к AWS RDS MySQL из приложения Java / Spring с использованием аутентификации AWS IAM? - PullRequest
0 голосов
/ 07 мая 2018

Я новичок в мире AWS и все еще учусь. Уже месяц я пытаюсь что-то сделать.

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

У меня есть экземпляр AWS RDS MySQL и база данных. Я настроил « IAM DB AUthentication Enabled » на «Да».

Создано Роль IAM и Политика согласно документации AWS.

И, наконец, у меня есть экземпляр EC2 с Tomcat, в котором развернуто и запущено мое приложение Java / Spring . Я могу получить доступ к базе данных MySQL, используя учетные данные базы данных (например, имя пользователя базы данных, пароль, URL-адрес базы данных и т. Д.). Так что я знаю, что сейчас все настроено правильно.

Может кто-нибудь помочь мне узнать, как подключиться к этой базе данных из моего приложения Java / Spring, используя spring-jdbc и Аутентификация AWS IAM (роль IAM, которую я создал выше)?

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

Любая помощь будет высоко оценена.

Спасибо.

1 Ответ

0 голосов
/ 19 ноября 2018

У меня недавно была похожая проблема.

Вот что я сделал:

  • Включены Spring Cloud AWS JDBC и Spring Data JPA
  • Реализован пользовательский DataSourceFactory, который генерирует токен доступа IAM и использует его для соединения

Вы можете найти полное пошаговое руководство здесь .

Кстати, Spring Cloud AWS JDBC предоставляет некоторые дополнительные преимущества, такие как поддержка реплики чтения или отработки отказа, и вам нужно только указать идентификатор экземпляра вашего экземпляра RDS, а не полную каноническую конечную точку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...