Как подключить PostgreSQL RDS к загрузке пружины в эластичном бобовом стебле? - PullRequest
0 голосов
/ 17 июня 2019

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

Я попытался поместить идентификатор db имени экземпляра rds db и мастер-пароль в файл свойств приложения, но он не работает.

#cloud.aws.rds.mydbinstanceidentifier
#cloud.aws.rds.testdbspringiloilo.password=mydbmasterpassword

Когда я пытаюсь запросить объект, поступающий из БД, он показывает страницу с белой меткой, сообщающую мне, что время истекло.

enter image description here

Ответы [ 3 ]

0 голосов
/ 17 июня 2019

Вы пытаетесь использовать конфигурацию cloud.aws.rds, но не используете Spring Cloud AWS.

Вам нужны дополнительные зависимости:

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-aws</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-aws-jdbc</artifactId>
    </dependency>

Подробнее о Spring Cloud AWS читайте в официальной документации: https://cloud.spring.io/spring-cloud-aws/spring-cloud-aws.html

Есть также хороший образец: https://github.com/codeurjc/spring-cloud-aws-sample

0 голосов
/ 17 июня 2019

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

  1. Я добавил новое правило, чтобы открыть порт 5432 в vpc.(Это сбило меня с толку, потому что разве страница конфигурации не должна была указывать, что при выполнении сценария, поскольку я явно добавил снимок Postgres rds?)

  2. Я добавил новую зависимость в файл pom,что я не совсем уверен, если это действительно имеет значение, так как я уже могу запустить приложение, но просто не могу подключиться к БД.

    org.springframework.boot spring-boot-starter-web

  3. Вместо использования идентификатора db я использовал адрес конечной точки снимка.

Спасибо за вклад, ребята!ура!

0 голосов
/ 17 июня 2019

Ваше приложение не может связаться с экземпляром RDS, и время ожидания истекло. Убедитесь, что:

1 - у группы безопасности есть правило входа, позволяющее соединениям из подсети / группы безопасности вашего приложения через порт базы данных (5432 по умолчанию для Postgres)
2- Список доступа для подсети, в которой запущен ваш экземпляр RDS, разрешает трафик, поступающий из вашей среды Beanstalk.
3. Вы настроили правильную конечную точку и порт в вашем файле свойств.

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

...