주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
DBeaver을 사용하여 PostgreSQL를 통해 Oracle Cloud Infrastructure Database에 연결
소개
이 사용지침서에서는 DBeaver와 같은 데이터베이스 관리 툴을 사용하여 PostgreSQL를 통해 Oracle Cloud Infrastructure Database에 연결하는 방법에 대해 알아봅니다.
DBeaver는 데이터베이스 관리, 개발 및 데이터 분석을 위한 사용자에게 친숙한 인터페이스를 제공하여 PostgreSQL 데이터베이스 관리자(DBA)의 효율성을 크게 향상시키는 무료 오픈 소스 데이터베이스 관리 툴입니다. 다른 도구도 고려할 수 있습니다.
이 사용지침서에서는 프라이빗 서브넷 내에서 PostgreSQL를 사용하여 OCI 데이터베이스를 프로비전하는 방법을 보여줍니다. 또한 두 번째 및 세 번째 작업에서는 동일한 VCN(가상 클라우드 네트워크)에서 배스천 호스트로 사용할 컴퓨트 인스턴스를 프로비저닝하여 DBeaver과 같은 데이터베이스 관리 툴을 통해 PostgreSQL 데이터베이스에 액세스할 수 있도록 합니다.
다음 스키마는 접근 방식을 보여줍니다.
목표
-
프라이빗 서브넷에 PostgreSQL 데이터베이스 인스턴스를 생성합니다.
-
동일한 VCN을 사용하여 퍼블릭 서브넷의 PostgreSQL에 접속할 OCI(Oracle Cloud Infrastructure) 컴퓨트 인스턴스를 생성합니다. 전용 서브넷 보안 목록에
5432
포트를 추가합니다. -
DBeaver를 사용하여 연결합니다.
필요 조건
- 데이터베이스 및 컴퓨트 인스턴스 생성 권한이 있는 OCI 테넌시에 액세스합니다.
작업 1: 전용 서브넷에 PostgreSQL 데이터베이스 인스턴스 생성
여러 가지 방법을 사용하여 OCI 콘솔, CLI 및 API와 같은 PostgreSQL 데이터베이스 인스턴스를 생성할 수 있습니다. 자세한 내용은 데이터베이스 시스템 생성을 참조하십시오.
이 작업에서는 OCI 콘솔을 사용하여 관리되는 PostgreSQL 데이터베이스 시스템을 생성합니다.
-
OCI 콘솔에 로그인하여 데이터베이스(PostgreSQL)로 이동하고 DB 시스템을 누릅니다.
-
PostgreSQL 데이터베이스 시스템 생성을 누릅니다.
-
PostgreSQL 데이터베이스 시스템 생성 페이지에서 새 데이터베이스 시스템 생성을 선택하고 다음을 누릅니다.
-
데이터베이스 시스템 구성 섹션에 다음 정보를 입력합니다.
-
데이터베이스 시스템 이름: 데이터베이스 시스템의 이름을 입력합니다.
-
설명(선택 사항): 데이터베이스 시스템에 대한 설명을 입력합니다.
-
PostgreSQL 주 버전: PostgreSQL 데이터베이스의 주 버전을 선택합니다. 허용되는 유일한 값은 14입니다.
-
-
데이터베이스 시스템 섹션에서 노드 수에 대한 값을 입력합니다. 하나의 기본 노드가 필요합니다. 추가 노드는 읽기 복제본 노드로 예약되어 있습니다.
-
데이터베이스에 대해 성능 계층을 선택합니다. 자세한 내용은 성과 계층을 참조하십시오.
-
데이터 배치를 선택합니다.
- 지역별: 데이터는 해당 지역의 여러 가용성 도메인에 지속적으로 저장됩니다.
- 가용성 도메인별: 데이터는 선택한 가용성 도메인에 지속적으로 저장됩니다.
-
하드웨어 구성 섹션에 다음 정보를 입력합니다.
-
OCPU 개수: 노드당 OCPU 개수를 선택합니다.
-
사용 가능한 구성: 데이터베이스 노드의 구성을 선택합니다.
-
-
네트워크 구성 섹션에 다음 정보를 입력합니다.
-
가상 클라우드 네트워크: 데이터베이스를 생성할 VCN을 선택합니다. VCN을 생성해야 하는 경우 VCN 생성을 누릅니다. 자세한 내용은 VCN 및 서브넷 관리를 참조하십시오.
-
서브넷: 선택한 VCN의 프라이빗 서브넷을 선택합니다.
-
전용 IP 주소: 데이터베이스 인스턴스에 대한 서브넷의 전용 IP 주소입니다. 값은 선택 사항입니다. IP 주소가 제공되지 않은 경우 지정된 서브넷의 사용 가능한 IP 주소 중에서 IP 주소가 선택됩니다.
-
-
데이터베이스 시스템 관리자 인증서 섹션에서 데이터베이스에 대한 인증서를 입력합니다. 관리자는 수퍼 유저 액세스 권한을 얻지 못합니다. PostgreSQL 관리자 사용자가 있는 OCI 데이터베이스는 사용자와 롤을 생성할 수 있습니다.
-
사용자 이름: 관리자의 사용자 이름을 지정합니다. 데이터베이스 시스템이 생성된 후에는 이 값을 변경할 수 없습니다.
-
비밀번호 옵션: 다음 옵션 중 하나를 선택합니다.
-
비밀번호 입력:
-
암호: 관리자 암호를 입력합니다.
-
암호 확인: 관리자 암호를 확인합니다.
-
-
OCI 저장소 사용:
-
저장소: 관리자 비밀번호가 포함된 저장소를 선택합니다.
-
비밀: 관리자 비밀번호를 포함하는 암호를 선택합니다.
-
비밀 버전: 암호 버전을 선택합니다.
-
-
-
-
데이터베이스 시스템을 구성한 후 다음을 누릅니다.
-
데이터베이스 시스템 구성을 검토하고 제출을 누릅니다.
-
생성이 성공하면 데이터베이스 시스템의 일반 정보 페이지에 액세스합니다.
작업 2: PostgreSQL에 접속할 OCI 컴퓨트 인스턴스 생성
PostgreSQL 데이터베이스가 프라이빗 네트워크 내에 배치되고 있습니다. 퍼블릭 IP 주소로 인스턴스를 생성하고 PostgreSQL에 대한 액세스 권한을 부여합니다. 새로 생성된 이 인스턴스는 PostgreSQL 데이터베이스의 시작점 역할을 합니다.
-
OCI 콘솔로 이동하여 컴퓨트 및 인스턴스로 이동합니다.
-
OCI PostgreSQL 데이터베이스 인스턴스를 프로비전한 것과 동일한 VCN의 퍼블릭 서브넷을 선택합니다.
-
SSH를 사용하여 instance에 연결하고 다음 명령을 실행합니다. 그러면 PostgreSQL 버전 14용 클라이언트가 설치됩니다.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf install -y postgresql14-server sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
rm -rf ~/.pgpass
-
OCI PostgreSQL 개요 페이지로 이동하여 CA 인증서에서 복사를 누르거나 인증서를 다운로드하고 터미널에서 다음 명령을 실행합니다.
sudo nano ./dbsystem.pub
전체 인증서를 복사하여
dbsystem.pub
파일에 붙여 넣습니다. 파일을 저장하고 닫습니다. -
다음 명령을 사용하여 연결을 테스트합니다.
psql -h [DB Private IP] -U [user name] -d postgres
예:
psql -h 10.0.1.165 -U admin -d postgres
-
명령문을 테스트로 실행하여 연결을 검토합니다.
SELECT VERSION();
-
다음 명령문을 실행하여 유저로 연결합니다.
psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
예:
psql "sslmode=verify-full sslrootcert=dbsystem.pub host= yfya3utrulnsbuzniy7545tsnwvuzq-primary.postgresql.eu-madrid-1.oc1.oraclecloud.com hostaddr=10.0.1.165 dbname=postgres user=admin"
-
다음 명령문을 실행하여 연결이 작동 중인지 테스트합니다.
SELECT VERSION();
작업 3: DBeaver를 사용하여 연결
이 작업에서는 DBeaver를 설치하고 PostgreSQL에 접속합니다.
-
DBeaver 커뮤니티에서 DBeaver를 다운로드하여 설치합니다.
-
PostgreSQL를 사용하여 OCI 데이터베이스에 접속할 인증서를 추가합니다.
-
VM(가상 머신) IP 주소 및 Port 22를 입력합니다. DBeaver는 SSH를 사용하여 퍼블릭 서브넷의 동일한 VM 인스턴스를 사용하여 PostgreSQL 데이터베이스를 통해 OCI 데이터베이스에 액세스합니다.
-
(선택 사항) 다음 명령문을 실행하여 테이블을 생성하고 DBeaver를 사용하여 데이터를 로드합니다.
DROP TABLE cars; CREATE TABLE cars ( brand VARCHAR(255), model VARCHAR(255), year INT ); INSERT INTO cars (brand, model, year) VALUES ('Toyota', 'Camry', 2023), ('Honda', 'Accord', 2022), ('Ford', 'Mustang', 2024), ('Chevrolet', 'Corvette', 2023), ('BMW', '3 Series', 2021), ('Mercedes-Benz', 'C-Class', 2022), ('Volkswagen', 'Golf', 2023), ('Audi', 'A4', 2024); COMMIT; SELECT * FROM cars;
생성된 테이블의 개요입니다.
관련 링크
확인
- Authors - Ismael Hassane(Senior Solution Architect, Data Platform), Jevon Rowan(Principal Cloud Solution Engineer, Open Source Data Services Specialist)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Connect to Oracle Cloud Infrastructure Database with PostgreSQL using DBeaver
G15177-01
September 2024