자체 관리형 Oracle 데이터베이스 참조 아키텍처

이 참조 아키텍처는 Google Distributed Cloud (GDC) 에어 갭에서 자체 관리형 Oracle 데이터베이스를 배포하고 운영하기 위한 개념적 프레임워크를 제공합니다. 이 솔루션을 사용하면 표준 클러스터 에서 Kubernetes 용 공식 Oracle 데이터베이스 연산자를 사용하여 중요한 데이터베이스 워크로드를 유지할 수 있습니다.

이 아키텍처는 Bring-Your-Own-License (BYOL) 모델을 지원하는 데 중점을 두어 격리된 환경 내에서 표준화되고 안전하며 고가용성 데이터베이스를 배포할 수 있도록 합니다. 프로비저닝 및 네트워킹에서 고가용성, 백업, 복원, 모니터링 가능성과 같은 프로덕션급 운영에 이르기까지 전체 수명 주기를 다룹니다.

특징 및 기능

이 솔루션은 데이터베이스 관리를 위한 여러 핵심 기능 구성요소를 제공합니다.

  • 자동화된 수명 주기 관리: Oracle 데이터베이스 연산자를 사용하여 단일 인스턴스 데이터베이스 (SIDB)의 프로비저닝, 클로닝, 패치, 구성을 자동화합니다.
  • 고가용성: 동기 또는 비동기 복제 및 자동 장애 조치 기능을 제공하는 Oracle Data Guard에 대한 통합 지원입니다. 고가용성은 단일 영역 내에서 지원됩니다.
  • 영구 스토리지 통합: 데이터베이스 파일에 GDC 기존 표준-rwo 스토리지 클래스를 원활하게 활용하여 데이터 내구성을 보장합니다.
  • 보안 이미지 관리: 통합 취약점 스캔을 포함하여 Oracle Container Registry에서 로컬 Harbor 레지스트리로 Oracle 컨테이너 이미지를 미러링하는 것을 지원합니다.
  • 통합 모니터링 가능성: 데이터베이스 측정항목을 Prometheus 로 내보내고 사이드카 패턴을 사용하여 알림 로그를 전달하는 기본 제공 메커니즘입니다.
  • 유연한 네트워킹: 내부 및 외부 L4 부하 분산기를 지원하여 데이터베이스 엔드포인트를 안전하게 노출합니다.

아키텍처 원칙

  • 자체 관리형 접근 방식: Oracle 워크로드를 배포하고 관리하기 위한 아키텍처 프레임워크를 제공합니다.
  • 클라우드 네이티브 운영: 연산자 패턴을 사용하여 상태 저장 워크로드를 관리하고 여러 환경에서 일관성을 보장합니다.
  • 데이터베이스 인식 복원력: 논리적 일관성 과 빠른 복구를 보장하기 위해 인프라 수준 복제보다 데이터베이스 수준 복제 (Data Guard)를 우선시합니다.
  • 보안 중심 설계: 모든 데이터베이스 트래픽에 로컬 레지스트리, 필수 이미지 스캔, 명시적 네트워크 정책을 사용하여 에어 갭 요구사항을 준수합니다.

아키텍처

이 아키텍처는 GDC 표준 클러스터, Oracle 데이터베이스 연산자, SIDB 리소스, Harbor와 같은 지원 인프라 간의 관계를 보여줍니다.

자체 관리형 Oracle 데이터베이스 아키텍처 다이어그램

개념 및 기술

이 섹션에서는 기능 구성요소, 책임, 시스템 내에서 통신하는 방법을 자세히 설명합니다.

인프라 및 플랫폼

  • GDC 표준 클러스터: Oracle 연산자 및 데이터베이스 포드가 상주하는 기본 컴퓨팅 환경입니다.
  • Harbor 레지스트리: 모든 컨테이너 이미지의 안전한 로컬 정보 출처입니다. 자동화된 스캔을 제공하여 이미지에 알려진 취약점이 없는지 확인합니다.
  • 영구 스토리지: GDC 표준-rwo 스토리지 클래스는 PersistentVolumeClaim을 사용하여 Oracle 데이터 파일, 재실행 로그, 제어 파일에 필요한 기본 블록 스토리지를 제공합니다.

서비스 및 로직

  • Oracle 데이터베이스 연산자: SingleInstanceDatabaseDataguardBroker와 같은 커스텀 리소스를 감시하는 컨트롤러입니다. 데이터베이스 포드의 StatefulSet 및 네트워킹 서비스와 같은 표준 Kubernetes 객체로 조정합니다.
  • 단일 인스턴스 데이터베이스 (SIDB): Oracle 멀티 테넌트 아키텍처 (CDB/PDB)를 사용하는 컨테이너화된 배포입니다. 여러 고유한 SIDB 인스턴스를 배포하거나 단일 SIDB 내에서 여러 플러그인 가능한 데이터베이스 (PDB)를 만들어 워크로드를 통합할 수 있습니다.
  • Data Guard Broker: 기본 인스턴스와 대기 인스턴스 간의 역할 전환을 오케스트레이션합니다. 장애 조치 후 트래픽을 올바르게 라우팅하기 위해 Kubernetes 서비스에서 사용하는 데이터베이스 역할 라벨(예: database.oracle.com/role: primary)을 관리합니다.
  • L4 부하 분산기: 데이터베이스 연결을 위한 안정적인 IP 주소를 제공합니다.

