Azure 로컬 VM(가상 머신)에서 실행되는 워크로드에 대한 재해 복구에는 인프라 수준 보호를 애플리케이션별 연속성 전략에 맞추는 계층화된 접근 방식이 필요합니다. SQL Server 데이터베이스를 호스팅하든, Azure Virtual Desktop을 통해 가상 데스크톱을 제공하든, 각 워크로드 유형에는 고유한 복구 요구 사항 및 종속성이 있습니다. Azure Local은 광범위한 재해 복구 기술을 지원하여 비즈니스 연속성 목표를 충족하고 중단으로부터 신속하게 복구할 수 있도록 복구 계획을 조정할 수 있습니다.
Arc로 최적화된 SQL 서버
Azure 로컬 VM은 엔터프라이즈 수준 HA(고가용성) 및 DR(재해 복구) 기능을 제공하기 위해 Always-On 가용성 그룹을 사용하는 인스턴스를 포함하여 Arc 지원 SQL Server의 고성능 인스턴스를 호스팅할 수 있습니다. SQL Server 재해 복구의 주요 목적은 중단 시 애플리케이션의 특정 RTO(복구 시간 목표) 및 RPO(복구 지점 목표)를 충족하는 것입니다. SQL Server는 단일 사이트/클러스터 내 HA(고가용성) 및 보조 사이트/클러스터에 대한 DR(재해 복구) 모두에 대한 풍부한 기본 제공 기능 집합을 제공합니다.
Azure 로컬 VM에서 실행되는 SQL Server 워크로드의 경우 포괄적인 재해 복구 전략은 호스트 수준 보호 메커니즘과 SQL Server 고유의 네이티브 고가용성/재해 복구 기능을 결합해야 합니다. 호스트 수준 보호는 운영 체제 및 SQL Server 이진 파일을 포함한 전체 서버 인스턴스를 보호하지만, Always-On 가용성 그룹 및 로그 전달과 같은 SQL 네이티브 솔루션은 데이터베이스 가용성에 대한 보다 세부적인 제어를 제공하고, 애플리케이션 일치 데이터 보호를 제공하며, 특히 트랜잭션이 많은 데이터베이스의 경우 더 낮은 RPO를 달성할 수 있습니다. 조직은 AZURE Local의 호스트 수준 보호 외에도 SQL Server 자체의 재해 복구 기능을 사용하여 보다 강력한 데이터 보호와 더 빠른 복구 시간을 달성할 수 있습니다.
Azure 로컬 VM에서 SQL Server의 재해 복구 기능
Arc 지원 SQL Server는 검증된 다양한 재해 복구 기술을 제공하며, 모두 Azure 로컬 배포에서 완벽하게 지원됩니다. 애플리케이션 요구 사항 및 RPO(복구 지점 목표) /RTO(복구 시간 목표) 목표에 따라 하나를 선택하거나 여러 항목을 결합할 수 있습니다.
주요 SQL Server 재해 복구 기능 및 Azure 로컬에서 사용하기 위한 모범 사례 권장 사항은 다음과 같습니다.
Always On 가용성 그룹(AG)
- Always On AG는 주 복제본에서 하나 이상의 보조 복제본으로 트랜잭션을 복제하여 사용자 데이터베이스 집합을 보호하는 최고의 고가용성/재해 복구 기능입니다.
- Azure 로컬 환경에서는 고가용성을 위해 단일 클러스터 내에서, 재해 복구를 위해 클러스터 또는 사이트에서 AG를 사용할 수 있습니다. 자동 장애 조치의 경우 WSFC(Windows Server 장애 조치 클러스터)에 AG를 배포하고, 네트워크 지연 시간이 짧을 때 근접한 복제본 간에 동기-커밋 모드를 사용합니다. 먼 복제본(더 높은 대기 시간)의 복제본에 대해 비동기 커밋 모드를 사용하여 성능을 최대화합니다. 또한 분산 가용성 그룹은 고급 시나리오를 위해 여러 클러스터에 걸쳐 있습니다. Azure 로컬의 Always On AG는 적절하게 구성된 경우 자동 및 수동 장애 조치(failover)를 모두 지원하며 가동 중지 시간을 최소화해야 하는 중요한 데이터베이스를 보호하기 위한 권장 솔루션입니다.
- 자세한 내용은 Always On 가용성 그룹이란?을 참조하세요.
Always on FCI(장애 조치(failover) 클러스터 인스턴스) :
- Always On 장애 조치(failover) 클러스터 인스턴스는 VM 게스트 수준 클러스터의 다른 노드로 전체 SQL Server 인스턴스(모든 데이터베이스 포함)의 장애 조치(failover)를 제공하는 WSFC를 기반으로 하는 인스턴스 수준 고가용성 솔루션입니다.
- Azure Local의 FCI는 클러스터의 공유 스토리지(Azure 로컬 S2D 볼륨에서 제공)를 사용하여 SQL 인스턴스가 동일한 데이터가 있는 두 번째 노드에서 다시 시작할 수 있도록 합니다.
- 모범 사례: FCI를 사용하여 인스턴스 수준 장애 조치(failover)가 필요한 애플리케이션 또는 공유 스토리지를 사용할 수 있는 시나리오를 보호합니다.
- 자세한 내용은 Always On 페일오버 클러스터 인스턴스를 참조하세요.
로그 전달:
- 로그 전달은 주기적으로 주 데이터베이스에서 트랜잭션 로그를 백업하고 보조 데이터베이스로 복원합니다. 이것은 재해 발생 시 온라인 상태로 전환할 수 있는 웜 대기 서버를 설정합니다. Azure 로컬에서 로그 전달은 완전히 지원되며 시간이 덜 중요한 데이터베이스에 대한 저비용 재해 복구 옵션이 될 수 있습니다.
- 모범 사례: 로그 백업 빈도가 RPO와 일치하는지 확인합니다. 또한 보조 데이터베이스의 복원 지연을 모니터링하여 장애 조치(failover) 시간을 예측합니다. 자세한 내용은 로그 전달 정보를 참조하세요.
데이터베이스 미러링:
- 미러링에서는 데이터베이스의 두 복사본을 유지 관리하며 동기 또는 비동기적으로 구성할 수 있습니다. 그러나 미러링이 최신 SQL 버전에서는 사용되지 않으며 새 배포에는 권장되지 않습니다. 대신 미러링 제한 없이 Azure Local에서 유사한 기능을 제공하는 기본 가용성 그룹 또는 전체 Always On AG를 사용합니다.
- 자세한 내용은 데이터베이스 미러링을 참조하세요.
백업 및 복원:
- 전체, 차등 및 트랜잭션 로그 백업을 포함한 일반 데이터베이스 백업은 모든 재해 복구 전략의 기초입니다. SQL Server는 디스크 또는 Azure Blob Storage와 같은 URL에 백업을 지원합니다. 고객은 MABS( Microsoft Azure Backup Server ) 또는 비 Microsoft 파트너 도구를 사용하여 전체 VM 또는 애플리케이션을 로컬 디스크 및 클라우드 스토리지에 백업할 수 있습니다. 또한 SQL Server는 MABS 또는 Microsoft 이외의 백업 솔루션 없이 클라우드 스토리지에 대한 백업을 자동으로 예약할 수 있는 Azure에 Managed Backup을 제공합니다.
- 모범 사례: 환경에 적합한 도구를 사용하고, RPO 목표를 달성하기 위해 자주 백업하고, 정기적으로 복원을 테스트합니다.
- 자세한 내용은 SQL Server 데이터베이스 백업 및 복원을 참조하세요.
복제:
- SQL Server 복제(트랜잭션, 병합 또는 스냅샷)를 사용하면 한 데이터베이스에서 다른 데이터베이스로 데이터를 거의 실시간으로 복사하고 배포할 수 있습니다. 일반적으로 읽기 전용 복사본을 배포하거나 데이터를 동기화하는 데 사용되지만 복제는 재해 복구 전략의 일부로 사용될 수도 있습니다. Azure Local에서는 모든 형태의 SQL Server 복제가 지원됩니다.
- 주의: 복제는 전체 데이터베이스의 모든 부분을 자동으로 전환하지 않으며, 재해 발생 시 수동으로 재구성해야 할 수 있습니다.
- 자세한 내용은 SQL Server 복제를 참조하세요.
위의 모든 기능을 혼합하여 원하는 결과를 얻을 수 있습니다. 예를 들어 기본 사이트 내에서 데이터 손실이 없는 고가용성을 위해 Always on AG를 사용하고 동시에 재해 복구를 위해 보조 Azure 로컬 인스턴스 오프사이트에 비동기 복제를 사용합니다. 선택은 애플리케이션의 RPO/RTO 요구 사항 및 솔루션이 자동 장애 조치(failover)를 제공하는지 또는 수동 프로세스가 필요한지에 따라 결정되어야 합니다.
Arc 지원 SQL Server 이점
모든 게스트가 사용하도록 설정된 Azure 로컬 VM은 Arc를 사용하도록 설정되므로 VM 내의 SQL Server는 자동으로 Arc 지원 SQL Server가 됩니다. Azure Arc 통합을 통해 온-프레미스 SQL Server의 재해 복구 설정에 대한 클라우드 기반 가시성 및 관리를 얻을 수 있습니다. Azure Arc는 위의 SQL 네이티브 재해 복구 기능을 대체하지 않지만 Azure Portal에서 이러한 기능을 모니터링, 관리 및 향상시키는 통합 도구를 제공합니다.
재해 복구를 위한 주요 Azure Arc 지원 SQL Server 기능은 다음과 같습니다.
Always On 가용성 그룹 관리:
- Azure Portal에서 Arc 지원 SQL Server에서 Always-On AG를 보고 관리합니다. 여기에는 가용성 그룹 목록, 해당 복제본 및 동기화 상태 보기 및 필요한 경우 수동 장애 조치(failover) 수행이 포함됩니다.
- 자세한 내용은 Always On 가용성 그룹 관리를 참조하세요.
장애 조치(failover) 클러스터 인스턴스 표시 유형:
- Azure Arc는 포털에서 SQL Server FCI를 표시하므로 하이브리드 환경에서 FCI 배포를 식별하고 모니터링할 수 있습니다.
- 자세한 내용은 Azure Arc에서 Always On 장애 조치(failover) 클러스터 인스턴스 보기를 참조하세요.
자동화된 백업 및 복원:
- Azure Policy 또는 포털을 통해 자동화된 백업을 구성합니다. Arc SQL Server 확장은 정의된 정책에 따라 백업을 예약하고 실행할 수 있습니다. 포털에서도 복원할 수 있습니다.
- 자세한 내용은 지정 시간으로 관리 및 복원을 참조하세요.
관리 ID를 사용하여 URL로 백업:
- Arc를 사용하면 온-프레미스 SQL Server가 Azure Blob Storage에 백업할 때 인증에 Azure 관리 ID를 사용할 수 있습니다. 이렇게 하면 SAS 토큰 또는 계정 키가 필요하지 않습니다.
- 자세한 내용은 관리 ID를 사용하여 URL로 백업(미리 보기)을 참조하세요.
Azure Virtual Desktop
Azure Virtual Desktop 은 가상화된 Windows 데스크톱 및 애플리케이션을 어디서나 사용자에게 안전하게 제공하고 클라우드 및 온-프레미스 환경과 원활하게 통합하기 위한 포괄적인 플랫폼을 제공합니다.
Azure Virtual Desktop 아키텍처는 세션 호스트 가상 머신, Azure Virtual Desktop 제어 평면(사용자 연결, 조정 및 게이트웨이 서비스가 클라우드를 형성하는 관리), 사용자 프로필 스토리지(예: FSLogix) 및 원활한 가상 데스크톱 환경을 제공하는 네트워크 구성을 비롯한 여러 핵심 구성 요소로 구성됩니다. Azure Local의 Azure Virtual Desktop에 대한 효과적인 재해 복구 전략은 장애 조치 시 원활한 전환을 보장하기 위해 이러한 각 구성 요소의 복구 및 연속성을 고려해야 합니다.
Azure Virtual Desktop 세션 호스트는 사용자가 Azure Virtual Desktop에 액세스할 때 연결하는 실제 데스크톱 및 애플리케이션 환경을 실행하는 가상 머신입니다. 각 세션 호스트는 리소스를 제공하고, 사용자 세션을 관리하며, 워크로드가 격리되고 성능이 유지되도록 합니다. 따라서 Azure 로컬 VM에 대해 나열된 많은 VM 복구 옵션이 Azure Virtual Desktop에도 적용되지만 가상 데스크톱 솔루션의 다른 핵심 구성 요소를 고려하려면 추가 고려 사항이 필요합니다.
풀드 호스트 풀
풀된 모델에서 사용자는 풀에서 사용 가능한 세션 호스트에 할당되며 VM은 이상적으로 상태 비저장입니다. 사용자별 데이터 및 설정은 로그인 시 동적으로 연결된 VHD(X) 파일에 전체 사용자 프로필을 저장하는 FSLogix 프로필 컨테이너를 사용하여 로밍됩니다. 재해 복구의 경우, 리소스 공유를 위해 풀링된 호스트의 주요 초점은 세션 호스트를 배포하고 FSLogix 프로필 컨테이너 및 MSIX 앱 연결 패키지를 재구축하는 데 사용되는 골든 이미지의 가용성을 보장하는 것입니다. VM은 사용자에게 직접 매핑되지 않으므로 전체 VM 백업 및 Hyper-V 복제본과 같은 장애 조치(failover) 방법이 필요하지 않을 수 있습니다.
풀된 세션 호스트에 권장되는 재해 복구 방법은 보조 사이트(Azure 또는 다른 클러스터)에 호스트 풀을 만들고 기본 호스트 풀과 일치하도록 구성하는 것입니다. 이러한 호스트는 휴면 상태로 유지되고 장애 조치(failover) 시 켜지거나 항상 활성화될 수 있습니다. 보조 호스트 풀이 동일한 FSLogix 프로필에 액세스할 수 있고 사용자에게 동일한 환경을 제공하기 위해 기본 호스트의 동일한 이미지에서 빌드되었는지 확인하는 것이 중요합니다. OneDrive 리디렉션을 사용하여 FSLogix 프로필이 두 사이트 간에 동기화 상태를 유지하도록 할 수 있습니다.
장애 조치(failover) 시 호스트가 휴면 상태인 경우 해당 호스트를 켜고 사용자가 보조 호스트 풀에 다시 할당되어야 합니다. 항상 활성 상태인 경우 장애 조치(failover) 시 관리자 개입이 필요하지 않습니다. 기본 클러스터의 상태가 복원된 후 장애 복구는 원래 호스트가 다시 온라인 상태가 되면 비슷한 방식으로 수행됩니다.
개인 호스트 풀
개인 세션 호스트를 사용하면 각 사용자가 특정 전용 세션 호스트 VM에 할당됩니다. 사용자가 애플리케이션을 설치하거나 직접 데이터를 저장할 수 있으므로 이러한 VM은 상태 저장입니다. 따라서 개인 세션 호스트에 대한 재해 복구에는 일반적으로 각 사용자의 데스크톱의 고유한 상태를 유지하기 위해 전체 VM 수준 백업 및 복제(Hyper-V 복제본 사용)가 필요합니다.
Hyper-V 복제본을 사용하여 Azure 로컬 클러스터에서 다른 클러스터로 페일오버하십시오.
보조 Azure 로컬 클러스터를 장애 조치 사이트로 사용하여 세션 호스트를 온-프레미스에 유지할 수 있습니다. 이 전략은 주로 개인 세션 호스트에 대한 특별한 고려 사항과 함께 Hyper-V 복제본을 사용하는 VM 복원력에 대한 권장 사항을 따릅니다.
이 전략은 주로 위의 Hyper-V 복제본 섹션의 권장 사항을 따르며 풀된 세션 및 개인 세션 호스트에 대한 특별한 고려 사항을 포함합니다.
장애 조치(failover)를 위해 클러스터 준비: 보조 클러스터에 장애 조치(failover)를 지원하기에 충분한 컴퓨팅 및 스토리지 용량이 있고, 일치하는 네트워크 구성이 있고, 주 클러스터로 라우팅할 수 있는지 확인합니다. 복제된 VM이 원활하게 인증할 수 있도록 AD DC 및 DNS 설정이 보조 클러스터에서 동일하게 구성되었는지 확인합니다.
Hyper-V 복제본 사용: Hyper-V 복제본은 PowerShell 또는 장애 조치(failover) 클러스터 관리자를 사용하여 구성해야 하며 Azure Portal에서 수행할 수 없습니다. 주 클러스터와 보조 클러스터 모두에서 복제를 사용하도록 설정해야 하며 복구 빈도 및 초기 복제 방법을 포함하여 각 VM에 대해 복제 설정을 정의해야 합니다.
세션 호스트 복제: 개인 세션 호스트의 경우 각 VM이 보조 클러스터에 정기적으로 복제되고 사용자to-VM 매핑이 주 클러스터와 일치하는지 확인합니다. 장애 조치(failover) 전에 복제된 VM을 프로비전하고 호스트 풀에 할당하는 것이 좋지만, 그렇지 않은 경우 장애 조치 시 할당해야 합니다.
Hyper-V 복제본 장애 조치(failover)
장애 조치(failover) 시 첫 번째 단계는 호스트를 시작하기 전에 도메인 컨트롤러가 작동하고 DNS 설정이 최신 상태인지 확인하는 것입니다. 개인 세션 호스트는 프로필이 적절하게 할당되었는지 확인하기 위해 최신 복제를 켜고 확인해야 합니다.
Hyper-V Replica를 사용하는 장애 조치 후 보조 사이트의 가상 머신(VM)은 비관리 상태가 됩니다. 최종 사용자는 정상적으로 Azure Virtual Desktop을 사용할 수 있지만 장애 조치(failover) 전과 같이 포털에서 VM을 관리할 수 없습니다. 관리 기능을 복원하려면 기본 사이트가 복구되자마자 즉시 기본 사이트로 복원하는 것이 좋습니다.
Hyper-V 복제본 페일백
주 사이트가 정상화되어 다시 작동 가능해지면 VM을 주 사이트로 복구할 수 있도록 유지 관리 시간을 계획하는 것이 좋습니다. VM을 다시 기본 사이트로 역방향 복제하고 호스트에 액세스할 수 있고 DNS 설정이 예상대로 작동하는지 확인합니다.
다중 클러스터 복원력
풀된 호스트 풀의 재해 복원력에 대한 또 다른 방법은 호스트 풀 내의 세션 호스트를 여러 클러스터로 나누는 것입니다. 이렇게 하면 중복성이 제한된 단일 클러스터 오류가 발생할 경우 원활한 리디렉션이 제공됩니다.
이 방법을 구성하려면 다음을 수행합니다.
- 두 클러스터가 동일한 방식으로 구성되고 일치하는 AD 및 DNS 설정이 있는지 확인합니다.
- 두 클러스터에 세션 호스트를 배포한 다음, Azure Virtual Desktop 포털, PowerShell 또는 Azure CLI를 사용하여 수동으로 호스트 풀에 추가 합니다.
- 세션은 필요에 따라 클러스터 간에 자동으로 부하를 분산합니다. 이 경우 Scale-Out 파일 서버를 사용하여 두 클러스터에서 액세스할 수 있도록 FSLogix 프로필을 저장합니다.
자세한 내용은 Azure Local용 Azure Virtual Desktop을 참조하세요.
다음 단계
자세히 알아보기: