PostgreSQL 데이터베이스 배치

PostgreSQL는 오픈 소스 객체 관계형 데이터베이스 관리 시스템입니다. 확장성이 뛰어나고 확장성이 뛰어나며 다양한 기능을 제공합니다. PostgreSQL는 여러 데이터 센터 간의 데이터 복제를 지원합니다.

주:

Oracle Cloud Infrastructure(OCI)는 OCI에서 완전 관리형 PostgreSQL 서비스를 제공합니다. 자세한 내용은 PostgreSQL를 통해 OCI Database를 통해 PostgreSQL의 장점을 경험해 보세요.

구조

이 참조 아키텍처는 Oracle Cloud Infrastructure Compute 인스턴스에 PostgreSQL 클러스터의 일반적인 3노드 배포를 보여줍니다. 이 구조에서 서버는 마스터 및 대기 구성으로 구성되고 파일 기반 로그 전달을 통해 스트리밍 복제를 사용합니다.

다음 다이어그램은 이 참조 아키텍처를 보여 줍니다.

다음은 postgre-oci.png에 대한 설명입니다.
그림 postgre-oci.png에 대한 설명

postgre-oci-oracle.zip

아키텍처에는 다음과 같은 구성 요소가 있습니다:

  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지역입니다. 지역은 다른 지역과 독립적이며, 방대한 거리는 국가 또는 대륙에서 분리할 수 있습니다.

  • 가용성 도메인

    가용성 도메인은 영역 내의 독립적인 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용 한도를 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인의 실패는 해당 지역의 다른 가용성 도메인에 영향을 주지 않을 수 있습니다.

  • 결함 도메인

    결함 도메인은 가용성 도메인 내에서 하드웨어와 기반구조를 그룹화한 것입니다. 각 가용성 도메인에는 독립적인 전원 및 하드웨어가 있는 3개의 장애 도메인이 있습니다. 여러 결함 도메인에 리소스를 배포할 경우 응용 프로그램에서 결함 도메인 내의 물리적 서버 오류, 시스템 유지 관리 및 전원 오류를 허용할 수 있습니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN는 Oracle Cloud Infrastructure 지역에서 설정하는 사용자정의 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN을 사용하면 네트워크 환경을 완벽하게 제어할 수 있습니다. VCN 에는 VCN를 생성한 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. VCN를 서브넷으로 세그먼트화하여 영역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

    이 구조는 하나의 공용 서브넷을 사용하여 PostgreSQL를 실행하는 세 개의 컴퓨트 인스턴스를 호스트합니다. 아키텍처에 필요한 경우 전용 서브넷을 사용하도록 선택할 수 있습니다.

  • 사이트 간 VPN

    사이트 간 VPN은 온프레미스 네트워크와 Oracle Cloud Infrastructure의 VCN 간에 IPSec VPN 연결을 제공합니다. IPSec 프로토콜 제품군은 패킷이 소스에서 대상으로 전송되기 전에 IP 트래픽을 암호화하고 도착 시 트래픽을 해독합니다.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect를 사용하면 데이터 센터와 Oracle Cloud Infrastructure 간에 전용 개인 연결을 쉽게 생성할 수 있습니다. FastConnect는 인터넷 기반 연결과 비교하여 더 높은 대역폭 옵션과 더 신뢰할 수 있는 네트워킹 환경을 제공합니다.

  • DRG(Dynamic Routing Gateway)

    DRG는 동일한 지역의 VCN과 지역 외부의 네트워크(예: 다른 Oracle Cloud Infrastructure 지역의 VCN, 온프레미스 네트워크 또는 다른 클라우드 공급자의 네트워크) 간에 전용 네트워크 트래픽 경로를 제공하는 가상 라우터입니다.

    이 아키텍처는 전용 서브넷에 대한 선택적 DRG(동적 경로 지정 게이트웨이)를 보여줍니다.

  • 인터넷 게이트웨이

    인터넷 게이트웨이는 VCN의 공용 서브넷과 공용 인터넷 사이의 트래픽을 허용합니다.

  • NAT(네트워크 주소 변환) 게이트웨이

    NAT 게이트웨이를 사용하면 VCN의 전용 리소스가 수신 인터넷 연결에 리소스를 노출하지 않고도 인터넷의 호스트에 접근할 수 있습니다.

  • 배스천 서비스

    Oracle Cloud Infrastructure 배스천은 퍼블릭 엔드포인트가 없고 베어 메탈 및 가상 머신, Oracle MySQL Database Service, Autonomous Transaction Processing(ATP), Oracle Container Engine for Kubernetes(OKE) 및 SSH(Secure Shell Protocol) 액세스를 허용하는 기타 모든 리소스가 필요한 리소스에 대한 제한적이고 시간 제한적인 보안 액세스를 제공합니다. Oracle Cloud Infrastructure 배스천 서비스를 사용하면 점프 호스트를 배포하고 유지 관리하지 않고도 전용 호스트에 접근할 수 있습니다. 또한 ID 기반 권한과 중앙 집중식 감사(audit) 및 시간 기반 SSH 세션을 통해 보안 상태를 향상시킵니다. Oracle Cloud Infrastructure 배스천은 배스천 액세스용 공용 IP가 필요 없어 원격 액세스 제공 시 방대한 공격 표면을 없애줍니다.

  • 경로 테이블

    가상 라우트 테이블에는 일반적으로 게이트웨이를 통해 서브넷에서 VCN 외부의 대상으로 트래픽을 라우팅하는 규칙이 포함됩니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에서 허용되어야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

    이 구조는 TCP 포트 5432에 대한 수신 규칙을 추가합니다. PostgreSQL 서버는 TCP 포트 5432에서 수신합니다.

  • 블록 볼륨

    블록 스토리지 볼륨을 사용하면 스토리지 볼륨, 연결 및 이동을 수행하고 스토리지, 성능 및 애플리케이션 요구사항을 충족하기 위해 볼륨 성능을 변경할 수 있습니다. 볼륨을 인스턴스에 연결한 후 일반 하드 드라이브처럼 사용할 수 있습니다. 데이터 손실 없이 볼륨 연결을 해제하여 다른 인스턴스에 연결할 수도 있습니다.

  • PostgreSQL

    PostgreSQL는 확장성이 뛰어나고 확장성이 뛰어난 오픈 소스 RDBMS(관계형 데이터베이스 관리 시스템)입니다. SQL(관계형) 및 JSON(비관계형) 쿼리를 지원합니다.

