안녕하세요~ 작은나무입니다!!
오늘은 AWS EC2 Ubuntu에 PostgreSQL을 설치하는 방법에 대해 알아보겠습니다.
참고로 AWS에서는 Amazon Realational Database Service(Amazon RDS)를 사용해서 관계형 데이터베이스를 생성할 수 습니다. (Maria, MySQL, MS-SQL, Oracle, PostgreSQL 등을 생성하고 연결할 수 있습니다.)
PostgreSQL RDS 인스턴스 생성 및 연결하는 방법은 아래 링크를 참고해 주세요.
PostgreSQL 설치를 위해 아래와 같이 진행합니다.
1. apt update 명령으로 패키지를 업데이트 합니다.
~$ sudo apt update
2. 설치할 PostgreSQL 버전을 확인합니다. (무조건 최신 버전이 아닌 상황에 맞는 버전 설치를 추천합니다.)
~$ apt show postgresql
위에 보이는 최신버전이 아닌 다른 버전을 설치하시려면 postgresql-{버전}을 붙여서 설치 진행해 주시면 됩니다.
3. PostgreSQL을 설치합니다. (최신버전)
~$ sudo apt install postgresql
4. PostgreSQL 설치가 완료되고 잘 설치가 되었는지 확인합니다.
~$ service postgresql status
설치된 버전을 확인하려면 아래와 같이 입력합니다.
~$ psql --version
5. 설치 완료 후 원격 접속을 위해 postgresql.conf 파일을 수정합니다.
~$ sudo vi /etc/postgresql/16/main/postgresql.conf
- listen_addresses 위치로 이동하면 보이는 화면 입니다. (AS-IS)
수정 모드(i)로 변경하고, listen_addresses를 "*"으로 변경, listen_addresses앞의 # 주석 제거하고 저장합니다.
변경한 후의 화면 입니다. (TO-BE)
변경 내용을 :wq 명령어를 입력해서 저장합니다.
6. 권한 부여를 위해 pg_hba.conf 파일도 수정합니다.
~$ sudo vi /etc/postgresql/16/main/pg_hba.conf
# IPv4 local connections: 항목으로 이동해서 아래와 같이 아이피 주소를 추가합니다.
host all all 0.0.0.0/0 scram-sha-256
7. 설정을 변경했기 때문에 PostgreSQL을 재시작 합니다.
~$ sudo systemctl restart postgresql
8. PostgreSQL에 접속 합니다.
~$ sudo su - postgres
~$ psql
9. postgres 사용자의 비밀번호를 변경합니다.
~$ \password
위의 postgres 사용자로 접속을 해도 되고, 아래와 같이 사용자를 추가로 생성해도 됩니다.
10. 사용자 계정을 생성합니다. (아래의 smalltree를 본인에 맞게 변경해서 사용)
postgres=# CREATE USER smalltree NOSUPERUSER;
postgres=# ALTER USER smalltree WITH PASSWORD '1234';
11. 생성한 사용자 계정 확인
postgres=# \du
12. 사용자 계정 권한 추가 (원하는 권한만 부여할 수 있습니다.)
postgres=# alter user smalltree with createrole;
postgres=# alter user smalltree with createdb;
postgres=# alter user smalltree with replication;
postgres=# alter user smalltree with bypassrls;
13. Local PC에서 AWS EC2에 설치한 PostgreSQL에 접속을 시도합니다.
Host, User, Password를 입력하고 Test Connection을 했는대 아래와 같이 접속이 안되네요..
접속을 하려면 AWS의 보안 그룹에서 PostgreSQL(port:5432)에 접근할 수 있도록 "인바운드 규칙"을 추가해 줘야 합니다.
아래와 같이 인바운드 규칙에 PostgreSQL을 추가합니다.
인바운드 규칙을 추가하고 다시 PostgreSQL에 접속해 보면 정상적으로 접속되는 것을 확인 할 수 있습니다.
AWS EC2 Ubuntu에 PostgreSQL을 설치하고 접속하는 방법에 대해 알아봤습니다.
감사합니다.