본문 바로가기
Dev/AWS

[AWS]AWS EC2 인스턴스에 Postgresql 설치 + 스프링부트 연동하기(posrgresql+JPA)

by ssyoni 2022. 2. 12.
반응형

 

AWS EC2 Linux2에 Postgresql을 직접 설치하고 스프링 부트로 연동하기까지의 작업을 해보자. 

 

 

Postgresql 설치 

먼저 EC2에 접속해서 posrgresql 관련 패키지를 설치해준다. 

sudo amazon-linux-extras install postgresql10 epel -y
sudo yum install postgresql-server postgresql-devel -y

 

설치한 postgresql 버전을 확인해보자 

/usr/bin/postgres --version

버전 확인 완료. 

 

 

Postgresql DB 접속 

아래의 명령어를 입력해 db를 실행시켜준다.

sudo /usr/bin/postgresql-setup --initdb
sudo systemctl enable postgresql
sudo systemctl start postgresql

 

postgresql을 설치할 때 자동으로 생성되는 계정인 postgres 유저로 db에 접속한다. 

sudo su - postgres

 

psql로 쿼리를 실행할 수 있다. 

 

 

user/database 생성 

CREATE USER noums PASSWORD ‘password’ SUPERUSER;
CREATE DATABASE bigwave OWNER noums;

 

외부환경에서 접속할 수 있게 postgresql 설정 변경 

/var/lib/pgsql/data/postgresql.conf
/var/lib/pgsql/data/pg_hba.conf

 

postgresql.conf ->  listen_addresses = '*' 

 

postgresql.conf 

 

pg_hba.conf  ->  host   all    all   0.0.0.0/0    md5 

pg_hba.conf 

 

sudo systemctl restart postgresql

설정 파일 변경 후 postgresql 재시작을 해주어야 적용된다.

 

AWS 보안 그룹 인바운드 규칙 설정 

외부에서 접속할 수 있게 postgresql 5432 포트 번호를 개방해주어야 한다. 

 

접속 확인 

인텔리제이에서 postgresql db에 접속이 잘 되는지 테스트해보자. 

Name : 접속할 DB

Host : 퍼블릭IP

Port : 5432

Databse : postgres

 

 

 

스프링 부트에 postgresql db 접속 정보 설정하기 

먼저 build.gradle에서 postgresql 의존성 추가

 

application.properties 설정하기 

# PostgreSql
spring.datasource.url=jdbc:postgresql://3.35.50.206:5432/postgres
spring.datasource.username=
spring.datasource.password=
spring.datasource.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect


# JPA
spring.jpa.properties.hibernate.use_sql_comments=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show_sql=true

 

 

application.properties 설정까지 마쳤으면 스프링 애플리케이션을 실행해서 데이터를 저장해보자.

 

테이블이 생성되고 값이 제대로 insert 된 것을 확인할 수 있다. 

springboot console log
ec2 postgresql db
query select

 

 

 

 

 

https://devegoist.tistory.com/1#recentComments

 

Amazon EC2 Linux 2에 Postgresql 설치

기념할만한 첫 글이다. 프리티어가 끝나서, 가장 낮은 등급의 인스턴스를 사용함에도 하루 약 1달러라는 높은 비용이 드는 RDS를 대체하기 위하여 EC2에 직접 DB를 설치해서 사용하기 위해 작업한

devegoist.tistory.com

 

https://awse2050.tistory.com/44

 

Spring Data JPA 와 Postgresql 연동

빠르게 방법만 우선 포스팅 하겠습니다. 1. build.gradle 직접 프로젝트 생성시 의존성 추가를 하셔도 됩니다. 2. application.properties # Postgresql spring.datasource.url=jdbc:postgresql://localhost:5432..

awse2050.tistory.com

 

반응형

댓글