IT정보사전

[AWS] EC2 Ubuntu에 PostgreSQL 설치하기 본문

IT정보

[AWS] EC2 Ubuntu에 PostgreSQL 설치하기

작은나무0530 2024. 5. 14. 22:05
728x90
반응형

안녕하세요~ 작은나무입니다!!
오늘은 AWS EC2 Ubuntu에 PostgreSQL을 설치하는 방법에 대해 알아보겠습니다.

참고로 AWS에서는 Amazon Realational Database Service(Amazon RDS)를 사용해서 관계형 데이터베이스를 생성할 수 습니다. (Maria, MySQL, MS-SQL, Oracle, PostgreSQL 등을 생성하고 연결할 수 있습니다.) 
PostgreSQL RDS 인스턴스 생성 및 연결하는 방법은 아래 링크를 참고해 주세요.

 

PostgreSQL DB 인스턴스 생성 및 해당 인스턴스에 연결 - Amazon Relational Database Service

SSH 액세스에 0.0.0.0/0을 사용하는 경우 모든 IP 주소가 SSH를 사용하여 퍼블릭 EC2 인스턴스에 액세스할 수 있도록 활성화합니다. 이 방법은 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션

docs.aws.amazon.com

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을 설치하고 접속하는 방법에 대해 알아봤습니다.
감사합니다.

728x90
반응형
그리드형
Comments