Azure SQL Database의 비즈니스 연속성 개요

적용 대상:Azure SQL Database

이 문서에서는 Azure SQL Managed Instance의 비즈니스 연속성 및 재해 복구 기능에 대한 개요를 제공하며, 데이터가 손실되거나 인스턴스 및 애플리케이션을 사용할 수 없게 되는 중단 이벤트로부터 복구하기 위한 옵션 및 권장 사항을 설명합니다. 사용자 또는 애플리케이션 오류가 데이터 무결성에 영향을 주거나, Azure 가용성 영역 또는 하위 지역에 가동 중단이 발생하거나, 애플리케이션에 유지 관리가 필요할 때 수행할 작업을 알아봅니다.


개요

Azure SQL Database에서의 비즈니스 연속성은 가용성, 고가용성 및 재해 복구를 제공함으로써 중단 시 비즈니스를 계속 운영할 수 있도록 하는 메커니즘, 정책 및 절차를 나타냅니다.

대부분의 경우 SQL Database는 클라우드 환경에서 발생할 수 있는 중단 이벤트에 대처하고 애플리케이션 및 업무 프로세스를 계속 실행합니다. 그러나 다음과 같이 완화에 다소 시간이 걸릴 수 있는 몇 가지 중단 이벤트가 있습니다.

  • 사용자가 실수로 테이블 행을 삭제하거나 업데이트했습니다.
  • 악의적인 공격자가 데이터를 삭제하거나 데이터베이스를 삭제하는 데 성공하는 경우.
  • 치명적인 자연 재해 이벤트가 데이터 센터, 가용성 영역 또는 지역에서 가동 중단을 유발하는 경우.
  • 구성 변경, 소프트웨어 버그 또는 하드웨어 구성 요소 장애로 인해 데이터 센터, 가용성 영역 또는 지역 전체가 가동 중단되는 드문 경우.

가용성

Azure SQL Database는 소프트웨어 또는 하드웨어 오류로부터 보호하는 코어 복원력 및 안정성을 약속합니다. 데이터베이스 백업은 데이터가 손상되거나 실수로 삭제되지 않도록 데이터를 보호하기 위해 자동화됩니다. PaaS(Platform-as-a-Service)인 Azure SQL Database 서비스는 업계 최고의 99.99% 가용성 SLA를 지원하며 상용 기능으로 가용성을 제공합니다.

고가용성

Azure 클라우드 환경에서 고가용성 및 복원력을 구현하려면 영역 중복을 사용하도록 설정하여 SQL 데이터베이스 또는 Elastic Pool이 가용성 영역을 사용하여 데이터베이스 또는 Elastic Pool이 영역 오류에 복원력이 있는지 확인할 수 있도록 합니다. 많은 Azure 지역은 독립적인 전력, 냉각 및 네트워킹 인프라가 보유한 지역 내에서 분리된 데이터 센터 그룹에 해당하는 가용성 영역을 제공합니다. 가용성 영역은 한 영역에서 가동 중단이 발생하는 경우 나머지 영역에서 지역 서비스, 용량 및 고가용성을 제공하도록 설계되었습니다. 영역 중복을 사용하도록 설정하면 데이터터베이스 또는 Elastic Pool이 영역 하드웨어 및 소프트웨어 장애에 대한 복원력을 갖게 되며 애플리케이션에 복구가 투명하게 이루어집니다. 고가용성을 사용하도록 설정하면 Azure SQL Database 서비스는 99.995%의 고가용성 SLA를 제공합니다.

재해 복구

지역 간 가용성 및 중복성을 높이려면 재해 복구 기능을 활성화하여 치명적인 지역 장애로부터 인스턴스를 신속하게 복구할 수 있습니다. Azure SQL Database의 재해 복구 옵션 정의

  • 활성 지역 복제 기능을 사용하면 주 데이터베이스에 대해 지속적으로 동기화되고 읽을 수 있는 보조 데이터베이스를 만들 수 있습니다.
  • 장애 조치(failover) 그룹은 주 데이터베이스와 보조 데이터베이스 간에 연속 동기화를 제공하는 것 외에도 논리 서버의 일부 또는 모든 데이터베이스를 다른 지역의 보조 논리 서버로 복제 및 장애 조치(failover)를 관리합니다. 장애 조치(failover) 그룹은 변경되지 않고 유지되는 읽기 전용 리스너 엔드포인트 및 읽기-쓰기 수신기 엔드포인트를 제공합니다. 따라서 장애 조치(failover) 후 애플리케이션 연결 문자열 업데이트할 필요가 없습니다.
  • 지역 복원을 사용하면 Azure 지역의 기존 서버에 새 데이터베이스를 만들어 주 지역의 데이터베이스에 액세스할 수 없는 경우 지역에서 복제된 백업을 사용하여 복원하여 지역 가동 중단을 복구할 수 있습니다.

