인스턴스 그룹 생성 및 관리
PostgreSQL 인스턴스 그룹 생성
PostgreSQL 인스턴스 그룹은 인스턴스와 백업 생명주기를 관리하는 객체입니다. 운영 상태와 종료 상태를 포함하는 다양한 상태값을 가지며, 사용자는 이를 확인하고 관리할 수 있습니다.
PostgreSQL 서비스에서 인스턴스 그룹을 만드는 방법은 다음과 같습니다.
- 네트워크 오류, 리소스 부족 등 예기치 못한 원인으로 인스턴스 그룹 생성에 실패했을 경우, Cloud Trail 서비스에서 내역을 확인 할 수 있습니다.
- 인스턴스 그룹 생성 후 볼륨을 확장하더라도 최대 IOPS는 최초 지정된 값으로 고정됩니다. 안정적인 성능을 위해 적절한 볼륨 크기를 설정해 주세요.
-
카카오클라우드 콘솔 > Data Store > PostgreSQL 메뉴로 이동합니다.
-
[인스턴스 그룹 생성] 버튼을 클릭합니다.
-
필요한 정보를 입력한 후, [생성] 버튼을 클릭합니다.
항목 구분 설명 기본 설정 인스턴스 그룹 이름 PostgreSQL 인스턴스 그룹의 이름
- 동일 프로젝트 내에서 중복된 PostgreSQL 인스턴스 그룹 이름은 사용할 수 없음
- 예시: PostgreSQL-instance-01설명(선택) 인스턴스 그룹에 대한 부가 설명을 100자까지 입력 가능 인스턴스 가용성 고가용성 (Primary, Standby 인스턴스) Primary 인스턴스와 다수의 Standby 인스턴스를 생성 가능
- Single AZ 또는 Multi-AZ단일 (Primary 인스턴스) 단일 Primary 인스턴스만 생성 가능
- Single AZ(가용 영역)만 이용 가능PostgreSQL 설정 엔진 버전 PostgreSQL 데이터베이스의 버전이 자동 선택됨
-14.14
버전 제공Primary 포트 PostgreSQL Primary 인스턴스와 통신할 포트, 1024 ~ 65535 내 지정 가능
- 기본값5432
Standby 포트 PostgreSQL Standby 인스턴스와 통신할 포트, 1024 ~ 65535 내 지정 가능, 고가용성을 선택한 경우 지정
- 기본값5433
ID PostgreSQL 데이터베이스 사용자 계정의 ID
- 예시: admin
* 예약된 계정 이름(root,postgres,rewind,replication, orafce_set_umask, plprofiler)은 입력 불가비밀번호 PostgreSQL 데이터베이스 사용자 계정의 초기 비밀번호
- 형식: 8~16자 이내
- 공백,/
,'
,"
,@
문자는 사용할 수 없음
⚠️ 관리자 계정 패스워드는 데이터베이스 구동 이후에 변경 가능
⚠️ 데이터베이스 구동 후 사용자가 변경한 관리자 계정 패스워드는 확인 불가인스턴스 유형 데이터베이스 컴퓨팅 자원 구성을 위한 인스턴스 유형 선택
- 자세한 설명은 인스턴스 유형 참고기본 스토리지 SSD 데이터베이스에서 사용할 볼륨의 유형과 크기 설정
- 볼륨 타입: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
- 볼륨 크기: 100 GB~16,384 GB 크기로 볼륨을 생성 가능
* 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.로그 스토리지 SSD 데이터베이스에서 로그 적재에 사용하는 스토리지로, 생성 후 유형은 변경할 수 없음
- 볼륨 타입: 현재는 SSD 유형만 지원하며, 향후 다양한 유형을 지원 예정
- 볼륨 크기: 100 GB~16,384 GB 크기로 볼륨을 생성할 수 있습니다.
* 선택한 인스턴스 유형에 따라 최소 용량 제한은 달라질 수 있습니다.네트워크 설정 다중 AZ 옵션 고가용성을 선택한 경우 설정할 수 있는 옵션, AZ별 서브넷과 생성할 인스턴스 개수를 지정 가능 VPC PostgreSQL 인스턴스의 데이터베이스가 구성될 네트워크를 선택 서브넷 및 인스턴스 개수 설정 Primary 인스턴스가 생성될 서브넷과 Standby가 생성될 서브넷을 선택하고 인스턴스 개수를 입력
- 인스턴스 그룹당 인스턴스 최대 6개까지 생성 가능
- Primary 인스턴스가 생성되는 서브넷에는 데이터 이중화를 위해 최소 2개의 인스턴스 생성을 권장보안 그룹 인스턴스 그룹에 적용할 신규 보안 그룹 생성 또는 미리 생성된 보안 그룹 선택
- 다중 선택 가능
인스턴스 그룹에 대한 자세한 설명은 자세한 설명은 인스턴스 그룹을 참고하시기를 바랍니다.
인스턴스 그룹 사용자 계정
PostgreSQL에서는 인스턴스 그룹 생성 시, 사용자가 설정한 ID, 비밀번호로 사용자 계정을 생성할 수 있습니다.
해당 계정은 Admin
의 역할을 가지며 인증 후 리소스에 접근할 수 있습니다. 사용자 계정의 역할과 권한은 다음과 같습니다.
- 관리용으로 예약된 계정 ID(
root
,postgres
,replication
,rewind
,orafce_set_umask
,plprofiler
)로는 사용자 계정을 생성할 수 없습니다. - Replication 계정 삭제 시 고가용성 모드가 정상적으로 동작하지 않을 수 있습니다.
구분 | 권한 |
---|---|
사용자 계정 | Create role, Create DB, Bypass RLS, Password valid until infinity |
PostgreSQL 인스턴스 그룹 연결
PostgreSQL 서비스에서 인스턴스를 인스턴스 그룹에 연결하는 방법은 다음과 같습니다.
PostgreSQL 인스턴스 그룹 생성과 인스턴스 설정을 완료한 후, PostgreSQL 인스턴스 그룹 생성 시 함께 생성된 인스턴스들을 PostgreSQL Client를 사용하여 PostgreSQL 인스턴스 그룹에 연결해야 합니다.
자동 또는 수동 Failover, 재시작에 의해 Primary 인스턴스가 변경되는 경우 내부 접속 정보가 변경되어 연결에 순단이 있을 수 있습니다.
사전 작업
인스턴스 그룹을 PostgreSQL 인스턴스 그룹에 연결하기 위해서는, 연결하려는 PostgreSQL 인스턴스 그룹과 동일한 네트워크를 사용하는 가상 머신(Virtual Machine) 인스턴스와 PostgreSQL 인스턴스 그룹의 엔드포인트가 접근할 수 있는 접속 환경을 준비해야 합니다.
이를 위해 연결된 보안 그룹에 사용자가 지정한 포트(1024 ~ 65535) 또는 Primary 인스턴스 TCP 5432, Standby 인스턴스 TCP 5433(PostgreSQL 인스턴스 기본 포트값) 포트를 허용합니다.
인스턴스 연결하기
인스턴스를 인스턴스 그룹에 연결할 수 있습니다.
-
Virtual Machine > 인스턴스 생성 및 연결을 참고하여 가상 머신 인스턴스에 접근해 PostgreSQL Client를 준비합니다. PostgreSQL 명령어를 인식하지 않을 때는 별도의 PostgreSQL Client를 설치해야 합니다.
-
카카오클라우드 콘솔에서 Data Store > PostgreSQL 메뉴로 이동합니다.
-
인스턴스 그룹 메뉴에서 PostgreSQL 인스턴스 그룹에 연결할 인스턴스 그룹을 선택합니다.
-
세부 정보 탭에서 엔드포인트와 사용자 계정의 ID를 확인합니다. 해당 정보는 PostgreSQL 명령어 실행 시 필요한 정보로, 클립보드 등에 복사하여 준비하시기 바랍니다.
-
PostgreSQL Client를 통해 인스턴스를 PostgreSQL 인스턴스 그룹에 연결하기 위해, 생성한 가상 머신 인스턴스에서 PostgreSQL 인스턴스 연결 명령을 실행합니다.
PostgreSQL 인스턴스 연결 방법 1$ PGPASSWORD={USER_PASSWORD} psql -h {ENDPOINT} -U {USER_ID} -d {DATABASE} -p {PORT}
PostgreSQL 인스턴스 연결 방법 2$ psql postgres://{USER_ID}:{USER_PASSWORD}@{ENDPOINT}:{PORT}/{DATABASE}
항목 설명 {USER_ID}
데이터베이스 사용자 ID
- PostgreSQL 인스턴스에 연결하는 DB 관리자 계정의 ID{USER_PASSWORD}
PostgreSQL 인스턴스 연결하는 관리자 계정의 패스워드
- PostgreSQL 생성 시 입력한 비밀번호{ENDPOINT}
세부 정보 탭에서 획득한 엔드포인트 정보
- PostgreSQL 인스턴스가 가지고 있는 엔드포인트{DATABASE}
접속을 원하는 데이터 베이스의 이름
- 카카오클라우드에서는 default로postgres
데이터 베이스 생성
- 사용자가 별도 데이터베이스를 생성한 경우, 해당 데이터베이스의 이름을 입력해 접속 가능{PORT}
사용자가 인스턴스 그룹을 만들때 설정한 포트번호
- 기본 포트값: Primary 5432, Standby 5433
인스턴스 그룹 관리
PostgreSQL 서비스에서 가동 중인 인스턴스와 인스턴스 그룹을 관리하는 방법은 다음과 같습니다.
PostgreSQL 인스턴스 그룹 목록 보기
현재 가동 중인 PostgreSQL 인스턴스 그룹 목록을 조회할 수 있습니다.
-
카카오클라우드 콘솔 > Data Store > PostgreSQL 메뉴로 이동합니다.
-
인스턴스 그룹 메뉴에서 인스턴스 그룹 목록을 확인합니다.
구분 설명 인스턴스 그룹 이름 생성 시 입력한 PostgreSQL 인스턴스 그룹 이름
- 인스턴스 그룹을 클릭하여 상세 정보 확인상태 PostgreSQL 인스턴스 그룹의 상태를 확인
- 자세한 설명은 인스턴스 그룹 참고엔진 버전 생성 시 선택한 PostgreSQL 데이터베이스의 버전 인스턴스 유형 생성 시 선택한 PostgreSQL 인스턴스 유형 가용성 생성 시 선택한 인스턴스의 가용성 Multi AZ Multi-AZ 사용 여부 생성일 PostgreSQL 인스턴스 그룹의 생성일시 생성자 PostgreSQL 인스턴스를 처음 생성한 사용자 [더 보기] 아이콘 볼륨 확장: PostgreSQL 인스턴스 그룹의 볼륨(기본, 로그 스토리지) 확장
삭제: PostgreSQL 인스턴스 그룹에 포함된 인스턴스 리소스를 반납하고, 백업을 삭제
수동 Failover: 해당 인스턴스 그룹의 Failover 진행(고가용성에서만 동작)
백업 만들기: 해당 인스턴스 그룹에 백업을 생성
PostgreSQL 인스턴스 그룹 상세 보기
PostgreSQL 인스턴스 그룹의 상세 정보를 확인할 수 있습니다.
- 카카오클라우드 콘솔에서 Data Store > PostgreSQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 상세 정보를 확인할 PostgreSQL 인스턴스 그룹을 선택합니다.
- 해당 PostgreSQL 인스턴스 그룹의 상세 정보를 확인합니다.
PostgreSQL 인스턴스 그룹 볼륨 확장
PostgreSQL 인스턴스 그룹의 볼륨을 확장합니다. 기본, 로그 스토리지 모두 최대 16TB(16,384 GB)까지 확장할 수 있습니다.
볼륨 확장은 디스크 용량 증가를 의미하며 최대 IOPS는 증가하지 않습니다. 확장한 볼륨 크기에 따라 최대 IOPS가 증가하는 기능은 추후 지원 예정입니다.
- 카카오클라우드 콘솔에서 Data Store > PostgreSQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 볼륨을 확장할 인스턴스 그룹의 [더 보기] 아이콘 > 볼륨 확장을 선택합니다.
- 기본, 로그 스토리지 중 확장할 스토리지 크기를 입력하고 [확인] 버튼을 클릭합니다.
PostgreSQL 인스턴스 그룹 삭제
더 이상 사용하지 않는 PostgreSQL 인스턴스 그룹을 삭제할 수 있습니다.
PostgreSQL 인스턴스 그룹을 삭제할 때 모든 인스턴스의 동작을 종료하고 사용자의 인스턴스를 완전히 반납합니다. 인스턴스 그룹이 삭제되면, 리소스 사용 요금은 청구되지 않습니다.
삭제한 PostgreSQL 인스턴스 그룹의 인스턴스 자원과 백업은 삭제 후 완전히 반납되며, 복구할 수 없습니다.
- 카카오클라우드 콘솔에서 Data Store > PostgreSQL 메뉴로 이동합니다.
- 인스턴스 그룹 메뉴에서 삭제할 PostgreSQL 인스턴스 그룹의 [더 보기] 아이콘 > 삭제를 선택합니다.
- 삭제 팝업창에서 정보를 입력하고, [삭제] 버튼을 클릭합니다.