고가용성 및 재해 복구 옵션 설명

완료됨

기본 제공되는 고가용성 외에도 Azure 플랫폼은 VM 및 일부 PaaS 워크로드에 대해 더 높은 수준의 가용성을 제공하기 위한 두 가지 옵션을 제공합니다. 가용성 영역 및 가용성 집합은 계획된 유지 관리 작업과 잠재적인 하드웨어 오류로부터 워크로드를 보호합니다.

고가용성 옵션

대부분의 SQL Server 고가용성 솔루션은 Azure VM(가상 머신)에서 사용할 수 있습니다. Azure 전용 솔루션에서는 HADR 시스템 전체가 Azure에서 실행됩니다. 하이브리드 구성에서는 솔루션의 일부가 Azure에서 실행되고 나머지 부분은 조직의 온-프레미스에서 실행됩니다. Azure 환경은 유연하게 제공되므로 사용 중인 SQL Server 데이터베이스 시스템의 예산과 HADR 요구 사항에 맞게 Azure로 부분적으로만 이동하거나 완전히 이동할 수도 있습니다.

가용성 영역

가용성 영역은 지역 내의 고유한 물리적 위치입니다. 각 영역은 독립된 전원, 냉각 및 네트워킹을 갖춘 하나 이상의 데이터 센터로 구성됩니다. 가용성 영역을 지원하는 Azure 지역 내에서 VM을 만드는 동안 사용 가능한 영역을 사용하도록 선택한 경우 가상 머신이 상주할 영역을 지정할 수 있습니다. 지원되는 각 Azure 지역에는 3개의 가용성 영역이 있습니다. 가용성 영역은 여러 VM을 각기 다른 영역에 배포할 때 데이터 센터 오류로부터 고가용성을 제공합니다. 또한 언제든지 하나의 영역만 업데이트하여 Microsoft가 각 지역 내에서 유지 관리를 수행할 수 있는 수단(업데이트 도메인이라는 그룹화 사용)을 제공합니다. 지역의 3개 영역에 가상 머신 에코시스템을 분산할 수 있습니다. Azure 가상 머신과 함께 가용성 영역을 활용하면 가동 시간을 4개의 9(99.99%)로 올릴 수 있으며, 이는 연간 가동 중지 시간이 52.60분 이하임을 나타냅니다. docs.microsoft.com에서 가용성 영역을 지원하는 Azure 지역을 식별할 수 있습니다. 해당 지역에서 가용성 영역을 사용할 수 있고 애플리케이션이 최소 영역 간 대기 시간을 지원할 수 있는 경우 가용성 영역은 애플리케이션에 가장 높은 수준의 가용성을 제공합니다.

Azure Availability Zones

위의 이미지에서 가용성 영역 구성을 확인할 수 있습니다. 가용성 영역이 있는 지역에 VM을 배포하는 경우 영역 1, 2, 3에 배포하는 옵션이 제공됩니다. 이 영역은 물리적 데이터 센터의 논리적 표현으로, 한 구독의 영역 1에 배포한다고 해서 다른 구독에서도 영역 1이 동일한 데이터 센터를 나타내는 것은 아닙니다.

가용성 집합

가용성 집합은 한 지역의 데이터 센터에 워크로드를 분산하는 대신 데이터 센터의 서버와 랙에 워크로드를 분산한다는 점을 제외하고 가용성 영역과 비슷합니다. Azure의 거의 모든 워크로드가 가상이므로 Always On 가용성 그룹 구성원을 포함하는 두 VM이 동일한 물리적 호스트에서 실행되지 않도록 하기 위해 가용성 집합을 사용할 수 있습니다. 가용성 집합은 최대 99.95%의 가용성을 제공할 수 있으며, 지역에서 가용성 영역을 사용할 수 없는 경우 또는 애플리케이션이 영역 내 대기 시간을 허용할 수 없는 경우에 사용해야 합니다.

AG(Always On 가용성 그룹)

Always On 가용성 그룹은 Azure 가상 머신이나 온-프레미스 데이터 센터와 Azure에서 실행되는 두 개 이상(최대 9개)의 SQL Server 인스턴스 간에 구현할 수 있습니다. 가용성 그룹에서 데이터베이스 트랜잭션이 주 복제본에 커밋된 다음, 트랜잭션은 동기적 또는 비동기적으로 모든 보조 복제본에 전송됩니다. 서버 간 물리적 거리(즉, 동일한 Azure 지역에 있는지 여부)에 따라 선택해야 하는 가용성 모드가 결정됩니다. 일반적으로 워크로드에 가능한 최저 대기 시간이 필요하거나 보조 복제본이 지리적으로 분산된 경우 비동기 가용성 모드를 사용하는 것이 좋습니다. 복제본이 동일한 Azure 지역 내에 있고 애플리케이션이 일정 수준의 대기 시간을 견딜 수 있는 경우 동기 커밋 모드를 고려해야 합니다. 동기 모드는 애플리케이션을 계속 실행하기 전에 각 트랜잭션이 하나 이상의 보조 복제본에 커밋되도록 하는 데 도움이 됩니다. 단일 가용성 그룹에서 동기 및 비동기 가용성 모드를 모두 지원할 수 있으므로 Always On 가용성 그룹은 고가용성 및 재해 복구를 모두 제공합니다. 가용성 그룹의 장애 조치(failover) 단위는 전체 인스턴스가 아닌 데이터베이스 그룹입니다.

