Подключение приложения Springboot, работающего локально, к экземпляру db, работающему на экземпляре виртуальной машины aws

Я написал набор API, используя структуру Springboot. Локально работает нормально. Но теперь я пытаюсь проверить это с базой данных postgresql, работающей на экземпляре ec2 на aws.

ПРИМЕЧАНИЕ. Я не использую службы Amazon RDS, я создал экземпляр ec2 и установил там postgres и настроил базу данных.

Я вижу, что это исключение возникает, когда я локально запускаю приложение Springboot.

org.postgresql.util.PSQLException: The connection attempt failed.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:297)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)

Это конфиг от application.properties для одной из БД

spring.xyz.datasource.jdbc-url=jdbc:postgresql://xyz.com:5432/xyz_db
spring.xyz.datasource.username=xyz
spring.xyz.datasource.password=xyz123

Я не могу подключиться из-за настроек безопасности инстанса EC2? Как я могу это изменить?

Также будет полезно, если кто-нибудь подскажет, как заставить экземпляр aws ec2 принимать соединение только с одной виртуальной машины?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
265
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

относительно подключения Postgress-

  • добавьте правило ниже в группу безопасности экземпляра Ec2, на котором вы установили postGress
  • Разрешите входящий трафик на порт postgress с 0.0.0.0/0 и проверьте. (протокол - TCP, порт - 5432, IP - 0.0.0.0/0)

относительно разрешения только с одной виртуальной машины

  • добавить правило группы безопасности в ваш экземпляр Ec2
  • Разрешить входящий трафик только с IP-адреса вашей виртуальной машины

Спасибо за ответ. Я добавил входящие правила и столкнулся с другой проблемой: «Проверьте правильность имени хоста и порта и что почтмейстер принимает соединения TCP/IP». Я уже заглянул в listen_addresses и раскомментировал эту строку. Все та же проблема.

Lokesh Pandey 15.12.2020 12:55

Какой номер порта вашего постгресса

Ravindra Bagale 15.12.2020 12:56

Проверьте, правильно ли вы указали номер порта

Ravindra Bagale 15.12.2020 12:56

Это по умолчанию 5432

Lokesh Pandey 15.12.2020 12:56

Я могу подключиться сейчас, но столкнулся с проблемой неправильного пароля. FATAL: password authentication failed for user Я дважды проверил пароль, он правильный. Любой намек? или любая идея? почему это не работает сейчас

Lokesh Pandey 15.12.2020 13:42

Другие вопросы по теме