클라우드타입에서 PostgreSQL을 배포하고, 관리 툴을 사용하여 TCP 방식으로 접속하는 가이드입니다. 본 문서에서는 DB 툴로 pgAdmin를 사용했으며, 여기에서 다운로드 받을 수 있습니다.
PostgreSQL
PostgreSQL 배포하기
시작하기 페이지의 데이터베이스 카테고리 또는 ⌘ + K 를 사용하여 postgres를 검색하고 PostgreSQL 템플릿을 클릭합니다.
설정변경 을 클릭하고 Root Password 설정 후 배포하기 를 클릭하여 배포를 진행합니다.
Root Password 를 별도로 설정하지 않으면 프로젝트 내부에 랜덤값의 암호가 [서비스명]-root-password
시크릿으로 설정됩니다.
생성된 시크릿을 활용하는 방법은 환경변수 설정 가이드를 참고해주세요.
프로젝트 내부에서 서비스 간 통신하기
프로젝트 내부의 동일 배포환경에 데이터베이스 및 기타 서비스가 배포 되어있는 경우 보안 및 성능 측면에서 서비스명을 호스트명으로 하여 접속하는 방법을 권장합니다.
프로젝트 내부에서 호스트명으로 활용하고자 하는 값을 서비스 이름으로 입력하여 PostgreSQL를 배포합니다.
배포 후 상세페이지에 진입하여 도메인 탭을 클릭합니다. 도메인 항목에서 두 개의 호스트:포트 조합을 확인할 수 있으며, 각 역할은 다음과 같습니다.
svc.xxx.cloudtype.app:[포트번호]
- 배포환경 외부 통신 전용이며, 별도의 TCP 접속 허용 설정 필요
- 포트는 데이터베이스 신규 배포 시마다 변경되며 고정 불가
[서비스명]:[포트번호]
- 배포환경 내부에서 서비스 간 통신을 하는 데에 활용되며, 상기 이미지의
postgresql-prod
에 해당함 - 포트는
5432
으로 고정됨
- 배포환경 내부에서 서비스 간 통신을 하는 데에 활용되며, 상기 이미지의
TCP 외부 접속 허용하기
프로젝트 패널 우측 상단부의 ⚙️ 아이콘을 클릭하고, 설정 하단의 방화벽 항목에서 TCP 외부 접속 허용하기을 활성화 한 후 적용하기 버튼을 클릭합니다.
설정이 정상적으로 적용되면 svc.xxx.cloudtype.app:[포트번호]
형식의 주소로 외부에서 접근이 가능해집니다.
TCP 외부 접속을 허용해야 하는 경우는 다음과 같습니다.
- 클라우드타입의 다른 프로젝트에서 배포했거나 동일 프로젝트의 다른 배포환경에서 배포한 서비스에서 접근하는 경우
- 로컬 환경에서 개발 중인 서비스를 테스트 하기 위해 접근이 필요한 경우
- 로컬 환경의 DB 툴을 활용해 접근하는 경우
pgAdmin과 연결하기
pgAdmin을 실행한 후 도메인 탭에서 확인한 호스트명, 포트 번호 및 계정 정보를 아래와 같이 입력하면 클라우드타입에서 배포한 PostgreSQL과 연결이 완료됩니다.
가이드 영상
TCP 접속 허용하기
동일 배포환경에서 데이터베이스 접근하기