재해 복구 목적으로 Always On 가용성 그룹을 사용할 수도 있습니다. Azure 지역에서 최대 9개의 데이터베이스 복제본을 구현하고 분산 가용성 그룹을 사용하여 이 아키텍처를 더욱 확장할 수 있습니다. 가용성 그룹을 사용하면 데이터베이스의 실행 가능한 복사본을 주 지역 이외의 다른 위치에 배치할 수 있습니다. 이렇게 하면 데이터 에코시스템이 자연 재해는 물론 인재로부터 보호됩니다.

Always On Availability Group Configuration

위의 이미지는 Windows Server 장애 조치(failover) 클러스터에서 실행되는 Always On 가용성 그룹의 논리적 다이어그램을 보여 줍니다. 주 복제본 1개와 보조 복제본 4개가 있습니다. 이 시나리오에서는 5개 복제본이 모두 동기이거나 동기 및 비동기 복제본의 조합일 수 있습니다. 장애 조치(failover) 단위는 인스턴스가 아닌 데이터베이스 그룹이라는 점에 유의하세요. 장애 조치(failover) 클러스터 인스턴스는 인스턴스 수준에서 HA를 제공하지만 재해 복구는 제공하지 않습니다.

SQL Server 장애 조치(failover) 클러스터 인스턴스

전체 인스턴스를 보호해야 하는 경우 단일 지역에서 전체 인스턴스에 대해 고가용성을 제공하는 SQL Server FCI(장애 조치(failover) 클러스터 인스턴스)를 사용할 수 있습니다. FCI는 가용성 그룹, 로그 전달 등의 다른 기능과 결합되어야 재해 복구를 제공할 수 있습니다. 또한 FCI에는 공유 파일 스토리지를 사용하거나 Windows Server의 스토리지 공간 다이렉트를 사용하여 Azure에서 제공할 수 있는 공유 스토리지가 필요합니다.

FCI의 공유 스토리지 요구 사항으로 인해 배포 복잡성이 증가하므로 Azure 워크로드의 경우 가용성 그룹이 최신 배포의 기본 솔루션입니다. 그러나 온-프레미스 솔루션에서 마이그레이션하는 경우 애플리케이션 지원을 위해 FCI가 필요할 수 있습니다.

재해 복구 옵션

Azure 플랫폼은 기본적으로 99.9% 가동 시간을 제공하지만 여전히 재해가 발생하여 애플리케이션 가동 시간에 영향을 줄 수 있습니다. 어떤 유형이든 마이그레이션을 수행할 때는 적절한 재해 복구 계획을 수립하는 것이 중요합니다. Azure는 재해 발생 시 가상 머신의 SQL Server가 보호되도록 하는 몇 가지 방법을 제공합니다. 이 보호에는 두 가지 구성 요소가 있습니다. 첫째, 모든 워크로드용 총체적 재해 복구 솔루션인 Azure Site Recovery, 백업용 지역 복제된 스토리지 등의 Azure 플랫폼 옵션이 있습니다. 둘째, 가용성 그룹, 백업 등의 SQL Server 특정 제공 사항이 있습니다.

네이티브 SQL Server 백업

백업은 모든 데이터베이스 관리자의 생명줄로 간주되며 클라우드 솔루션으로 작업하는 경우에도 다르지 않습니다. Azure 가상 머신의 SQL Server를 사용하면 백업 발생 시기와 저장 위치를 세부적으로 제어할 수 있습니다. SQL 에이전트 작업을 사용하여 Azure Blob Storage에 연결된 URL에 직접 백업할 수 있습니다. Azure는 GRS(지역 중복 스토리지) 또는 RA-GRS(읽기 액세스 지역 중복 스토리지)를 사용하여 백업 파일이 지리적으로 안전하게 저장되도록 하는 옵션을 제공합니다.

또한 Azure SQL VM 서비스 공급자의 일환으로 플랫폼을 통해 자동으로 백업을 관리할 수 있습니다.

SQL Server용 Azure Backup

Azure Backup 솔루션을 사용하려면 가상 머신에 에이전트를 설치해야 합니다. 이렇게 하면 에이전트가 SQL Server 데이터베이스의 자동 백업을 관리하는 Azure 서비스와 통신합니다. Azure Backup은 지정된 RPO/RTO 메트릭을 충족하도록 백업을 관리하고 모니터링하는 데 사용할 수 있는 중앙 위치도 제공합니다.

Azure Backup for SQL Server Architecture

위와 같이 Azure Backup 솔루션은 장기 데이터 보존, 자동화된 관리, 추가 데이터 보호 기능을 제공하는 포괄적인 엔터프라이즈 백업 솔루션입니다. 이 옵션은 단순히 자체 백업을 수행하거나 SQL Server용 Azure 리소스 공급자를 사용하는 것보다 비용이 많이 들지만 더 완전한 백업 기능 집합을 제공합니다.

Azure Site Recovery

Azure Site Recovery는 Azure 가상 머신의 블록 수준 복제를 수행하는 저렴한 솔루션입니다. 이 서비스는 재해 복구 전략을 테스트하고 확인하는 기능을 포함하여 다양한 옵션을 제공합니다. 이 솔루션은 트랜잭션 데이터베이스 가상 머신 대비 상태 비저장 환경(예: 웹 서버)에 가장 적합합니다.

Azure Site Recovery는 SQL Server와 함께 사용할 수 있지만 더 높은 복구 지점을 설정해야 하므로 잠재적 손실 위험이 있다는 점에 유의하세요. 예제에서 RTO는 기본적으로 RPO가 됩니다.

Azure Site Recovery Architecture

  1. VM이 Azure Site Recovery에 등록됨
  2. 데이터는 캐시에 지속적으로 복제됩니다.
  3. 캐시는 대상 스토리지 계정에 복제됩니다.
  4. 장애 조치(failover) 중에 가상 머신이 대상 환경에 추가됩니다.