본문 바로가기
아마존(AWS)

[AWS] 아마존(aws) 클라우드를 이용한 Postgresql DB 서버 구축

by JeeU147 2022. 12. 3.
반응형

안녕하세요.

 

오늘은 아마존(aws) 클라우드를 이용한 Postgresql DB 서버 구축에 대해 알아보려고 합니다.

 

저번 시간에 아마존 클라우드로 진행을 해보도록 하겠습니다.

 

먼저 Postgresql에 대해 조금 알아보고 가도록 합시다.

 

포스트그레스(Postgresql) 란?

※ RDBMS(Relational Database Management System) - 관계형 데이터베이스 관리 시스템

RDBMS는 관계형 데이터를 관리하기 만들어진 관리 시스템입니다. 테이블을 만들 때 어떠한 데이터를 넣을 건지 미리 설정을 해줍니다. 설정한 데이터가 아닌 다른 값이 들어오게 된다면 에러가 나게됩니다. (스키마와 동일하게 데이터를 넣어주어야합니다.)

 

예시를 하나 들어보겠습니다.

RDBMS에 id - VARCHAR(50), pw - int로 이루어진 user 테이블이 있다고 과정합시다.

테이블에 데이터를 추가할 때 id - "idTest", pw - "qwe" 이라는 데이터를 넣을 때 에러가 뜨게 됩니다.

왜냐하면 pw에 "qwe" <-- 문자열 데이터로 넣어주려는 시도가 있었습니다. 하지만, pw는 int형으로 설정을 해두었습니다. pw 컬럼에는 int형이 아닌 다른 데이터를 넣을 수 없게 됩니다.

 

대표적으로 RDBMS는 Oracle, Mysql, Postgresql 등이 있습니다.

 

 

Postgresql 버전 확인 및 설치

자 그럼 이제 Postgresql을 설치해보도록 하겠습니다.

 

그럼 어떤 버전을 써야하는지부터 한번 Postgresql 홈페이지에 접속을 하여 어떤 release 버전이 있는지 확인해보도록 하겠습니다.

 

https://www.postgresql.org/

 

PostgreSQL

The world's most advanced open source database.

www.postgresql.org

1. 버전 체크

2022-11-10에 Releases 버전들이 나왔습니다.

-> 15.1, 14.6, 13.9, 12.13, 11.18

 

하위 버전이 많은게 좋긴 하지만 적당히 최신 버전이면서 하위 버전이 있는 Postgresql 14로 설치를 진행해보도록 하겠습니다.

 

2. 아마존 리눅스 라이브러리 리스트 확인

리눅스에 접속을 하여 amazon-linux-extras 명령어를 치게 된다면 어떠한 리스트들이 나오게 됩니다.

- 아마존에서 지원하는 라이브러리에서 쉽게 소프트웨어를 설치할 수 있도록 해준 리스트입니다.

postgresql14도 이미 라이브러리에 있습니다!

반응형

이제 제 인스턴스에도 해당 postgresql 14 버전을 설치 해보겠습니다!

sudo amazon-linux-extras install postgresql14

2. 설치 확인

설치가 끝나게 된다면 list가 바로 보이며 상태값이 enabled로 변경이 됩니다.

홈페이지에서 본 버전과 조금 다르긴 하지만 우선 넘어가도록 하겠습니다.

- 해당 버전은 아마존에서 extras에서 업데이트를 진행해줘야 합니다. 그게 아예 싫으시다면 yum으로 설치를 하시면 됩니다.

 

3. Postgresql에 접속하기

psql -U postgresql

이렇게 에러가 뜨는 경우가 발생할텐데 아래의 방법으로 해결하고 진행하시면 됩니다.

 

3-1. 에러 해결

sudo yum install postgresql-server postgresql-devel

sudo /usr/bin/postgresql-setup --initdb
sudo systemctl stop postgresql # 포스트그레스 중지
sudo systemctl start postgresql # 포스트그레스 시작
sudo su - postgres # postgres로 유저 변경

-bash-4.2$

 

4. Postgresql 접속

sudo su - postgres

-bash-4.2$ psql

5. Postgresql 사용법

\du # 유저 목록 확인

5-1. Postgresql 유저 생성 및 테이블 생성

CREATE USER jeeu PASSWORD 'jeeu123' SUPERUSER; # 유저 생성
CREATE DATABASE jeeu OWNER jeeu; # 테이블 생성

\du # 유저 목록 조회
\list # 데이터베이스 조회

5-2. Postgresql 외부 접속 및 유저 변경

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

sudo systemctl restart postgresql

postgresql.conf
pg_hba.conf

 

아마존 클라우드 인바우드 보안 변경

1.1. 해당 클라우드 선택 하단에 보안 탭에 보안그룹에 있는 빨간색 박스 링크 클릭

1.2. 빨간색 박스 인바운드 규칙 편집 클릭

1.3. 유형 -> PostgreSQL 선택

1.4. 우선 전체로 열어두겠습니다.

0.0.0.0/0 선택

보안에 취약하다고 느끼신다면 다른 아이피를 직접 입력해주시기 바랍니다.

 

1.5. 설정한 값이 맞는지 확인하고 규칙 저장 선택

1.6. 인바운드 규칙에 정상적으로 떴다면 외부접속 가능

1.7. 외부접속 DB툴을 이용하여 접속 시도

- 아이피와 데이터베이스, 유저 이름, 패스워드 입력 후 테스트 및 완료

테이블, 데이터 생성 및 조회는 DB 툴에서 진행하겠습니다.

 

5-3. Postgresql 데이터 생성 및 테이블 조회

CREATE TABLE jeeu( id VARCHAR(50) NOT NULL, pw int NOT NULL );

INSERT INTO jeeu VALUES ('jeeu', 1234)

SELECT * FROM jeeu;

테이블 추가
테이블 속성
데이터 추가 및 조회

이렇게 아마존(aws) 클라우드를 이용한 Postgresql DB 서버 구축에 대해 알아보았습니다.

 

감사합니다.

반응형

댓글