고가용성 및 재해 복구 솔루션 선택
개요
목표 복구 시간(RTO) 및 목표 복구 시점(RPO)을 포함하여 재해 복구(DR) 목표를 충족하면서 비즈니스 요구 사항을 충족하는 SQL Server 배포를 위한 아키텍처를 AWS에서 설계하는 것이 좋습니다. 다음 솔루션은 SQL Server 워크로드 비용을 최적화하는 동시에 Amazon Elastic Compute Cloud(Amazon EC2)의 SQL Server에 적합한 아키텍처를 설계하는 데 도움이 될 수 있습니다.
-
SQL Server Always On 가용성 그룹 - SQL Server Always On 가용성 그룹은 SQL Server 데이터베이스에 대한 고가용성 및 재해 복구 솔루션을 제공합니다. 가용성 그룹은 함께 장애 조치되는 사용자 데이터베이스 집합으로 구성됩니다. Always On 가용성 그룹은 데이터베이스 수준에서 중복성을 제공하지만 여기에 공유 스토리지는 필요하지 않습니다. 각 복제본에는 자체 로컬 스토리지가 있습니다. 이 기능을 HA/DR 솔루션으로 배포할 수 있습니다. 자세한 내용은 Microsoft 설명서의 What is an Always On availability group?
을 참조하세요. -
SQL Server Always On 장애 조치 클러스터 인스턴스(FCI) - SQL Server Always On FCI는 Windows Server 장애 조치 클러스터링(WSFC)을 사용하여 SQL Server 인스턴스 수준에서 HA를 제공합니다. FCI에는 데이터베이스를 호스팅하기 위해 공유 스토리지가 필요합니다. 공유 블록 스토리지 또는 공유 파일 스토리지를 사용할 수 있습니다. 예를 들어 Amazon FSx for Windows File Server 또는 Amazon FSx for NetApp ONTAP을 다중 가용 영역이 있는 공유 스토리지 솔루션으로 사용할 수 있습니다. 자세한 내용은 Microsoft 설명서의 Always On Failover Cluster Instances (SQL Server)
를 참조하세요. -
SIOS DataKeeper - SIOS DataKeeper는 다중 가용 영역과 AWS 리전에 걸쳐 있는 SQL Server FCI를 활성화하여 HA 및 DR 요구 사항을 모두 충족하는 데 도움이 될 수 있습니다. SIOS DataKeeper는 로컬 Amazon Elastic Block Store(Amazon EBS) 볼륨을 사용하여 클러스터링된 가상 SAN을 생성하고, HA용 가용 영역 간의 동기식 복제를 사용하는 동시에 재해 복구를 위해 여러 리전 사이에서 비동기식 복제를 사용합니다. 자세한 내용은 SIOS 설명서의 High Availability Protection for Windows Applications
를 참조하세요. -
분산 가용성 그룹 - 분산 가용성 그룹은 두 개의 개별 가용성 그룹에 걸쳐 있는 특수한 유형의 가용성 그룹입니다. 가용성 그룹은 두 개의 개별 리전(예:
us-east-1및us-west-1)에 상주할 수 있습니다. 기본 Always On 가용성 그룹은 서로 다른 두 WSFC 클러스터에 구성되므로 분산 가용성 그룹을 가용성 그룹의 가용성 그룹으로 생각할 수 있습니다. 분산 가용성 그룹을 배포하려면 SQL Server Enterprise 에디션이 필요합니다. 자세한 내용은 Microsoft 설명서의 Distributed availability groups를 참조하세요. -
로그 전송 - 드물지만 리전이 영향을 받아 사용할 수 없게 되는 경우 로그 전송을 구현하여 여러 리전에서 데이터베이스를 보호할 수 있습니다. 트랜잭션 및 로그 전송 빈도에 따라 몇 분 내에 RPO 및 RTO를 달성할 수 있습니다. 자세한 내용은 Microsoft 설명서의 About Log Shipping (SQL Server)
을 참조하세요. -
AWS Elastic Disaster Recovery - Elastic Disaster Recovery는 DR 목적으로 모든 인프라에서 AWS로 서버 복제를 관리하는 서비스형 소프트웨어(SaaS) 애플리케이션입니다. Elastic Disaster Recovery를 사용하여 여러 리전에서 SQL Server를 복제할 수도 있습니다. Elastic Disaster Recovery는 운영 체제, 설치된 모든 애플리케이션 및 모든 데이터베이스를 포함한 전체 가상 머신을 스테이징 영역으로 복제하는 에이전트 기반 솔루션입니다. 자세한 내용은 Elastic Disaster Recovery 설명서의 What is Elastic Disaster Recovery?를 참조하세요.
-
AWS Database Migration Service(AWS DMS) - AWS DMS는 다른 리전을 포함하여 AWS와의 실시간 데이터 마이그레이션을 지원합니다. 이 기능을 사용하여 재해 복구 데이터베이스 역할을 수행하도록 다른 리전에 별도의 SQL Server 인스턴스를 설정할 수 있습니다. 자세한 내용은 AWS DMS 설명서의 What is AWS Database Migration Service?를 참조하세요.
SQL Server Always On 가용성 그룹
고가용성 Always On 가용성 그룹
참고
여러 SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 SQL Server 에디션 비교 섹션을 참조하세요.
Features
-
SQL Server Standard 에디션에서 사용 가능
-
복제본 2개의 제한(기본 및 보조)
-
보조 복제본에 대한 읽기 액세스 없음
-
보조 복제본에 대한 무결성 검사 없음
제한 사항
-
가용성 그룹당 하나의 가용성 데이터베이스만 지원
-
기본 가용성 그룹은 분산 가용성 그룹의 일부가 될 수 없습니다.
다음 다이어그램에서는 Windows Server 장애 조치 클러스터 솔루션의 아키텍처 예제를 보여줍니다.
SQL Server Always On 장애 조치 클러스터
장애 조치 클러스터 인스턴스(FCI)를 사용하여 가동 중지 시간을 최소화하고 데이터 손실 위험을 줄이면서 지속적인 데이터베이스 운영을 보장할 수 있습니다. FCI에서는 읽기 복제본 구성 없이 SQL Server 데이터베이스의 고가용성을 원하는 경우 신뢰할 수 있는 솔루션을 제공합니다.
가용성 그룹과 달리 FCI는 SQL Server Enterprise 에디션 없이도 안정적인 장애 조치 솔루션을 제공할 수 있습니다. 대신 FCI에는 SQL Server Standard 에디션 라이선스만 필요합니다. FCI를 사용하여 SQL Server 라이선스 비용을 65~75% 줄일 수 있습니다.
참고
SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 SQL Server 에디션 비교 섹션을 참조하세요.
다음을 고려하세요.
-
Amazon FSx for Windows File Server는 SQL Server FCI 공유 스토리지 요구 사항을 충족하는 강력한 솔루션을 제공합니다. FSx for Windows File Server를 사용하면 스토리지 복제 솔루션용 라이선스를 구매하고 공유 스토리지를 직접 관리할 필요가 없습니다. 이를 통해 30~40%의 상당한 비용 절감 효과를 얻을 수 있습니다. 자세한 내용은 AWS 스토리지 블로그의 Simplify your Microsoft SQL Server high availability deployments using Amazon FSx for Windows File Server
게시물을 참조하세요. -
Software Assurance benefits summary
(다운로드 가능한 PDF) 및 Bring Your Own License(BYOL) 모델을 사용하면 보조 서버가 패시브인 한 패시브 장애 조치 이점을 활용할 수 있습니다. 그러면 클러스터의 패시브 노드에 대한 라이선스를 제공할 필요가 없으므로 SQL 라이선스 비용이 절감됩니다.
다음 다이어그램에서는 FSx for Windows File Server를 사용하여 SQL Server FCI에 대한 아키텍처 예제를 보여줍니다.
SIOS DataKeeper
AWS에서 SQL Server FCI를 배포하려는 경우 공유 스토리지 요구 사항을 고려하는 것이 좋습니다. 기존 온프레미스 설치는 일반적으로 공유 스토리지 요구 사항을 충족하기 위해 스토리지 영역 네트워크(SAN)를 사용하지만 AWS에서 실행 가능한 옵션은 아닙니다. Amazon FSx for Windows File Server는 AWS에서 SQL Server FCI에 권장되는 스토리지 솔루션이지만 다른 AWS 리전에 클러스터 서버를 추가하지 못하는 제한 사항이 있습니다.
SIOS DataKeeper
SIOS DataKeeper를 사용하면 다음과 같은 추가적인 이점을 고려합니다.
-
SIOS DataKeeper는 로컬 EBS 볼륨을 사용하여 클러스터링된 가상 SAN을 생성하고 고가용성을 위해 가용 영역 사이에서 동기식 복제를 사용합니다. 재해 복구를 위해 SIOS DataKeeper는 여러 리전 사이에서 비동기 복제를 사용합니다.
-
SIOS DataKeeper는 SQL Server Standard 에디션을 사용하여 엔터프라이즈급 클러스터링 기능을 제공합니다. 이렇게 하면 SQL Server Enterprise 에디션을 사용하는 SQL Server Always On 가용성 그룹을 통해 고가용성을 구현하는 방식에 비해 SQL Server 라이선스 비용이 65~75% 절감됩니다. SIOS DataKeeper를 사용하면 조직의 요구 사항을 충족하는 고가용성의 유연하고 비용 효율적인 SQL Server 환경을 생성할 수 있습니다.
참고
SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 SQL Server 에디션 비교 섹션을 참조하세요.
다음 다이어그램에서는 클러스터링된 가상 SAN 솔루션을 사용하는 SQL Server FCI의 아키텍처 예제를 보여줍니다.
Always On 가용성 그룹
고가용성 및 재해 복구 모두를 위해 Always On 가용성 그룹을 사용할 수 있습니다. 한 리전의 두 가용 영역에 SQL Server를 배포하여 고가용성을 달성할 수 있습니다. 여러 리전에서 가용성 그룹을 확장하여 재해 복구를 달성할 수 있습니다.
다음 다이어그램에서는 Always On 가용성 그룹을 기반으로 하는 솔루션의 아키텍처 예제를 보여줍니다. 다이어그램에서 리전 1에 있는 복제본은 가용성 그룹의 자동 장애 조치를 제공하는 동기 커밋을 사용합니다. 리전 2의 복제본은 가용성 그룹의 수동 장애 조치가 필요한 비동기 커밋을 사용합니다.
분산 가용성 그룹
신뢰성 또는 재해 복구를 위태롭게 할 수 없는 미션 크리티컬 SQL Server 배포의 경우 다중 리전 접근 방식을 사용하는 것이 좋습니다. 여러 리전에 걸쳐 가용성 그룹을 배포하는 방법은 비즈니스 연속성을 유지하고 가동 중지 시간을 최소화하기 위한 가장 복원력이 뛰어난 솔루션입니다.
이 아키텍처는 공유 스토리지, 동기식 블록 수준 복제, SQL Server FCI 등 Amazon FSx for Windows File Server의 기능을 최대한 활용합니다. 이러한 기능을 사용하면 다중 가용 영역에 걸쳐 고가용성 SQL Server 환경을 생성할 수 있습니다. 다른 리전에서 이 설정을 복제하면 가장 심각한 중단도 처리할 수 있는 완전한 중복 시스템을 얻을 수 있습니다. 이 솔루션을 차별화하는 요소는 바로 유연성과 보안 수준입니다. 분산 가용성 그룹의 도메인 독립적 아키텍처를 사용하면 기본 Windows 클러스터 서버를 서로 다른 Active Directory 도메인에 조인할 수 있으며, 인증서 기반 인증은 SQL Server 환경을 최대한 보호하고 다중 리전 DR 전략에 대한 높은 RTO 및 RPO 요구 사항을 제공합니다. 다중 리전 아키텍처 빌드에 대한 자세한 내용은 AWS 아키텍처 블로그의 Field Notes: Building a Multi-Region Architecture for SQL Server using FCI and Distributed Availability Groups
다음 다이어그램에서는 분산 가용성 그룹을 사용하는 다중 리전 솔루션의 아키텍처 예제를 보여줍니다.
로그 전달
로그 전송은 예상치 못한 중단이 발생한 경우 여러 리전에서 데이터베이스를 보호할 수 있는 검증되고 신뢰할 수 있으며 비용 효율적인 방법입니다. 조직은 수십 년 동안 로그 전송을 사용하여 데이터를 보호해 왔습니다.
AWS에서 로그 전송을 구현하면 트랜잭션 빈도와 로그 전송 작업에 따라 몇 분 안에 RPO 및 RTO를 달성할 수 있습니다. 드물지만 리전에 액세스할 수 없게 되는 경우 로그 전송을 통해 데이터를 보안하고 복구할 수 있습니다.
로그 전송을 사용하면 다음과 같은 추가적인 이점을 고려합니다.
-
여러 리전에서 재해 복구 복원력을 위해 로그 전송을 사용하여 비용을 절감하고 비즈니스 요구 사항을 충족합니다. 로그 전송에는 SQL Server Standard 에디션 또는 SQL Server Web 에디션 라이선스만 필요하므로 TCO가 줄어듭니다.
-
활성 소프트웨어 보증
과 함께 로그 전송을 사용하여 재해 복구/패시브 서버에서 라이선스 비용을 제거합니다. 소프트웨어 보증에서 로그 전송을 사용하는 경우 기본/액티브 SQL Server만 라이선스를 구해야 합니다. -
SQL Server Enterprise 에디션에서는 여러 리전 사이에서 분산 가용성 그룹을 설정할 필요가 없으므로 SQL Server 라이선스 비용을 65~75% 절감합니다. 재해 복구 요구 사항을 충족하기 위해 로그 전송과 결합된 SQL Server Standard 에디션 및 SQL Server FCI를 사용하여 이를 수행할 수 있습니다.
참고
SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 SQL Server 에디션 비교 섹션을 참조하세요.
자세한 내용은 AWS 아키텍처 블로그의 Extend SQL Server DR using log shipping for SQL Server FCI with Amazon FSx for Windows configuration
다음 다이어그램에서는 로그 전송 솔루션의 아키텍처 예제를 보여줍니다.
AWS Database Migration Service
AWS Database Migration Service(AWS DMS)를 사용하여 애플리케이션 요구 사항에 따라 HA/DR 솔루션을 설계할 수 있습니다. AWS DMS를 사용하면 데이터를 동일한 리전(HA) 또는 여러 리전(DR)의 보조 SQL Server 데이터베이스에 쉽게 복사할 수 있습니다. 이 접근 방식은 기술적으로 바람직하며 리소스 사용을 최적화하면서 AWS 인프라에 대한 투자를 극대화할 수 있습니다.
AWS DMS는 비용 효율적인 서비스입니다. 추가 로그 스토리지 및 전송 프로세스 중에 사용된 CPU 리소스에 대해서만 요금이 부과됩니다. 즉, 상당한 추가 비용을 발생시키지 않고도 이 솔루션의 이점을 누릴 수 있습니다. AWS DMS를 사용하여 데이터의 가용성과 액세스 가능성을 보장하는 동시에 라이선스 및 리소스 사용과 관련된 비용을 최소화할 수 있습니다.
다음 다이어그램에서는 AWS DMS 기반 솔루션의 아키텍처 예제를 보여줍니다.
AWS Elastic Disaster Recovery
일부 조직은 모든 중요한 비즈니스 애플리케이션에 재해 복구 계획이 있는지 확인해야 합니다. 과거에는 이러한 조직 중 다수가 기존 재해 복구 솔루션에 많은 투자를 했기 때문에 전체 중복 인프라를 사전 빌드하고 유지 관리해야 했습니다. 이 접근 방식은 비용이 많이 들고 시간이 오래 걸리며 규모 조정이 어렵습니다.
이제 AWS Elastic Disaster Recovery를 사용하면 재해 복구 인프라를 미리 빌드하지 않아도 됩니다. 재해 복구 시스템은 필요할 때까지 Elastic Disaster Recovery에서 시작되지 않으므로 필요할 때 사용한 만큼만 비용을 지불하면 됩니다. 즉, 소프트웨어 라이선스와 고성능 컴퓨팅 비용을 크게 줄일 수 있습니다.
또한 재해 복구 솔루션의 스테이징 영역에는 저렴한 Amazon Elastic Block Store(Amazon EBS) 볼륨이 포함되어 있습니다. EBS 볼륨에서는 중복 리소스 프로비저닝 비용이 한층 더 줄어듭니다. 이를 통해 비즈니스 요구 사항을 충족하는 강력하고 신뢰할 수 있는 재해 복구 솔루션을 유지하면서 전체 재해 복구 비용을 절감할 수 있습니다. Elastic Disaster Recovery를 사용하여 핵심 비즈니스 활동에 집중하는 동시에, AWS에서 재해 복구 솔루션의 기본 인프라를 관리합니다.
SQL Server의 경우 Elastic Disaster Recovery를 비용 효율적인 재해 복구 옵션으로 사용할 수 있습니다. 활성 소프트웨어 보증을 사용하는 경우 내결함성이 뛰어난 고가용성 SQL Server 아키텍처의 패시브 노드에 대한 라이선스가 적용됩니다. 하지만 패시브 서버가 온라인 상태가 되기 위해 여전히 컴퓨팅 비용을 지불합니다. Elastic Disaster Recovery를 사용하면 프라이머리 서버가 활성 소프트웨어 보증을 유지하고 재해 복구 컴퓨팅 비용을 지불할 필요 없이 DR 환경에 복제할 수 있습니다. 이러한 비용 절감 효과를 결합하면 SQL Server 재해 복구 비용을 50% 이상 줄일 수 있습니다.
다음 다이어그램에서는 Elastic Disaster Recovery를 기반으로 하는 솔루션의 아키텍처 예제를 보여줍니다.
자세한 내용은 AWS 기반 Microsoft 워크로드 블로그의 How to set up high availability for SQL Server at DR site that was restored using AWS Elastic Disaster Recovery
비용 비교
다음 표에서는 이 섹션에서 다루는 HA/DR 솔루션의 비용을 비교합니다. 이 비교를 위해 다음과 같이 가정합니다.
-
인스턴스 유형 - r5d.xlarge
-
라이선스 유형 - Windows 및 SQL Server 모두에 포함된 라이선스
-
리전 –
us-east-1
| Solution | 높은 가용성 | 재해 복구 | 엔터프라이즈 에디션 | 스탠다드 에디션 | 비용 |
|---|---|---|---|---|---|
| 로그 전달 | 아니요 | 예 | 예 | 예 | SQL Server Enterprise 에디션: 32,674.8 USD(노드 2개) SQL Server Standard 에디션: 14,804.4 USD(노드 2개) |
| Always On 가용성 그룹 | 예 | 예 | 예 | 예, 하지만 기본 가용성 그룹(노드 2개) | SQL Server Enterprise 에디션: 32,674.8 USD(노드 2개) SQL Server Standard 에디션: 14,804.4 USD(노드 2개) |
| Always On FCI | 예 | 아니요 | 예 | 예(노드 2개) | SQL Server Standard 에디션: 14,804.4 USD |
| 분산 가용성 그룹 | 예 | 예 | 예 | 아니요 | SQL Server Enterprise 에디션: 65,349.6 USD(노드 4개) |
| Elastic Disaster Recovery | 아니요 | 예 | 예 | 예 | 근사치. 1개 인스턴스와 1TB의 스토리지 복제에 대해 월별 107.48 USD 참고: Elastic Disaster Recovery는 복제 서버당 시간별로 요금이 청구됩니다. 비용은 디스크 수, 스토리지 크기, 드릴 또는 복구 시작 횟수 또는 복제하려는 리전에 관계없이 동일합니다. |
| SIOS Data Keeper | 예 | 예 | 예 | 예 | 소프트웨어 보증을 사용하는 Always On 가용성 그룹(2개 노드, 24개 코어): 213,480 USD SIOS DataKeeper 및 소프트웨어 보증을 사용하는 SQL Server Standard 에디션에서 실행되는 2개 노드 SQL Server 클러스터: 61,530 USD(2개 노드) |
| AWS DMS | 아니요 | 예 | 예 | 예 | r5.xlarge 인스턴스 및 1TB 스토리지의 경우 월별 745.38 USD |
비용 최적화 권장 사항
조직의 요구 사항을 충족하는 HA/DR 솔루션을 선택하려면 다음 단계를 수행하는 것이 좋습니다.
-
이 가이드의 SQL Server 워크로드에 적합한 EC2 인스턴스 선택 섹션을 검토하세요.
-
피크 워크로드 중에 성능 카운터를 실행하여 워크로드의 IOPS 및 처리량 요구 사항을 결정합니다.
-
IOPS = 디스크 읽기/초 + 디스크 쓰기/초
-
처리량 = 디스크 읽기 바이트/초 + 디스크 쓰기 바이트/초
-
-
성능 향상 및 비용 절감을 위해 다음 스토리지 볼륨 유형을 사용합니다.
-
tempdb및 버퍼 풀 확장을 위한 NVMe 인스턴스 스토리지 -
데이터베이스 파일에 대한 io2 볼륨
-
-
Amazon EC2 기반 SQL Server에 대한 비용 최적화 권장 사항에 AWS Trusted Advisor를 사용합니다. SQL Server 최적화 검사를 수행하기 위해 Trusted Advisor에 대한 에이전트를 설치할 필요가 없습니다. Trusted Advisor는 가상 CPU(vCPU), 버전 및 에디션과 같은 Amazon EC2 SQL Server 라이선스 포함 인스턴스 구성을 검사합니다. 그런 다음 Trusted Advisor는 모범 사례를 기반으로 권장 사항을 제안합니다.
-
Amazon EC2 인스턴스 및 Amazon EBS의 올바른 크기 조정 권장 사항 모두에 대해 AWS Compute Optimizer를 사용합니다.
-
AWS Pricing Calculator
를 사용하여 비용 추정을 위한 HA/DR 전략을 설계합니다. -
SQL Server Enterprise 에디션에서 SQL Server Standard 에디션으로 다운그레이드가 가능한 옵션인지 확인하려면 sys dm_db_persisted_sku_features
동적 관리 보기를 사용하여 현재 데이터베이스에서 활성 상태인 에디션별 기능을 식별합니다. 참고
라이선스 포함 EC2 인스턴스를 사용할 때 SQL Server 에디션을 변경하려면 함께 마이그레이션해야 합니다.
-
정의된 RTO 및 RPO로 데이터베이스를 복구할 수 있는 설계를 더 잘 설계하기 위해 반년 또는 연간 재해 복구 훈련을 수행합니다. 또한 아키텍처 약점을 식별하는 데 도움이 될 수 있습니다.
추가 리소스
-
Simplify your Microsoft SQL Server high availability deployments using Amazon FSx for Windows File Server
(AWS 스토리지 블로그) -
Field Notes: Building a Multi-Region Architecture for SQL Server using FCI and Distributed Availability Groups
(AWS 아키텍처 블로그) -
Architect a disaster recovery for SQL Server on AWS: Part 1
(AWS 데이터베이스 블로그) -
Microsoft SQL high availability with Amazon FSx for Windows
(YouTube) -
Maximizing Microsoft SQL Server Performance with Amazon EBS
(AWS 스토리지 블로그) -
Comparing your on-premises storage patterns with AWS Storage services
(AWS 스토리지 블로그) -
Planning to replace a data center NAS with Amazon FSx File Gateway
(AWS 스토리지 블로그) -
Optimizing cost for your high availability SQL Server deployments on AWS
(AWS 스토리지 블로그) -
How to set up disaster recovery for SQL Server Always On Availability Groups using AWS Elastic Disaster Recovery
(AWS 기반 Microsoft 워크로드) -
How to set up high availability for SQL Server at DR site that was restored using AWS Elastic Disaster Recovery
(AWS 기반 Microsoft 워크로드)