비즈니스 연속성을 보장하고 데이터 손실을 최소화하려면 고가용성(HA) 및 재해 복구(DR)가 AlloyDB Omni의 중요한 데이터 보호 전략입니다. HA는 데이터베이스 가용성을 유지하고 복구 시간 목표(RTO)를 최소화하는 데 중점을 두는 반면 DR은 재난 이벤트로부터의 복구와 목표 복구 시간(RPO) 최소화에 중점을 둡니다.
RTO 및 RPO는 비즈니스 요구사항에 부합하며 다음과 같이 정의됩니다.
- RTO는 데이터베이스가 다운되거나 사용할 수 없게 되어 비즈니스에 수익 또는 생산성 손실과 같은 허용할 수 없는 결과가 발생하기 전까지의 최대 시간입니다.
- RPO는 비즈니스 요구사항에 영향을 주기 전에 기업이 감내할 수 있는 최대 데이터 손실량을 의미합니다. 예를 들어 전체 감사 추적이 필요한 인벤토리 시스템은 데이터 손실이 전혀 없어야 한다는 요구사항을 가질 수 있습니다.
AlloyDB Omni는 점차 높은 수준의 가용성을 제공하는 다음과 같은 가용성 참조 아키텍처를 제공합니다.
- 표준 가용성: 백업을 통해 데이터를 보호합니다.
- 가용성 향상: 리전의 영역 복제를 사용하여 데이터를 보호합니다(HA).
- 프리미엄 가용성: 영역 및 리전 복제를 사용하여 데이터를 보호합니다(HA 및 DR).
가용성 메커니즘
다음은 가용성을 보장하는 주요 메커니즘입니다.
- 데이터베이스 백업
- 데이터베이스 복제
데이터베이스 백업
데이터 보호의 기본 요소인 데이터베이스 백업은 데이터베이스 데이터 파일의 물리적 복사본을 만드는 작업을 의미합니다. 전체, 증분, 차등 등 다양한 백업 유형은 목표 복구 시간(RPO), 백업 크기 및 기간, 복원 시간 간에 다양한 균형을 제공합니다.
효율적인 복구를 보장하고 시스템 장애 발생 시 데이터 손실을 최소화하려면 강력한 백업 전략에 데이터베이스와 미리 쓰기 로그(WAL) 파일 백업이 모두 포함되어야 합니다. 데이터 파일의 정기적인(일반적으로 매일) 백업은 매우 중요합니다. 또한 WAL 파일도 반드시 백업해야 합니다. WAL 파일은 데이터베이스 수정사항을 기록하며, PITR(point-in-time recovery)을 수행하고, 복원 과정에서 데이터 무결성을 유지하는 데 필수적입니다.
데이터베이스 복제
PostgreSQL은 안정성을 높이기 위해 복제본 서버를 제공합니다. 이러한 복제본은 애플리케이션 연결을 허용하지 않는 웜 대기 또는 읽기 전용 모드로 작동하는 상시 대기로 분류됩니다. 기본 데이터베이스의 변경사항은 복제본에 지속적으로 적용되어 복제본의 데이터가 항상 최신 상태로 유지됩니다. 기본 데이터베이스가 실패하면 복제본이 기본 상태로 승격되어 기본 데이터베이스의 책임을 맡게 듭니다.
데이터베이스 복제본은 기본 인스턴스와 동일한 영역 또는 데이터 센터, 다른 영역, 다른 리전 또는 이들의 조합된 위치에 배치할 수 있습니다. 복제본이 기본 데이터베이스에서 멀리 떨어져 있을수록 변경 사항을 전송하여 복제본을 최신 상태로 유지하는 데 지연이 더 커집니다. 리전 장애와 같은 대규모 장애를 완화하기 위해 멀리 떨어진 위치에 배포하는 경우 데이터 복제는 일반적으로 비동기식으로 실행됩니다. 이렇게 하면 이러한 설정에서 발생할 수 있는 성능 저하를 방지할 수 있습니다.
고가용성 배포에서 복제본은 일반적으로 기본 데이터베이스와 가까운 위치에 배치됩니다. 예를 들어 동일한 데이터 센터 내의 다른 영역에 배치된 복제본은 낮은 RTO와 거의 0에 가까운 RPO를 제공합니다. 반면, 재해 복구 구성에서는 복제본이 서비스 중단에 대해 필요한 보호 수준에 따라 별도의 데이터 센터나 리전에 배포됩니다. 이 방식은 일반적으로 비동기 복제를 사용하므로 RPO가 더 높아지고 RTO는 상황에 따라 달라집니다.
다음 표에서는 AlloyDB Omni 가용성 참조 아키텍처에 사용되는 메커니즘을 요약해서 보여줍니다.
기능 | Standard | 고급 | 프리미엄 |
---|---|---|---|
백업 | ✔ | ✔ | ✔ |
영역 복제본 | ❌ | ✔ | ✔ |
교차 영역 복제본 | ❌ | ✔ | ✔ |
리전 복제본 | ❌ | ❌ | ✔ |
표 1. 지원되는 AlloyDB Omni 가용성 메커니즘
데이터베이스 실패 및 복구 시나리오
데이터베이스 오류는 다음 수준에서 발생할 수 있습니다.
- 인스턴스(노드 또는 서버) 장애: 데이터베이스 자체에 장애가 발생합니다.
- 서버 장애: 데이터베이스를 호스팅하는 서버에 장애가 발생합니다.
- 영역 장애: 서버가 위치한 데이터 센터 전체에 장애가 발생합니다.
- 리전 장애: 홍수나 대규모 지진 등으로 여러 데이터 센터(가용성 영역)가 포함된 전체 리전을 사용할 수 없습니다.
재해 발생 가능성과 위험은 사고가 적을수록 줄어들지만, 이러한 사고를 예방하는 비용이 증가합니다. 기업은 자신들의 위험 허용 범위를 결정하고, 잠재적인 서비스 중단을 감수할지, 아니면 위험을 최소화하기 위해 복원력이 더 우수한 아키텍처에 투자할지를 선택해야 합니다.
다음 표에서는 AlloyDB Omni 참조 아키텍처에서 지원하는 복구 시나리오를 요약해서 보여줍니다.
재난 유형 | Standard | 고급 | 프리미엄 |
---|---|---|---|
VM/인스턴스 장애 | ✔ | ✔ | ✔ |
노드/서버 장애 | ✔ | ✔ | ✔ |
영역 장애 | ❌ | ✔ | ✔ |
리전 장애 | ❌ | ❌ | ✔ |
표 2. 지원되는 복구 시나리오
미션 크리티컬 애플리케이션에 99.99% 수준의 높은 가용성과 복구 시 데이터 손실 제로 등의 AlloyDB Omni 데이터베이스의 비즈니스 목표를 고려하세요. 가용성 참조 아키텍처의 목표는 RTO 및 RPO 요구사항을 충족하는 것입니다.
AlloyDB Omni는 계획된 장애와 예기치 못한 장애 모두로부터 데이터베이스를 보호하기 위해 표준, 향상, 프리미엄 가용성 아키텍처를 제공하며, 이는 서로 다른 비즈니스 요구사항에 맞게 설계되어 있습니다. 예를 들어 개발 환경은 백업을 통한 기본 보호를 사용할 수 있는 반면, 미션 크리티컬 애플리케이션은 고가용성 및 재해 복구 구성을 활용할 수 있습니다.
다음 단계
AlloyDB Omni 가용성 참조 아키텍처에 대해 자세히 알아보기