Azure VM의 SQL Server 무중단 업무 방식 및 HADR
적용 대상: Azure VM 기반 SQL Server
이 문서에서는 Azuer 가상 머신(VM)의 SQL Server와 함께 고가용성 및 재해 복구(HADR)를 위해 사용할 수 있는 Azure 전용 및 하이브리드 무중단 업무 방식 솔루션을 비교 대조합니다.
비즈니스 연속성은 재해 발생 시 비즈니스를 계속하고, 복구를 계획하고, 데이터의 고가용성을 보장합니다. Azure 가상 머신 기반 SQL Server는 HADR(고가용성 및 재해 복구) 데이터베이스 솔루션의 비용을 절감하는 데 도움이 될 수 있습니다.
참고 항목
Azure Migrate를 사용하여 장애 조치(failover) 클러스터 인스턴스 및 가용성 그룹 솔루션을 모두 Azure VM의 SQL Server로 리프트 앤 시프트할 수 있습니다.
개요
Azure VM의 SQL Server가 지원하는 솔루션 유형:
- Azure 전용: HADR 시스템 전체가 Azure에서 실행됩니다.
- 하이브리드: 솔루션의 일부는 Azure에서 실행되고, 나머지 부분은 조직의 온-프레미스에서 실행됩니다.
Azure 환경은 유연하게 제공되므로 사용 중인 SQL Server 데이터베이스 시스템의 예산과 HADR 요구 사항에 맞게 Azure로 부분적으로만 이동하거나 완전히 이동할 수도 있습니다. 데이터베이스 시스템에 복구 시간 목표(RTO), 복구 지점 목표(RPO) 및 서비스 수준 약정(SLA)에 대한 비즈니스 요구 사항에 부합하는 HADR 기능을 갖추도록 보장할지 말지는 각 사용자의 선택에 맡깁니다.
Azure가 제공하는 기본 제공 메커니즘(예: 클라우드 서비스용 서비스 복구, 가상 머신용 오류 복구 검색 등)이 있다고 해도 SLA, RTO 또는 RPO에 부합한다고 보장할 수는 없습니다. 이러한 메커니즘은 가상 머신의 고가용성을 보호하는 데 도움이 되지만 VM 내에서 실행되는 SQL Server의 가용성을 보호하지는 않습니다. VM이 온라인이고 정상인 동안 SQL Server 인스턴스가 실패할 수 있습니다. Azure에서 제공하는 고가용성 메커니즘조차도 소프트웨어 또는 하드웨어 오류 및 운영 체제 업그레이드의 복구와 같은 이벤트로 인해 VM의 가동 중지 시간을 허용합니다.
무중단 업무 방식 기능
다음 테이블에 고가용성(HA), 재해 복구(DR) 또는 둘 다(HA/DR)를 목적으로 사용할 수 있는 Azure 전용 및 하이브리드 SQL Server 양쪽 모두에 해당하는 기능을 목록으로 기재했습니다.
이러한 SQL Server 기능은 Azure 전용 또는 하이브리드 구성 둘 모두에서 무중단 업무 방식 목적으로 지원됩니다. 옵션 중에는 고가용성 및 재해 복구(HA/DR), 고가용성(HA) 두 가지 모두에 이상적인 것도 있지만, 나머지는 재해 복구(DR) 용도로 사용됩니다.
SQL Server 기능 | HA/DR 옵션 | 세부 정보 |
---|---|---|
Always On 가용성 그룹 | 고가용성 및 재해 복구 | 여러 가지 가용성 영역 및/또는 하위 지역에 복제본(replica)을 추가하여 데이터베이스 수준을 보호하고, 고가용성 및 재해 복구를 강화합니다. |
Always On FCI(장애 조치(failover) 클러스터 인스턴스) | 고가용성 | 공유 스토리지를 사용해 인스턴스 수준에서 보호를 제공합니다. 가용성 그룹과 합쳐 데이터베이스 및 인스턴스 수준에 대한 보호를 둘 다 강화합니다. |
로그 전달 | 재해 복구 | 재해 복구를 위한 데이터베이스 수준 보호를 제공하려면 주 서버에서 트랜잭션 로그 백업을 보조 서버로 보내 복원하는 과정을 거쳐야 합니다. Azure 파일 공유가 필요합니다. |
Azure Blob Storage를 사용하여 SQL Server 백업 및 복원 | 재해 복구 | 재해 복구 보호를 위해 Azure Blob Storage에 보관된 프로덕션 데이터베이스 백업입니다. |
Azure Site Recovery | 재해 복구 | 기본 사이트에서 보조 사이트로 VM을 복제하는 재해 복구 솔루션입니다. |
기술을 결합하여 고가용성 및 재해 복구 기능이 모두 있는 SQL Server 솔루션을 구현할 수 있습니다. 사용하는 기술에 따라, 하이브리드 배포에는 Azure 가상 네트워크와 함께 VPN 터널이 필요할 수도 있습니다. 같은 기술이지만, Azure나 하이브리드 디자인에서 설정되는 방식에 몇 가지 차이점이 있을 가능성이 있습니다.
가용성 그룹(HADR)
데이터베이스 수준에서 Azure VM의 SQL Server를 보호하려면 가용성 그룹을 고가용성 및 재해 복구(HADR) 솔루션으로 사용하면 됩니다. 같은 하위 지역의 Azure VM에서 실행되는 복제본(replica)은 고가용성을 제공합니다. 도메인 컨트롤러 VM이 필요합니다. Windows 장애 조치(failover) 클러스터에 Active Directory 도메인이 필요하기 때문입니다.
시작하려면 가용성 그룹 자습서를 검토하세요.
더 높은 중복성, 가용성, 재해 복구 보호를 보장하려면 Azure VM을 서로 다른 가용성 영역에 배포하는 방법이 있습니다(가용성 그룹 개요 참조). 가용성 복제본이 Azure VM의 여러 데이터 센터에 걸쳐 실행되도록 확대하면 재해 복구 적용 범위가 추가됩니다. 하위 지역 간 솔루션을 사용하면 사이트 전체 중단에 대비해 보호하는 데 도움이 됩니다.
한 영역 내의 모든 복제본은 동일한 클라우드 서비스 및 동일한 가상 네트워크 내에 있어야 합니다. 각 하위 지역마다 별도의 가상 네트워크가 있으므로, 이러한 솔루션에는 네트워크 간 연결이 필요합니다. 자세한 내용은 Azure Portal을 사용하여 네트워크 간 연결 구성을 검토하세요. 자세한 지침은 여러 Azure 하위 지역에서 SQL Server Always On 가용성 그룹 구성을 참조하세요.
하이브리드 구성의 경우, 몇몇 가용성 복제본은 Azure VM에서, 나머지 복제본은 온-프레미스에서 실행되어 사이트 간 재해 복구를 제공합니다. 프로덕션 사이트는 온-프레미스 또는 Azure 데이터 센터에 있을 수 있습니다.
모든 가용성 복제본이 동일한 장애 조치(failover) 클러스터에 있어야 하므로 클러스터는 두 네트워크(다중 서브넷 장애 조치(failover) 클러스터)에 걸쳐 있어야 합니다. 이 구성에는 Azure와 온-프레미스 네트워크 간의 VPN 연결이 필요합니다.
데이터베이스의 재해 복구에 성공하려면 재해 복구 사이트에 복제본(replica)기본 컨트롤러도 설치해야 합니다. 시작하려면 가용성 그룹 자습서를 검토하세요.
장애 조치(failover) 클러스터 인스턴스(HA)
Azure VM의 SQL Server는 장애 조치(failover) 클러스터 인스턴스(FCI)를 지원하며, 이 솔루션은 인스턴스 수준에서 고가용성을 제공합니다. 보호를 강화하려면 데이터베이스와 인스턴스 수준 둘 다에서 중복성을 만들면 됩니다. 그러려면 장애 조치(failover) 클러스터 인스턴스에 더해 가용성 그룹을 만듭니다. FCI 기능에는 공유 스토리지가 필요하며, Azure VM의 SQL Server에 통하는 솔루션은 다섯 가지가 있습니다.
Windows Server 2019에 Azure 공유 디스크를 사용합니다. 공유 관리 디스크는 여러 가상 머신에 관리 디스크를 동시에 연결할 수 있게 하는 Azure 제품입니다. 클러스터의 VM은 SCSI PR(SCSI 영구 예약)을 통해 클러스터된 애플리케이션에서 선택한 예약에 따라 연결된 디스크에서 데이터를 읽거나 쓸 수 있습니다. SCSI PR은 온-프레미스 SAN(저장 영역 네트워크)에서 실행되는 애플리케이션에서 사용되는 업계 표준 저장소 솔루션입니다. 관리 디스크에서 SCSI PR을 사용하도록 설정하면 이러한 애플리케이션을 있는 그대로 Azure로 마이그레이션할 수 있습니다.
Windows Server 2016 이후 버전에 소프트웨어 기반 가상 SAN을 제공하기 위하여 스토리지 공강 다이렉트(S2D)를 사용합니다.
Windows Server 2012 이후 버전에 프리미엄 파일 공유를 사용합니다. 프리미엄 파일 공유는 SSD를 지원하고, 일관되게 대기 시간이 짧으며, FCI와 함께 사용 시 완벽하게 지원됩니다.
클러스터링용 파트너 솔루션으로 지원되는 스토리지를 사용합니다. SIOS DataKeeper를 사용하는 특정 예제는 블로그 항목 장애 조치 클러스터링 및 SIOS DataKeeper를 참조하세요.
Azure ExpressRoute를 통해 원격 iSCSI 대상에 대하여 공유 블록 스토리지를 사용합니다. 예를 들어 NPS(NetApp Private Storage)는 Equinix를 사용하는 ExpressRoute를 통해 Azure VM에 iSCSI 대상을 노출합니다.
Microsoft 파트너의 공유 스토리지 및 데이터 복제 솔루션의 경우 장애 조치(failover) 시 데이터 액세스와 관련된 문제는 공급업체에 문의해야 합니다.
시작하려면 VM을 FCI용으로 준비합니다.
로그 전달(DR)
Azure의 또 한 가지 재해 복구 솔루션으로 로그 전달이 있습니다. 이 경우 주 서버의 주 데이터베이스에서 트랜잭션 로그 백업을 취해 별도의 보조 서버에 있는 하나 이상의 보조 데이터베이스로 자동 전송합니다. 로그 전달 구성은 Azure File 공유를 사용해 트랜잭션 로그 백업을 저장합니다.
하이브리드 환경에서 로그 전달을 구성해야 하는 경우, 사이트 간 재해 복구를 위해 서버 하나는 Azure VM에 위치하고 다른 하나는 온-프레미스에 위치합니다. 로그 전달은 Windows 파일 공유에 따라 달라지므로 Azure 가상 네트워크와 온-프레미스 네트워크 간의 VPN 연결이 필요합니다.
데이터베이스의 재해 복구에 성공하려면 재해 복구 사이트에 복제본(replica)기본 컨트롤러도 설치해야 합니다.
백업 및 복원(DR)
재해 복구에는 프로덕션 데이터베이스 백업이 필요합니다. Azure에서는 재해 복구를 위해 여러 데이터베이스를 다양한 데이터 센터의 Blob Storage에 직접 백업할 수 있습니다.
하이브리드 솔루션에서는 재해 복구를 위해 온-프레미스 프로덕션 데이터베이스를 Azure Blob Storage에 직접 백업할 수 있습니다.
자세한 내용은 Azure 가상 머신 기반 SQL Server의 백업 및 복원을 참조하세요.
Azure Site Recovery를 사용해 복제(DR)
Azure Site Recovery는 Azure에서나 하이브리드 구성에서나 재해 복구 솔루션으로 사용할 수 있습니다.
Azure 내부에서는, 재해 복구를 위해 한 Azure 데이터 센터의 프록덕션 SQL Server 인스턴스가 다른 Azure 데이터 센터의 Azure Storage에 직접 복제됩니다.
하이브리드 환경의 경우, 재해 복구를 위해 온-프레미스 프로덕션 SQL Server 인스턴스가 Azure Storage에 직접 복제됩니다.
자세한 내용은 SQL Server 재해 복구 및 Azure Site Recovery를 사용하여 SQL Server 보호를 참조하세요.
Azure의 무료 DR 복제본
Software Assurance가 있는 경우 수동 재해 복구 인스턴스에 대한 추가 라이선스 비용 없이 SQL Server로 하이브리드 DR(재해 복구) 계획을 구현할 수 있습니다. 또한 모든 복제본(replica)이 Azure에서 호스팅되는 경우 종량제 라이선싱을 통해 라이선스가 없는 DR 복제본(replica)을 이용할 수 있습니다.
예를 들어 세 개의 복제본이 모두 Azure에 호스트되는 경우 두 개의 무료 수동 보조를 사용할 수 있습니다.
또는 라이선스가 허여된 주 온-프레미스, HA에 대한 무료 수동, DR 온-프레미스에 대한 무료 수동, Azure의 DR에 대한 무료 수동을 사용하여 하이브리드 장애 조치(failover) 환경을 구성할 수 있습니다.
자세한 내용은 제품 라이선스 약관을 참조하세요.
이 혜택을 사용하려면 SQL Server 가상 머신 리소스로 이동합니다. 설정 아래에서 구성을 선택하고, SQL Server 라이선스 아래에서 HA/DR 옵션을 선택한 다음 적용을 선택해 설정을 저장합니다. 세 복제본(replica) 모두 Azure에서 호스팅되는 경우 종량제 고객은 HA/DR 라이선스 유형을 사용할 수 있습니다.
Azure에서 SQL Server HADR에 대한 중요 고려 사항
Azure VM, 스토리지 및 네트워킹은 가상화되지 않은 온-프레미스 IT 인프라와는 다른 운영 특성을 갖습니다. Azure에서 SQL Server HADR 솔루션을 성공적으로 구현하기 위해서는 차이점을 이해하고 그에 맞게 솔루션을 설계해야 합니다.
가용성 집합의 고가용성 노드
Azure의 가용성 집합을 통해 고가용성 노드를 별도의 오류 도메인과 업그레이드 도메인에 배치할 수 있습니다. Azure 플랫폼에서는 업데이트 도메인 및 장애 도메인을 가용성 집합에 있는 각각의 가상 머신에 할당합니다. 데이터 센터 내의 이 구성을 통해 계획된 유지 관리 이벤트 또는 계획되지 않은 유지 관리 이벤트 중에서 하나 이상의 가상 머신을 사용할 수 있고 99.95%의 Azure SLA를 충족할 수 있습니다.
고가용성 설정을 구성하려면 유지 관리 이벤트 중에 애플리케이션 또는 데이터 손실 방지를 위해 참여하는 모든 SQL Server 가상 머신을 동일한 가용성 집합에 넣습니다. 동일한 클라우드 서비스에서 오직 노드만 동일한 가용성 집합에 참여할 수 있습니다. 자세한 내용은 가상 머신의 가용성 관리를 참조하세요.
가용성 영역의 고가용성 노드
가용성 영역은 Azure 지역 내의 고유한 물리적 위치입니다. 각 영역은 독립된 전원, 냉각 및 네트워킹을 갖춘 하나 이상의 데이터 센터로 구성됩니다. 지역 내에서 가용성 영역을 물리적으로 분리하면 하나 이상의 가상 머신을 사용할 수 있고 99.99%의 Azure SLA를 충족하여 데이터 센터 오류로부터 애플리케이션과 데이터를 보호할 수 있습니다.
고가용성을 구성하려면 참여하는 SQL Server 가상 머신을 해당 하위 지역의 가용성 영역에 분산 배치합니다. 가용성 영역 사이에서 네트워크 간 전송에 추가 요금이 부과됩니다. 자세한 내용은 가용성 영역을 참조하세요.
하이브리드 IT의 네트워크 대기 시간
온-프레미스 네트워크와 Azure 간에 긴 네트워크 대기 시간이 있을 수 있다는 가정을 하고 HADR 솔루션을 배포합니다. Azure에 복제본(replica)을 배포하는 경우 동기화 모드에 동기 커밋 대신 비동기 커밋을 사용합니다. 온-프레미스와 Azure 모두에 데이터베이스 미러링 서버를 배포할 때는 안전 우선 모드 대신 성능 우선 모드를 사용합니다.
클라우드 환경을 수용하는 데 도움이 되는 클러스터 및 HADR 설정에 대한 HADR 구성 모범 사례를 참조하세요.
지역에서 복제 지원
Azure 디스크의 지역에서 복제는 별도의 디스크에 저장할 동일한 데이터베이스의 데이터 파일과 로그 파일을 지원하지 않습니다. GRS는 변경 내용을 독립적이고 비동기적으로 각 디스크에 복제합니다. 이 메커니즘은 지리적으로 복제된 복사본에서 쓰기 순서가 지켜지도록 보장하지만 여러 디스크에 지역 복제된 복사본에서는 보장하지 않습니다. 데이터 파일과 로그 파일을 별도의 디스크에 저장하도록 데이터베이스를 구성하는 경우, 재해 후 복구된 디스크에는 로그 파일보다 더 최신인 데이터 파일의 복사본이 포함되어 있을 수 있어 SQL Server의 미리 기록 규칙과 트랜잭션의 ACID 속성(원자성, 일관성, 격리 및 내구성)을 어기게 됩니다.
스토리지 계정에 지역에서 복제를 사용하지 않도록 설정할 수 있는 옵션이 없는 경우 데이터베이스의 모든 데이터 및 로그 파일을 동일한 디스크에 저장합니다. 데이터베이스의 크기 때문에 디스크를 두 개 이상 사용해야 하는 경우 데이터 중복성을 위해 앞서 나열한 재해 복구 솔루션 중 하나를 배포합니다.
다음 단계
가용성 그룹 또는 장애 조치 클러스터 인스턴스가 비즈니스에 가장 적합한 비즈니스 연속성 솔루션인지 결정합니다. 그런 다음 고가용성 및 재해 복구를 위한 환경을 구성하기 위한 모범 사례를 검토합니다.