다음 표는 Azure SQL Database에 대한 두 가지 재해 복구 옵션인 활성 지역 복제 및 장애 조치(failover) 그룹을 비교합니다.

활성 지역 복제 장애 조치(failover) 그룹
주 및 보조 데이터베이스 간의 연속 데이터 동기화
여러 데이터베이스를 동시에 장애 조치(failover) 아니오
연결 문자열은 장애 조치(failover) 후 변경되지 않음 아니오
읽기 확장 지원
여러 복제본 아니오
주 복제본과 동일한 지역에 있을 수 있음 아니오

업무 연속성을 지원하는 기능

데이터베이스 관점의 경우, 다음 네 가지 주요 잠재적 중단 시나리오가 있습니다. 다음 테이블은 잠재적인 비즈니스 중단 시나리오를 완화하는 데 사용할 수 있는 SQL Database 비즈니스 연속성을 나열합니다.

비즈니스 중단 시나리오 비즈니스 연속성 기능
데이터베이스 노드에 영향을 주는 로컬 하드웨어 또는 소프트웨어 오류. 로컬 하드웨어 및 소프트웨어 장애를 완화하기 위해 SQL Database는 최대 99.99%의 가용성 SLA로 이러한 장애로부터 자동 복구를 보장하는 가용성 아키텍처를 포함합니다.
데이터 손상 또는 삭제 - 일반적으로 애플리케이션 버그 또는 사람의 실수로 인해 발생합니다. 이러한 오류는 애플리케이션에서 개별적으로 발생하며 일반적으로 데이터베이스 서비스에서 검색할 수 없습니다. 데이터 손실로부터 비즈니스를 보호하기 위해 SQL Database는 매주 전체 데이터베이스 백업, 12시간 또는 24시간마다 차등 데이터베이스 백업 및 5~10분마다 트랜잭션 로그 백업을 자동으로 생성합니다. 기본적으로 모든 서비스 계층의 백업은7일 동안 지역 중복 스토리지에 저장됩니다. 기본 지원을 제외한 모든 서비스 계층은 특정 시점 복원(PITR)을 위해 구성 가능한 백업 보존 기간을 최대 35일까지 지원합니다. 서버가 삭제되지 않은 경우 또는 장기 보존을 설정한 경우 삭제된 시점을 기준으로 삭제된 데이터베이스를 복원할 수 있습니다.
자연 재해, 구성 변경, 소프트웨어 버그 또는 하드웨어 구성 요소 장애로 인한 데이터 센터 또는 가용성 영역이 가동 중단되는 드문 경우. 데이터 센터 또는 가용성 영역 수준 가동 중단을 완화하려면 데이터베이스 또는 Elastic Pool이 Azure 가용성 영역을 사용하도록 영역 중복을 사용하도록 설정하고 Azure 지역 내 여러 물리적 영역에 중복성을 제공합니다. 영역 중복을 사용하도록 설정하면 관리형 인스턴스가 최대 99.995%의 고가용성 SLA를 지원하며 영역 장애에 대한 복원력을 보장합니다.
치명적인 자연 재해 이벤트로 인해 모든 가용성 영역 및 이를 구성하는 데이터 센터에 영향을 주는 지역의 가동이 중단되는 드문 경우. 지역 전체 중단을 완화하려면
장애 조치(failover) 그룹(권장) 또는 장애 조치(failover)를 위해 보조 지역에 복제본(replica)을 만들 수 있게 하는 활성 지역 복제와 같은 연속 데이터 동기화 옵션 중 하나를 사용하여 재해 복구를 사용하도록 설정합니다.
- 백업 스토리지 중복을 지역 중복 백업 스토리지로 설정하여 지역 복원을 사용합니다.

RTO 및 RPO