권장 사항

요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다. 다음 권장 사항을 시작점으로 사용하십시오.

  • 컴퓨트 구성

    이 아키텍처는 VM.Standard.E4과 함께 Oracle Linux 9 OS 이미지를 사용합니다. 가변 구성입니다. 애플리케이션의 리소스 요구사항이 서로 다른 경우 다른 구성을 선택할 수 있습니다.

  • VCN

    VCN를 생성할 때 VCN의 서브넷에 연결할 리소스 수에 따라 필요한 CIDR 블록 수 및 각 블록 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

    필요한 경우 VCN와 온-프레미스 네트워크 간의 접속을 설정할 수 있도록 온-프레미스 네트워크와 겹치지 않는 주소 범위를 선택합니다.

    VCN를 생성한 후 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때 기능 및 보안 요구 사항을 고려하십시오. 동일한 계층 또는 역할 내의 모든 컴퓨트 인스턴스를 동일한 서브넷에 연결합니다.

    지역 서브넷을 사용합니다.

고려 사항

  • 확장성

    이 구조는 하나의 결함 도메인에 PostgreSQL 마스터 노드를 배치하고 다른 두 결함 도메인에 대기 노드를 배치합니다.

    각 컴퓨트 노드의 VM 구성을 변경하여 PostgreSQL 클러스터를 세로로 확장할 수 있습니다. 코어 수가 더 높은 구성을 사용하면 컴퓨트 인스턴스 및 네트워크 대역폭에 할당된 메모리도 증가합니다.

  • 애플리케이션 가용성

    결함 도메인은 단일 가용성 도메인 내에서 최상의 복원성을 제공합니다. 이 아키텍처는 고가용성을 위해 또 다른 접근 방식을 사용합니다. 즉, 여러 결함 도메인에서 동일한 작업을 수행하는 컴퓨트 인스턴스를 배치합니다. 이 설계는 중복성을 도입하여 단일 실패 지점을 제거합니다.

    구조가 배치된 후 PuTTY 또는 Git Bash와 같은 SSH 툴을 사용하여 PostgreSQL 노드의 공용 IP 주소에 접속할 수 있습니다. PostgreSQL 데이터베이스에서 DDL 및 DML 작업에 psql을 사용할 수 있습니다. pgAdmin 툴을 사용하여 관리 작업을 수행할 수 있습니다.

  • 비용

    데이터베이스에 필요한 코어, 메모리 및 네트워크 대역폭을 기반으로 VM(가상 머신) 구성을 선택합니다. 1코어 구성으로 시작할 수 있으며, 데이터베이스 노드에 대한 성능, 메모리 또는 네트워크 대역폭이 더 필요한 경우 나중에 VM 구성을 변경할 수 있습니다.

변경 로그

이 로그에는 중요한 변경사항이 나열됩니다:

수락

  • Author: Lukasz Feldman
  • Contributor: Wei Han