지원 클라우드 환경
Ncloud Cloud DB for PostgreSQL이 지원하는 클라우드 환경은 다음과 같습니다.
- 리전(존): 한국, 싱가포르
- VPC만 지원
- 언어: 한국어, 영어, 일본어, 중국어(간체)
- DB 엔진 버전: PostgreSQL 13.3
서버 사양과 요금
(2022-03-30 기준)
타입 | 제공사양 | 이용 요금 | ||
---|---|---|---|---|
vCPU | 메모리 | 디스크 | 시간당/대 | |
High CPU | 2개 | 4GB | 50GB | 158원 |
4개 | 8GB | 323원 | ||
8개 | 16GB | 653원 | ||
16개 | 32GB | 1,313원 | ||
32개 | 64GB | 2,633원 | ||
Standard | 2개 | 8GB | 50GB | 250원 |
4개 | 16GB | 506원 | ||
8개 | 32GB | 1,019원 | ||
16개 | 64GB | 2,045원 | ||
32개 | 128GB | 4,099원 | ||
High Memory | 2개 | 16GB | 50GB | 302원 |
4개 | 32GB | 611원 | ||
8개 | 64GB | 1,227원 | ||
16개 | 128GB | 2,462원 | ||
32개 | 256GB | 4,927원 |
서버 사양 변경 시 제약 사항
Cloud DB for PostgreSQL 서버는 타입은 변경할 수 없지만 메모리 크기는 콘솔 PostgreSQL Server 메뉴에서 스펙 변경 기능을 사용하여 언제든지 변경
할 수 있습니다. 그 외 제약 사항은 아래와 같습니다.
- 같은 타입 내에서만 변경 가능
- 2대 이상의 서버로 구성된 경우(고가용성 사용 및 Read Replica 사용) 모두 동일한 사양으로 변경
- 변경 완료 후 서버가 다시 시작되며 이에 따라 서비스 영향 발생 가능성 존재
상세 특징
- DB 엔진 버전: PostgreSQL 13.3
- 스토리지: 기본 10GB 데이터 스토리지를 제공하며, 10GB 단위로 6000GB까지 자동으로 용량이 증가
- Multi Zone 구성 제공
- 자동 Fail-over 기본 지원
- 최대 5대까지 Read Replica 확장
- 최대 30일까지 자동 백업 및 보관
서버 접근 방법
Cloud DB for PostgreSQL은 현재 다음의 3가지 방법으로 접근 가능한데 여기서는 별도의 Linux 서버를 생성해서 PostgreSQL과 Private 통신을 하는 방법으로 진행하겠습니다.
⁃ PostgreSQL DB와 Private 통신을 위한 별도의 서버를 생성해서 접근
⁃ SSL VPN을 이용해서 접근
DB 생성
[Cloud DB for PostgreSQL] - [DB Server]에서 [DB Server 생성] 버튼을 클릭해 DB를 생성을 시작합니다.
서버 설정
- DB 엔진: 현재 지원되는
DB 엔진 버전은 PostgreSQL 13.3
입니다. - 고가용성 지원은 기본 선택 사항인데, 필요하지 않을 경우 체크를 해제하면 됩니다.
- VPC와 Subnet을 선택하고, 미리 생성된 VPC와 Subnet가 없으면 생성 버튼을 클릭합니다.
- DB Server 타입은 위쪽에서 확인했던 서버 사양 중에서 원하는 vCPU와 메모리를 선택하면 됩니다.
- 데이터 스토리지 타입과 암호화 적용 여부를 선택합니다.
- 데이터 스토리지는 기본 10GB로 설정되며 최대 6000GB까지 자동으로 증가합니다.
- DB Server 이름과 DB Service 이름을 입력합니다. DB Service 이름은 DB Server를 역할별로 구분한 그룹의 명칭입니다.
DB 설정
- USER ID와 암호를 입력합니다. (ID와 암호는 잊어버리지 않도록 잘 보관해야 합니다.)
- 접근제어는 접근을 허용할 IP 대역을 입력합니다.
- DB 접속포트는 기본 포트가 5432 입니다.
- 기본 DB명을 입력하고, Backup 설정을 선택합니다.
최종 확인
지금까지 입력한 값이 이상이 없는지 최종 확인하고, 수정할 부분이 없으면 [생성] 버튼을 클릭합니다.
DB 상세 정보
DB 생성이 완료되면 아래와 같이 DB의 상세 정보를 확인할 수 있습니다.
이 중에서 Private 도메인과 ACG는 이후 설정에서 사용할 중요한 항목입니다.
Client Server 생성 | Ubuntu
처음에 설명했 듯이 Cloud DB for PostgreSQL DB Server는 Private 환경에서만 접속 가능
하므로 PostgreSQL Client를 설치할 Linux Server를 생성해야 하는데,
여기서는 Ubuntu 18.04을 설치했습니다.
VPC 환경에서 Linux Server를 생성하는 방법은 다음 문서를 참고하시기 바랍니다.
마찬가지로 공인 IP는 로컬 PC에서 PostgreSQL Client에 접속할 때 필요하니 기억해 둡니다.
ACG 설정
[Server] - [ACG]에서 Cloud DB for PostgreSQL 생성 시에 자동으로 생성된 ACG [cloud-postgresql-ooooo]를 선택하고, [ACG 설정] 버튼을 클릭합니다.
ACG 규칙 설정
ACG 규칙 설정 창에서 [Inbound] 탭을 선택하고 [접근 소스]는 위에서 생성한 Client Server의 비공인 IP를 입력
하고 허용 포트는 5432를 입력하고 [추가] 버튼을 클릭합니다.
pgAdmin4 설치
Client용 Linux Server에 PostgreSQL DB의 Client 프로그램인 pgAdmin4를 설치합니다.
Repository 설정
pgAdmin4 설치하기 위해 Repository를 먼저 설정합니다.
~# curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
~# sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
오류 상황
간혹 위에서 진행한 Repository 설정에서 아래와 같은 오류가 발생하는 경우가 있습니다.
추가 기능 설치
위 오류 메시지에 보면 인증서 관련해서 오류가 발생하는 것으로 확인되었기에 인증서 관련 기능을 추가 설치합니다.
~# apt install ca-certificates
Repository 다시 설정
Repository 설정에서 오류가 발생했던 부분을 다시 설정합니다. 실행해보면 정상적으로 설정되었다는 메시지를 확인할 수 있습니다.
~# sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
pgAdmin4 설치
로컬 PC에서 pgAdmin4에 접속하기 위해 pgAdmin4-Web을 설치합니다.
~# apt install pgadmin4
⁃ apt install pgadmin4-desktop: desktop mode만 설치
⁃ apt install pgadmin4-web: web mode만 설치
pgAdmin4-Web 환경 설정
setup-web.sh 스크립트를 실행 후 pgAdmin4-Web 접속을 위한 이메일 계정과 패스워드를 입력합니다.
~# /usr/pgadmin4/bin/setup-web.sh
pgAdmin4 접속
pgAdmin4 접속 주소는 http://[Client Server 공인IP 주소]/pgadmin4/
입니다.
위 주소로 접속하면 아래와 같이 Email Address와 Password 입력 화면이 나오는데 pgAdmin4-Web 환경 설정에서 입력한 이메일과 패스워드를 입력하고 로그인 합니다.
서버 추가
pgAdmin에서 [Add New Server] 버튼을 클릭해서 위에서 생성했던 DB서버를 연결합니다.
Name 입력
등록할 DB의 이름을 편하게 입력합니다.
연결 정보 입력
- Host name/address: Cloud DB for PostgreSQL 생성 후에 확인한
Private 도메인 (pg-oooo-vpc-cdb-kr.ntruss.com)
을 입력합니다. - Username: Cloud DB for PostgreSQL 생성 시에 입력한 USER ID를 입력합니다.
- Password: Cloud DB for PostgreSQL 생성 시에 입력한 USER 암호를 입력합니다.
pgAdmin4 대시보드
연결 정보에 이상이 없고 정상적으로 접속이 되면 아래와 같이 대시보드 화면을 확인할 수 있습니다.
DB Service 상세 보기
DB Service 상세 보기에서는 Database 추가/삭제, Config 관리, User 추가/삭제, Backup 설정 등을 관리할 수 있습니다.
Cloud DB for PostgreSQL을 선택하고 [DB 관리] - [DB Service 상세보기] 메뉴를 클릭합니다.
Database 관리
PostgreSQL DB의 Database를 추가/삭제 할 수 있습니다.
DB User 관리
Cloud DB for PostgreSQL의 DB User를 추가/삭제 할 수 있습니다.
1개의 DB에 1개 계정만 owner
로 지정할 수 있습니다.⁃ 1개의 DB를 여러 계정으로 관리해야 하는 경우는 서브 계정을 만들고
owner 계정으로 서브 계정에 별도의 권한을 설정해야 합니다.
⁃ 이때
계정 생성은 Ncloud 콘솔에서만 가능
합니다. (아래 화면의 DB User 관리 기능)⁃ 그 외의
권한 설정은 pgAdmin4 웹페이지에서
설정해야 합니다.
서브 계정
subid라는 서브 계정을 만들었다고 가정했을 때 아래 화면처럼 Superuser 등의 권한 설정을 할 수 있습니다.
DB 접근 권한 설정
서브 계정의 특정 DB에 대한 접근 권한을 설정하고자 할 경우는 아래와 같이 DB를 선택하고, 마우스 오른쪽 클릭을 한 후 [Properties] 메뉴를 선택합니다.
[Properties] 설정 화면에서 [Security] 메뉴를 선택하면 계정별로 권한을 설정할 수 있습니다.
참고 URL
- Ncloud Cloud DB for PostgreSQL 기본 가이드
- pgAdmin 홈페이지
- Cloud DB for PostgreSQL Private 도메인 접속 - CentOS
- Cloud DB for PostgreSQL Public 도메인 접속