비즈니스 연속성 계획을 개발할 때는 중단 이벤트가 발생한 후 애플리케이션이 완전히 복구되기까지 허용되는 최대 시간을 파악합니다. 애플리케이션을 완전히 복구하는 데 필요한 시간을 RTO(복구 시간 목표)라고 합니다. 또한 우발적인 중단 이벤트가 발생한 후 복구될 때 애플리케이션에서 손실을 허용할 수 있는 최근 데이터 업데이트의 최대 기간(시간 간격)도 감안합니다. 잠재적인 데이터 손실을 RPO(복구 지점 목표)라고 합니다.

다음 테이블에서는 각 비즈니스 연속성 옵션의 RPO 및 RTO를 비교합니다.

비즈니스 연속성 옵션 RTO(가동 중지 시간) RPO(데이터 손실)
고가용성
(영역 중복 사용)
일반적으로 30초 미만 0
재해 복구
(장애 조치(failover) 그룹 또는 활성 지역 복제(replica) 설정)
일반적으로 60초 미만 0보다 크거나 같음
(중단 이벤트 전에 복제되지 않은 데이터 변경 내용에 따라 다름)
재해 복구
(지역 복원 사용)
일반적으로 분 또는 시간 일반적으로 분 또는 시간

비즈니스 연속성 체크리리스트

가용성을 최대화하고 더 높은 비즈니스 연속성을 달성하기 위한 규범적 권장 사항은 다음을 참조하세요.

지역 중단 대비

사용하는 비즈니스 연속성 기능에 관계없이 다른 지역에서 보조 데이터베이스를 준비해야 합니다. 적절한 준비 없이 장애 조치나 데이터베이스 복구 이후에 애플리케이션을 온라인 상태로 전환하면 추가 시간이 소요되고, 바쁜 업무 중 문제 해결이 필요할 수도 있어 비효율적입니다. 지역 중단 대비 보조 준비 체크리스트를 따릅니다.

동일한 Azure 지역 내에서 데이터베이스 복구

자동 데이터베이스 백업을 사용하여 과거의 시점으로 데이터베이스를 복원할 수 있습니다. 이러한 방식으로 인력 오류로 인한 데이터 손상으로부터 복구할 수 있습니다. 특정 시점 복원을 사용하면 손상된 이벤트 이전의 데이터 상태인 새 데이터베이스를 동일한 서버에 만들 수 있습니다. 대부분의 데이터베이스에서 복원 작업은 12시간 미만이 소요됩니다. 매우 크거나 매우 활성화된 상태인 데이터베이스를 복구하는 데는 시간이 더 오래 걸릴 수 있습니다. 자세한 내용은 데이터베이스 복구를 참조하세요.

지원되는 최대 PITR(특정 시점 복원) 백업 보존 기간이 애플리케이션에 충분하지 않을 경우 데이터베이스에 대한 LTR(장기 보존) 정책을 구성하여 확장할 수 있습니다. 자세한 내용은 장기 백업 보존을 참조하세요.

최소 가동 중단으로 애플리케이션 업그레이드

애플리케이션 업그레이드와 같은 계획된 유지 관리로 인해 애플리케이션을 오프라인 상태로 전환해야 하는 경우도 있습니다. 애플리케이션 업그레이드 관리에서는 활성 지역 복제를 사용하여 클라우드 애플리케이션의 롤링 업그레이드를 사용하도록 설정함으로써 업그레이드 기간에 가동 중지 시간을 최소화하고 오류가 발생한 경우 복구 경로를 제공하는 방법을 설명합니다.

대기 복제본(replica)을 사용하여 비용 절감하기

보조 복제본(replica) DR(재해 복구)에만 사용되고 읽기 또는 쓰기 워크로드가 없는 경우, 새 활성 지역 복제 관계를 구성할 때 데이터베이스를 대기로 지정하여 라이선스 비용을 절감할 수 있습니다.

자세한 내용은 라이선스가 필요 없는 대기 복제본(replica)을 검토하세요.

다음 단계

애플리케이션 설계 고려사항에 대해 알아 보려면 클라우드 재해 복구를 위한 응용 프로그램 디자인Elastic Pool 재해 복구 전략을 참조하세요.

중단을 복구하는 방법에 대한 자세한 내용은 Azure SQL Database 재해 복구 참고 자료Azure SQL Database 고가용성 및 재해 복구 체크리스트를 참조하세요.