데이터 흐름 및 인터페이스

  • SQL*Net (포트 1521): 애플리케이션 연결을 위한 기본 프로토콜입니다.
  • 모니터링 가능성 내보내기: Prometheus의 /metrics 엔드포인트를 노출합니다.
  • 알림 로그: 표준 데이터베이스 알림 로그는 GDC 로깅 에이전트에서 수집할 수 있도록 stdout으로 전송됩니다.
  • RMAN 채널: CronJob 리소스에서 S3 호환 객체 스토리지로 백업을 스트리밍하는 데 사용됩니다.

고려사항

  • 확장성 및 성능:
    • 작업자 노드는 프로덕션 워크로드에 대해 최소 8개의 vCPU와 32GiB RAM으로 크기를 조정해야 합니다.
    • nodeSelector 또는 테인트 및 허용 오차를 사용하는 것이 데이터베이스 워크로드에 특정 노드를 할당하는 권장사항입니다.
    • 성능은 기본 스토리지에 크게 좌우됩니다. IOPS가 높은 standard-rwo를 사용하는 것이 좋습니다.
  • 리소스 관리 및 라이선스:
    • 이 솔루션은 Bring-Your-Own-License (BYOL) 모델을 따릅니다.
    • 투명 데이터 암호화 (TDE), 고급 압축, 활성 Data Guard (읽기 전용 대기)와 같은 고급 기능에는 특정 Enterprise Edition 라이선스가 필요합니다.
    • Oracle Database Free Edition은 개발 및 테스트에 사용할 수 있습니다.
  • 가용성 및 안정성:
    • 고가용성은 기본 인스턴스와 대기 인스턴스가 동일한 네임스페이스에 상주하는 단일 영역 Data Guard 구성을 통해 달성됩니다.
    • primary 역할 라벨의 선택기가 있는 서비스를 사용하면 클라이언트 측 변경 없이 장애 조치 중에 클라이언트 리디렉션을 원활하게 할 수 있습니다.
    • 데이터 보호를 위해 이 솔루션은 RMAN을 사용하여 S3 호환 버킷에 백업합니다.
  • 운영 관리:
    • 연산자가 배포를 간소화하지만 조정 및 복잡한 복원과 같은 일상적인 작업에는 데이터베이스 관리 전문 지식이 여전히 필요합니다.
    • stdout으로 전송되지 않는 세부 추적 및 감사 로그를 전달하려면 사이드카 컨테이너를 사용하는 것이 좋습니다.

설계 결정

이 솔루션의 기본 아키텍처 선택은 자동화와 에어 갭 환경의 제약조건 간의 균형을 맞추는 데 중점을 둡니다.

Data Guard와 스토리지 수준 복제 비교

Data Guard는 데이터베이스를 인식하므로 고가용성 메커니즘입니다. 이 접근 방식은 대기 상태로 작성되기 전에 블록을 검증하여 논리적 손상으로부터 보호하고 최대 가용성 모드에서 데이터 손실을 방지합니다. Enterprise Edition에 추가 라이선스가 필요하고 볼륨 스냅샷보다 설정 오버헤드가 더 크지만 세분화 워크로드에 필요한 일관성을 제공합니다.

부하 분산기의 서비스 관리

기본적으로 SingleInstanceDatabase 사양에서 loadBalancer: true 매개변수를 설정하면 외부 부하 분산기 서비스가 자동으로 생성됩니다. 내부 부하 분산기의 경우 필요한 networking.gke.io/load-balancer-type: "Internal" 주석을 포함하도록 별도의 서비스 리소스 를 수동으로 만들어야 합니다. 이 수동 접근 방식은 기본 연산자 관리 서비스에서 노출하지 않을 수 있는 주석 및 라벨에 대한 선언적 제어를 제공합니다.

로그용 사이드카의 모니터링 가능성 전략

이 솔루션에서는 로그 전달에 사이드카 컨테이너를 사용하는 것이 좋습니다. 이렇게 하면 로그 수집이 기본 데이터베이스 프로세스와 분리되어 로깅 볼륨이 많더라도 데이터베이스 성능에 영향을 미치지 않습니다. 이렇게 하면 데이터베이스 포드당 리소스 사용 공간이 늘어나지만 데이터베이스 안정성에 영향을 미치지 않고 안정적인 원격 분석 수집을 보장합니다.

가정 및 제한사항

가정

  • 환경에는 이미지 호스팅을 위해 사전 구성되고 액세스 가능한 Harbor 인스턴스가 있습니다.
  • Cert-manager는 연산자의 웹훅 인증서를 처리하기 위해 표준 클러스터에 사전 설치되어 있습니다.
  • RMAN 백업 대상에 S3 호환 객체 스토어를 사용할 수 있습니다.

제한사항

  • 단일 영역 HA: 고가용성 구성은 단일 영역 내에서 지원됩니다.
  • Oracle RAC 없음: Real Application Clusters (RAC) 지원은 포함되지 않습니다. 이 솔루션은 단일 인스턴스 및 Data Guard에 중점을 둡니다.
  • 표준 클러스터만 해당: 이 솔루션은 GDC 표준 클러스터에 대해 검증되었으며 공유 사용자 클러스터에서는 지원되지 않습니다.

다음 단계