

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# SQL Server
<a name="sql-server"></a>

고객은 다른 클라우드 공급자보다 15년 이상 AWS 에서 Microsoft 워크로드를 실행해 왔습니다. 이는 주로 AWS 가 클라우드에서 Microsoft 애플리케이션에 대한 경험이 가장 많고 다음 영역에서 Windows Server 및 Microsoft SQL Server에 가장 적합한 플랫폼을 제공하기 때문입니다.
+ 성능 및 신뢰성 향상
+ 보안 및 ID 서비스 개선
+ 추가 마이그레이션 지원
+ 가장 광범위하고 심층적인 기능
+ 총 소유 비용(TCO) 절감
+ 유연한 라이선스 옵션

AWS 는 Active Directory, .NET, SQL Server, 서비스형 Windows 데스크톱, 지원되는 모든 Windows Server 버전을 포함하여 SQL Server에 의존하는 Windows 애플리케이션을 구축하고 실행하는 데 필요한 모든 것을 지원합니다. 검증된 전문 지식을 통해 AWS 는 Windows 워크로드를 쉽게 리프트 앤 시프트, 리팩터링 또는 현대화하는 데 도움이 될 수 있습니다.

**Topics**
+ [고가용성 및 재해 복구 솔루션 선택](sql-server-hadr.md)
+ [SQL Server 라이선스 이해](sql-server-licensing.md)
+ [SQL Server 워크로드에 올바른 EC2 인스턴스 선택](right-ec2-instance.md)
+ [인스턴스 통합](consolidate-instances.md)
+ [SQL Server 에디션 비교](sql-server-editions.md)
+ [SQL Server Developer 에디션 평가](sql-server-dev.md)
+ [Linux 기반 SQL Server 평가](sql-server-linux.md)
+ [SQL Server 백업 전략 최적화](sql-server-backup.md)
+ [SQL Server 데이터베이스 현대화](modernize-sql-server.md)
+ [SQL Server에 대한 스토리지 최적화](storage-sql-server.md)
+ [Compute Optimizer를 사용하여 SQL Server 라이선스 최적화](sql-server-compute-optimizer.md)
+ [Compute Optimizer를 사용하여 SQL Server 크기 조정 최적화](sql-server-sizing-compute-optimizer.md)
+ [SQL Server 워크로드에 대한 Trusted Advisor 권장 사항 검토](sql-server-trusted-advisor.md)

# 고가용성 및 재해 복구 솔루션 선택
<a name="sql-server-hadr"></a>

## 개요
<a name="sql-server-hadr-overview"></a>

목표 복구 시간(RTO) 및 목표 복구 시점(RPO)을 포함하여 [재해 복구(DR) 목표](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/disaster-recovery-dr-objectives.html)를 충족하면서 비즈니스 요구 사항을 충족하는 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?](https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?view=sql-server-ver16)을 참조하세요.
+ **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)](https://learn.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server?view=sql-server-ver16)를 참조하세요.
+ **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](https://us.sios.com/products/windows/)를 참조하세요.
+ **분산 가용성 그룹** -** **분산 가용성 그룹은 두 개의 개별 가용성 그룹에 걸쳐 있는 특수한 유형의 가용성 그룹입니다. 가용성 그룹은 두 개의 개별 리전(예: `us-east-1` 및 `us-west-1`)에 상주할 수 있습니다. 기본 Always On 가용성 그룹은 서로 다른 두 WSFC 클러스터에 구성되므로 분산 가용성 그룹을 가용성 그룹의 가용성 그룹으로 생각할 수 있습니다. 분산 가용성 그룹을 배포하려면 SQL Server Enterprise 에디션이 필요합니다. 자세한 내용은 Microsoft 설명서의 [Distributed availability groups](https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/distributed-availability-groups?view=sql-server-ver16)를 참조하세요.
+ **로그 전송** -** **드물지만 리전이 영향을 받아 사용할 수 없게 되는 경우 로그 전송을 구현하여 여러 리전에서 데이터베이스를 보호할 수 있습니다. 트랜잭션 및 로그 전송 빈도에 따라 몇 분 내에 RPO 및 RTO를 달성할 수 있습니다. 자세한 내용은 Microsoft 설명서의 [About Log Shipping (SQL Server)](https://learn.microsoft.com/en-us/sql/database-engine/log-shipping/about-log-shipping-sql-server?view=sql-server-ver16)을 참조하세요.
+ **AWS Elastic Disaster Recovery** - Elastic Disaster Recovery는 AWS DR 목적으로 모든 인프라에서 로 서버 복제를 관리하는 서비스형 소프트웨어(SaaS) 애플리케이션입니다. Elastic Disaster Recovery를 사용하여 여러 리전에서 SQL Server를 복제할 수도 있습니다. Elastic Disaster Recovery는 운영 체제, 설치된 모든 애플리케이션 및 모든 데이터베이스를 포함한 전체 가상 머신을 스테이징 영역으로 복제하는 에이전트 기반 솔루션입니다. 자세한 내용은 Elastic Disaster Recovery 설명서의 [What is Elastic Disaster Recovery?](https://docs.aws.amazon.com/drs/latest/userguide/what-is-drs.html)를 참조하세요.
+ **AWS Database Migration Service (AWS DMS)** -는 다른 리전을 AWS포함하여 데이터를 송수신하는 실시간 마이그레이션을** **AWS DMS 지원합니다. 이 기능을 사용하여 재해 복구 데이터베이스 역할을 수행하도록 다른 리전에 별도의 SQL Server 인스턴스를 설정할 수 있습니다. 자세한 내용은 AWS DMS 설명서의 [What is AWS Database Migration Service?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)를 참조하세요.

## SQL Server Always On 가용성 그룹
<a name="sql-server-always-on"></a>

고가용성 [Always On 가용성 그룹](https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?view=sql-server-ver16)에 대해서만 SQL Server Enterprise 에디션을 사용하는 경우 기본 가용성 그룹을 활용하여 SQL Server Standard 에디션으로 다운그레이드할 수 있습니다. Always On 가용성 그룹 대신 기본 가용성 그룹을 사용하여 비용을 65\$175% 절감할 수 있습니다.

**참고**  
여러 SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 [SQL Server 에디션 비교](sql-server-editions.md) 섹션을 참조하세요.

**Features**
+ SQL Server Standard 에디션에서 사용 가능
+ 복제본 2개의 제한(기본 및 보조)
+ 보조 복제본에 대한 읽기 액세스 없음
+ 보조 복제본에 대한 무결성 검사 없음

**제한 사항 **
+ 가용성 그룹당 하나의 가용성 데이터베이스만 지원
+ 기본 가용성 그룹은 분산 가용성 그룹의 일부가 될 수 없습니다.

다음 다이어그램에서는 Windows Server 장애 조치 클러스터 솔루션의 아키텍처 예제를 보여줍니다.



![\[Windows Server 장애 조치 클러스터 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/wfc_arch.png)


## SQL Server Always On 장애 조치 클러스터
<a name="sql-server-always-on-failover"></a>

장애 조치 클러스터 인스턴스(FCI)를 사용하여 가동 중지 시간을 최소화하고 데이터 손실 위험을 줄이면서 지속적인 데이터베이스 운영을 보장할 수 있습니다. FCI에서는 읽기 복제본 구성 없이 SQL Server 데이터베이스의 고가용성을 원하는 경우 신뢰할 수 있는 솔루션을 제공합니다.

가용성 그룹과 달리 FCI는 SQL Server Enterprise 에디션 없이도 안정적인 장애 조치 솔루션을 제공할 수 있습니다. 대신 FCI에는 SQL Server Standard 에디션 라이선스만 필요합니다. FCI를 사용하여 SQL Server 라이선스 비용을 65\$175% 줄일 수 있습니다.

**참고**  
SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 [SQL Server 에디션 비교](sql-server-editions.md) 섹션을 참조하세요.

다음을 고려하세요.
+ Amazon FSx for Windows File Server는 SQL Server FCI 공유 스토리지 요구 사항을 충족하는 강력한 솔루션을 제공합니다. FSx for Windows File Server를 사용하면 스토리지 복제 솔루션용 라이선스를 구매하고 공유 스토리지를 직접 관리할 필요가 없습니다. 이를 통해 30\$140%의 상당한 비용 절감 효과를 얻을 수 있습니다. 자세한 내용은 AWS 스토리지 블로그의 [Amazon FSx for Windows File Server를 사용하여 Microsoft SQL Server 고가용성 배포 간소화](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/) 게시물을 참조하세요.
+ [Software Assurance benefits summary](https://download.microsoft.com/download/0/0/3/0039F316-45CF-4083-AA6E-C35DA9D25C1B/SA_InteractiveBenefitsChart.pdf)(다운로드 가능한 PDF) 및 Bring Your Own License(BYOL) 모델을 사용하면 보조 서버가 패시브인 한 패시브 장애 조치 이점을 활용할 수 있습니다. 그러면 클러스터의 패시브 노드에 대한 라이선스를 제공할 필요가 없으므로 SQL 라이선스 비용이 절감됩니다.

다음 다이어그램에서는 FSx for Windows File Server를 사용하여 SQL Server FCI에 대한 아키텍처 예제를 보여줍니다.



![\[FSx for Windows File Server 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/fsx_arch.png)


## SIOS DataKeeper
<a name="sql-server-sios-datakeeper"></a>

SQL Server FCIs를 배포할 계획이라면 공유 스토리지 요구 사항을 고려하는 것이 좋습니다 AWS. 기존 온프레미스 설치는 일반적으로 공유 스토리지 요구 사항을 충족하기 위해 스토리지 영역 네트워크(SAN)를 사용하지만 AWS에서 실행 가능한 옵션은 아닙니다. Amazon FSx for Windows File Server는의 SQL Server FCI에 권장되는 스토리지 솔루션 AWS이지만 다른에 클러스터 서버를 추가하지 못하게 하는 제한 사항이 있습니다 AWS 리전.

[SIOS DataKeeper](https://aws.amazon.com/blogs/architecture/field-notes-implementing-ha-and-dr-for-microsoft-sql-server-using-always-on-failover-cluster-instance-and-sios-datakeeper/)를 사용하여 가용 영역과 리전을 모두 포함하는 SQL Server FCI를 생성하는 동시에 비용을 58\$171% 절감할 수 있습니다. SIOS DataKeeper는 FCI의 고가용성 이점을 달성하는 데 도움이 될 수 있습니다. 따라서 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\$175% 절감됩니다. SIOS DataKeeper를 사용하면 조직의 요구 사항을 충족하는 고가용성의 유연하고 비용 효율적인 SQL Server 환경을 생성할 수 있습니다.

**참고**  
SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 [SQL Server 에디션 비교](sql-server-editions.md) 섹션을 참조하세요.

다음 다이어그램에서는 클러스터링된 가상 SAN 솔루션을 사용하는 SQL Server FCI의 아키텍처 예제를 보여줍니다.



![\[클러스터링된 가상 SAN 솔루션을 사용하는 SQL Server FCI.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/clustered_vsan_arch.png)


## Always On 가용성 그룹
<a name="sql-server-alwayson-avail-groups"></a>

고가용성 및 재해 복구 모두를 위해 Always On 가용성 그룹을 사용할 수 있습니다. 한 리전의 두 가용 영역에 SQL Server를 배포하여 고가용성을 달성할 수 있습니다. 여러 리전에서 가용성 그룹을 확장하여 재해 복구를 달성할 수 있습니다.

다음 다이어그램에서는 Always On 가용성 그룹을 기반으로 하는 솔루션의 아키텍처 예제를 보여줍니다. 다이어그램에서 리전 1에 있는 복제본은 가용성 그룹의 자동 장애 조치를 제공하는 동기 커밋을 사용합니다. 리전 2의 복제본은 가용성 그룹의 수동 장애 조치가 필요한 비동기 커밋을 사용합니다.



![\[Always On 가용성 그룹 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/alwayson_ag_arch.png)


## 분산 가용성 그룹
<a name="sql-server-distributed-avail-groups"></a>

신뢰성 또는 재해 복구를 위태롭게 할 수 없는 미션 크리티컬 SQL Server 배포의 경우 다중 리전 접근 방식을 사용하는 것이 좋습니다. 여러 리전에 걸쳐 가용성 그룹을 배포하는 방법은 비즈니스 연속성을 유지하고 가동 중지 시간을 최소화하기 위한 가장 복원력이 뛰어난 솔루션입니다.

이 아키텍처는 공유 스토리지, 동기식 블록 수준 복제, SQL Server FCI 등 Amazon FSx for Windows File Server의 기능을 최대한 활용합니다. 이러한 기능을 사용하면 다중 가용 영역에 걸쳐 고가용성 SQL Server 환경을 생성할 수 있습니다. 다른 리전에서 이 설정을 복제하면 가장 심각한 중단도 처리할 수 있는 완전한 중복 시스템을 얻을 수 있습니다. 이 솔루션을 차별화하는 요소는 바로 유연성과 보안 수준입니다. 분산 가용성 그룹의 도메인 독립적 아키텍처를 사용하면 기본 Windows 클러스터 서버를 서로 다른 Active Directory 도메인에 조인할 수 있으며, 인증서 기반 인증은 SQL Server 환경을 최대한 보호하고 다중 리전 DR 전략에 대한 높은 RTO 및 RPO 요구 사항을 제공합니다. 다중 리전 아키텍처 구축에 대한 자세한 내용은 아키텍처 블로그의 [필드 노트: FCI 및 분산 가용성 그룹을 사용하여 SQL Server용 다중 리전 아키텍처 구축을 참조하세요](https://aws.amazon.com/blogs/architecture/field-notes-building-a-multi-region-architecture-for-sql-server-using-fci-and-distributed-availability-groups/). AWS 

다음 다이어그램에서는 분산 가용성 그룹을 사용하는 다중 리전 솔루션의 아키텍처 예제를 보여줍니다.



![\[다중 리전 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/multi_region_arch.png)


## 로그 전달
<a name="sql-server-log-shipping"></a>

로그 전송은 예상치 못한 중단이 발생한 경우 여러 리전에서 데이터베이스를 보호할 수 있는 검증되고 신뢰할 수 있으며 비용 효율적인 방법입니다. 조직은 수십 년 동안 로그 전송을 사용하여 데이터를 보호해 왔습니다.

로그 배송을 구현하면 트랜잭션 빈도와 로그 배송 작업에 따라 몇 분 안에 RPO 및 RTO를 달성할 AWS수 있습니다. 드물지만 리전에 액세스할 수 없게 되는 경우 로그 전송을 통해 데이터를 보안하고 복구할 수 있습니다.

로그 전송을 사용하면 다음과 같은 추가적인 이점을 고려합니다.
+ 여러 리전에서 재해 복구 복원력을 위해 로그 전송을 사용하여 비용을 절감하고 비즈니스 요구 사항을 충족합니다. 로그 전송에는 SQL Server Standard 에디션 또는 SQL Server Web 에디션 라이선스만 필요하므로 TCO가 줄어듭니다.
+ 활성 [소프트웨어 보증](https://download.microsoft.com/download/0/0/3/0039F316-45CF-4083-AA6E-C35DA9D25C1B/SA_InteractiveBenefitsChart.pdf)과 함께 로그 전송을 사용하여 재해 복구/패시브 서버에서 라이선스 비용을 제거합니다. 소프트웨어 보증에서 로그 전송을 사용하는 경우 기본/액티브 SQL Server만 라이선스를 구해야 합니다.
+ SQL Server Enterprise 에디션에서는 여러 리전 사이에서 분산 가용성 그룹을 설정할 필요가 없으므로 SQL Server 라이선스 비용을 65\$175% 절감합니다. 재해 복구 요구 사항을 충족하기 위해 로그 전송과 결합된 SQL Server Standard 에디션 및 SQL Server FCI를 사용하여 이를 수행할 수 있습니다.

**참고**  
SQL Server 에디션 간 비용 차이에 대한 자세한 내용은 이 가이드의 [SQL Server 에디션 비교](sql-server-editions.md) 섹션을 참조하세요.

자세한 내용은 AWS 아키텍처 블로그의 [Amazon FSx for Windows 구성에서 SQL Server FCI에 대한 로그 전송을 사용하여 SQL Server DR 확장](https://aws.amazon.com/blogs/architecture/extend-sql-server-dr-using-log-shipping-for-sql-server-fci-with-amazon-fsx-for-windows-configuration/)을 참조하세요.

다음 다이어그램에서는 로그 전송 솔루션의 아키텍처 예제를 보여줍니다.



![\[로그 전송 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/log_shipping_arch.png)


## AWS Database Migration Service
<a name="sql-server-aws-dms"></a>

 AWS Database Migration Service (AWS DMS)를 사용하여 애플리케이션 요구 사항에 따라 HA/DR 솔루션을 설계할 수 있습니다.를 AWS DMS 사용하면 데이터를 동일한 리전(HA) 또는 여러 리전(DR)의 보조 SQL Server 데이터베이스에 쉽게 복사할 수 있습니다. 이 접근 방식은 기술적으로 바람직하며 리소스 사용을 최적화하면서 AWS 인프라에 대한 투자를 극대화할 수 있습니다.

AWS DMS 는 비용 효율적인 서비스입니다. 추가 로그 스토리지 및 전송 프로세스 중에 사용된 CPU 리소스에 대해서만 요금이 부과됩니다. 즉, 상당한 추가 비용을 발생시키지 않고도 이 솔루션의 이점을 누릴 수 있습니다. AWS DMS 를 사용하여 데이터를 사용할 수 있고 액세스할 수 있는지 확인하는 동시에 라이선스 및 리소스 사용과 관련된 비용을 최소화할 수 있습니다.

다음 다이어그램에서는 AWS DMS기반 솔루션의 아키텍처 예제를 보여줍니다.



![\[AWS DMS 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/aws_dms_arch.png)


## AWS Elastic Disaster Recovery
<a name="sql-server-aws-edr"></a>

일부 조직은 모든 중요한 비즈니스 애플리케이션에 재해 복구 계획이 있는지 확인해야 합니다. 과거에는 이러한 조직 중 다수가 기존 재해 복구 솔루션에 많은 투자를 했기 때문에 전체 중복 인프라를 사전 빌드하고 유지 관리해야 했습니다. 이 접근 방식은 비용이 많이 들고 시간이 오래 걸리며 규모 조정이 어렵습니다.

이제 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를 기반으로 하는 솔루션의 아키텍처 예제를 보여줍니다.



![\[Elastic Disaster Recovery 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/aws_drs_arch.png)


자세한 내용은 AWS 블로그의 Microsoft 워크로드에서 [를 사용하여 복원된 DR 사이트에서 SQL Server의 고가용성을 설정하는 방법을 AWS Elastic Disaster Recovery](https://aws.amazon.com/blogs/modernizing-with-aws/set-up-high-availability-for-sql-server-at-dr-site-using-aws-elastic-disaster-recovery/) 참조하세요.

## 비용 비교
<a name="sql-server-cost-comparison"></a>

다음 표에서는 이 섹션에서 다루는 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 USDSIOS DataKeeper 및 소프트웨어 보증을 사용하는 SQL Server Standard 에디션에서 실행되는 2개 노드 SQL Server 클러스터: 61,530 USD(2개 노드) | 
| AWS DMS | 아니요 | 예 | 예 | 예 | r5.xlarge 인스턴스 및 1TB 스토리지의 경우 월별 745.38 USD | 

## 비용 최적화 권장 사항
<a name="sql-server-opt-rec"></a>

조직의 요구 사항을 충족하는 HA/DR 솔루션을 선택하려면 다음 단계를 수행하는 것이 좋습니다.
+ 이 가이드의 [SQL Server 워크로드에 적합한 EC2 인스턴스 선택](right-ec2-instance.md) 섹션을 검토하세요.
+ 피크 워크로드 중에 성능 카운터를 실행하여 워크로드의 IOPS 및 처리량 요구 사항을 결정합니다.
  + IOPS = 디스크 읽기/초 \$1 디스크 쓰기/초
  + 처리량 = 디스크 읽기 바이트/초 \$1 디스크 쓰기 바이트/초
+ 성능 향상 및 비용 절감을 위해 다음 스토리지 볼륨 유형을 사용합니다.
  + `tempdb` 및 버퍼 풀 확장을 위한 NVMe 인스턴스 스토리지
  + 데이터베이스 파일에 대한 io2 볼륨
+ Amazon EC2 기반 SQL Server에 대한 비용 최적화 권장 사항에 [AWS Trusted Advisor](https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor-check-reference.html)를 사용합니다. SQL Server 최적화 검사를 수행하기 Trusted Advisor 위해 용 에이전트를 설치할 필요가 없습니다.는 가상 CPUs(vCPUs), 버전 및 에디션과 같은 Amazon EC2 SQL Server 라이선스 포함 인스턴스 구성을 Trusted Advisor 검사합니다. 그런 다음 모범 사례를 기반으로 추천을 Trusted Advisor 합니다.
+ Amazon EC2 인스턴스와 Amazon EBS 올바른 크기 조정 권장 사항에 모두 AWS Compute Optimizer 사용합니다.
+ [AWS Pricing Calculator](https://calculator.aws/#/)를 사용하여 비용 추정을 위한 HA/DR 전략을 설계합니다.
+ SQL Server Enterprise 에디션에서 SQL Server Standard 에디션으로 다운그레이드가 가능한 옵션인지 확인하려면 [sys dm\$1db\$1persisted\$1sku\$1features](https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-persisted-sku-features-transact-sql?view=sql-server-ver16) 동적 관리 보기를 사용하여 현재 데이터베이스에서 활성 상태인 에디션별 기능을 식별합니다.
**참고**  
라이선스 포함 EC2 인스턴스를 사용할 때 SQL Server 에디션을 변경하려면 함께 마이그레이션해야 합니다.
+ 정의된 RTO 및 RPO로 데이터베이스를 복구할 수 있는 설계를 더 잘 설계하기 위해 반년 또는 연간 재해 복구 훈련을 수행합니다. 또한 아키텍처 약점을 식별하는 데 도움이 될 수 있습니다.

## 추가 리소스
<a name="sql-server-resources"></a>
+ [Amazon FSx for Windows File Server를 사용하여 Microsoft SQL Server 고가용성 배포 간소화](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server)(AWS 스토리지 블로그)
+ [필드 노트: FCI 및 분산 가용성 그룹을 사용하여 SQL Server용 다중 리전 아키텍처 구축](https://aws.amazon.com/blogs/architecture/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](https://aws.amazon.com/blogs/database/part-1-architect-a-disaster-recovery-for-sql-server-on-aws/)(AWS 데이터베이스 블로그)
+ [Microsoft SQL high availability with Amazon FSx for Windows](https://www.youtube.com/watch?v=8dsRkVLy0Nc)(YouTube)
+ [Maximizing Microsoft SQL Server Performance with Amazon EBS](https://aws.amazon.com/blogs/storage/maximizing-microsoft-sql-server-performance-with-amazon-ebs/)(AWS 스토리지 블로그)
+ [온프레미스 스토리지 패턴과 AWS 스토리지 서비스 비교](https://aws.amazon.com/blogs/storage/comparing-your-on-premises-storage-patterns-with-aws-storage-services/)(AWS 스토리지 블로그)
+ [데이터 센터 NAS를 Amazon FSx File Gateway로 대체할 계획](https://aws.amazon.com/blogs/storage/planning-to-replace-a-data-center-nas-with-amazon-fsx-file-gateway/)(AWS 스토리지 블로그)
+ [의 고가용성 SQL Server 배포 비용 최적화 AWS](https://aws.amazon.com/blogs/storage/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](https://aws.amazon.com/blogs/modernizing-with-aws/how-to-set-up-disaster-recovery-for-sql-server-always-on-availability-groups-using-aws-elastic-disaster-recovery/)( AWS기반 Microsoft 워크로드)
+ [를 사용하여 복원된 DR 사이트에서 SQL Server의 고가용성을 설정하는 방법 AWS Elastic Disaster Recovery](https://aws.amazon.com/blogs/modernizing-with-aws/set-up-high-availability-for-sql-server-at-dr-site-using-aws-elastic-disaster-recovery/)(Microsoft Workloads on AWS)

# SQL Server 라이선스 이해
<a name="sql-server-licensing"></a>

## 개요
<a name="sql-server-licensing-overview"></a>

더 많은 기업이 워크로드를 클라우드로 이전함에 따라 클라우드 플랫폼에서 비용 최적화가 최고 우선순위가 되었습니다. 라이선싱은 Microsoft 워크로드 실행과 관련된 가장 중요한 비용 중 하나입니다 AWS. 이 섹션에서는 SQL Server용 Microsoft 라이선스를 최적화 AWS 하여의 비용을 최적화하는 방법을 설명합니다.

## AWS 라이선스 옵션
<a name="sql-server-aws-licensing-options"></a>

AWS 는 라이선스를 위한 다양한 유연한 비용 최적화 옵션을 제공합니다. 이러한 라이선스 옵션은 비용을 절감하고 규정 준수를 유지하며 비즈니스 요구 사항을 충족하는 데 도움이 되도록 설계되었습니다.



![\[라이선스 구매 또는 가져오기와 같은 라이선스 옵션을 검토합니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/aws_licensing_options.png)


AWS 는 라이선스를 세 가지 주요 유형으로 분류합니다.

1. **라이선스 포함** - 이 라이선스 옵션을 사용하면 온디맨드로 라이선스를 구매 및 사용할 수 있으며 사용한 만큼만 비용을 지불할 수 있습니다. 라이선스 포함 옵션은 라이선스 사용에 유연성이 필요하고 선결제 비용을 피하려는 시나리오에 적합합니다. Windows Server, SQL Server 및 기타 Microsoft 제품 중에서 선택할 수 있습니다.

1. **라이선스 이동성이 있는 기존 라이선스 사용(BYOL) 제품** -이 라이선스 옵션은 기존 라이선스가 이미 있고 클라우드에서 사용하려는 시나리오를 위해 설계되었습니다.는 고객이 Microsoft의 [라이선스 이동](https://www.microsoft.com/en-us/licensing/licensing-programs/software-assurance-license-mobility) 프로그램을 통해 자체 라이선스를 클라우드로 가져올 수 있도록 AWS 허용합니다. SQL Server with Software Assurance(SA)와 같이 라이선스 이동성이 있는 제품을 공유 또는 전용 테넌시로 가져와 AWS 인스턴스 비용을 절감할 수 있습니다.

1. **라이선스 이동성이 없는 BYOL 제품** - Windows Server와 같이 라이선스 이동성이 없는 Microsoft 제품의 경우 클라우드에서 이러한 제품을 사용할 수 있는 전용 옵션을 AWS 제공합니다. 또한 전용 호스트는 물리적 코어 수준에서 라이선스를 부여할 기회를 제공합니다. 그러면 워크로드를 실행하는 데 필요한 라이선스를 50% 이상 절약할 수 있습니다. 전용 호스트는 대부분의 시간에 실행 중인 안정적이고 예측 가능한 워크로드에 적합한 옵션입니다.

## 라이선스 가져오기로 인한 비용 영향
<a name="sql-server-cost-bringing-licenses"></a>

라이선스를 가져오면 AWS기반 Microsoft 워크로드를 실행하는 데 드는 비용에 상당한 영향을 미칠 수 있습니다. 자체 라이선스를 사용하는 경우 클라우드에서 실행되는 인스턴스에 추가 라이선스 비용을 지불할 필요가 없습니다. 이로 인해 상당한 비용 절감이 발생할 수 있습니다.

다음 비교는 연중무휴 단일 c5.xlarge 인스턴스를 실행하는 온디맨드 월별 비용을 보여줍니다.
+ Windows Server \$1 SQL Server Enterprise 에디션: 월별 1,353 USD(라이선스 포함)
+ Windows Server \$1 SQL Server Standard 에디션: 월별 609 USD(라이선스 포함)
+ Windows Server만 해당: 월별 259 USD(라이선스 포함)
+ 컴퓨팅 전용(Linux): 월별 127 USD

궁극적으로 자체 라이선스를 가져오면 AWS기반 Microsoft 워크로드를 실행하는 데 드는 비용에 상당한 영향을 미칠 수 있습니다. 기존 라이선스를 사용하는 경우 라이선스 비용을 절감하고 전체 AWS 청구서 비용을 절감할 수 있습니다.

## 라이선스 최적화
<a name="sql-server-license-optimization"></a>

 AWS 최적화 및 라이선스 평가(AWS OLA)는 컴퓨팅 및 라이선스 비용을 줄여 라이선스를 최적화하는 데 도움이 될 수 있습니다. AWS OLA는에서 실행되는 워크로드 AWS 또는 마이그레이션이 계획된 워크로드에 대한 라이선스 요구 사항을 평가하도록 설계되었습니다. AWS OLA는 라이선스 사용 최적화에 대한 권장 사항을 제공합니다.

라이선스 사용을 최적화하기 위한 주요 전략 중 하나는 [인스턴스의 적정 규모 조정](rightsize.md)입니다. 적정 규모로 조정하려면 CPU, 메모리 및 스토리지 요구 사항에 따라 워크로드에 올바른 인스턴스 유형을 선택해야 합니다. 적절한 인스턴스 크기를 선택하면 비용 효율적인 방식으로 리소스를 사용하고 있는지 확인할 수 있습니다. 이로 인해 상당한 비용 절감이 발생할 수 있습니다.

Microsoft 소프트웨어 라이선스를 사용하는 경우 소프트웨어가 실행되는 코어 수가 라이선스 비용을 결정하는 데 중요한 요소입니다. 예를 들어 Windows Server 및 SQL Server 라이선스는 일반적으로 코어 수에 따라 라이선스가 부여됩니다. 인스턴스를 적정 규모로 조정하면 Microsoft 소프트웨어가 실행되는 코어 수를 줄이고 인스턴스 비용과 필요한 라이선스 수를 모두 줄일 수 있습니다.

## 비용 최적화 권장 사항
<a name="sql-server-lic-opt-rec"></a>

라이선스 최적화는 AWS에서 비용 최적화의 핵심 구성 요소입니다. 올바른 전략을 구현하면 라이선스 비용을 줄이고, 규정 준수를 유지하며, 라이선스 투자에서 가능한 최상의 가치를 얻을 수 있습니다. 이 섹션에서는 라이선스 최적화를 위한 몇 가지 전략을 간략하게 설명합니다.

### 적격한 Windows Server 라이선스 사용
<a name="sql-server-rec-byol-windows"></a>

자체 Windows Server 라이선스를 가져오는 방법은 라이선스 최적화를 위한 가장 효과적인 전략 중 하나입니다. 이 전략을 사용하면 기존 투자를 활용하여 AWS 지출을 줄일 수 있습니다.

예를 들어 2019년 10월 1일 이전에 라이선스를 구매했거나 해당 날짜 이전에 서명된 활성 엔터프라이즈 계약에 따라 라이선스를 트루업으로 구매한 경우 [Amazon EC2 전용 호스트](https://aws.amazon.com/ec2/dedicated-hosts/)에 Windows Server 2019 이하 버전을 배포할 수 있습니다. 이 규칙은 Microsoft가 2019년에 [나열된 공급자](https://www.microsoft.com/licensing/docs/view/Listed-Providers)(예: Alibaba AWS또는 Google Cloud)에 배포할 때 Windows Server와 같이 License Mobility가 없는 제품의 라이선스 이용 약관을 변경한 것을 기반으로 합니다. 새 약관에 따라 자체 Windows Server 라이선스를 로 가져올 수 AWS 없지만 대신 라이선스 포함 인스턴스를 사용해야 합니다. 그러나 해당 날짜 이전에 영구 라이선스를 구매한 경우에도 Amazon EC2 전용 호스트에 해당 Windows Server 라이선스를 배포할 수 있습니다.

### 물리적 수준의 라이선스
<a name="sql-server-rec-physical"></a>

물리적 코어 수준에서 라이선스를 부여하면 호스트의 물리적 코어만 라이선스를 부여할 수 있으므로 필요한 라이선스 수에 영향을 주지 않고 최대 인스턴스 수를 배포할 수 있습니다. 일반적으로 Windows Server Datacenter 및 SQL Server Enterprise 에디션을 사용하여 수행됩니다.

예를 들어 코어가 48개인 R5 전용 호스트를 고려합니다. 이는 96개의 vCPU에 해당됩니다. Windows Server Datacenter 에디션을 사용하는 경우 라이선스가 48개만 필요합니다. 그러면 다음 다이어그램과 같이 최대 96개의 vCPU가 있는 인스턴스 조합을 배포할 수 있습니다.

![\[물리적 수준의 라이선스\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/r5_dh_licenses.png)


이 접근 방식은 특히 호스트에서 실행할 수 있는 인스턴스 수를 최대화할 수 있는 워크로드가 충분한 경우 비용 효율적일 수 있습니다. 물리적 코어 수준에서 라이선스를 부여하면 각 인스턴스에 대한 추가 라이선스 비용을 피하고 라이선스 투자에 대해 가능한 최상의 가치를 얻을 수 있습니다.

### SQL Server에 대한 물리적 코어 수준의 라이선스
<a name="sql-server-rec-physical-core"></a>

공유 테넌시에서 SQL Server 라이선스는 인스턴스에 할당된 vCPU 수를 기반으로 합니다. 반면 전용 호스트를 사용하면 물리적 코어 수준 또는 vCPU 수준에서 SQL Server Enterprise 에디션에 라이선스를 부여할 수 있습니다.

R5 전용 호스트를 사용한 이전 예제와 마찬가지로 물리적 코어 수준에서 SQL Server Enterprise 에디션에 라이선스를 부여하는 경우 호스트에 라이선스를 부여하려면 48개의 SQL Server Enterprise 에디션 라이선스만 있으면 됩니다. 반대로 vCPU로 라이선스를 부여하는 것이 유일한 옵션인 공유 테넌시에서는 동일한 워크로드에 대해 96개의 SQL Server Enterprise 에디션 라이선스가 있어야 합니다. 따라서 전용 호스트는 공유 테넌시에 비해 SQL Server 라이선스 비용을 최대 50% 절감할 수 있습니다. 적격한 Windows 라이선스를 가져와 인스턴스 비용을 절감하는 것 외에도 비용을 절감합니다.

### SQL Server 인스턴스 통합
<a name="sql-server-rec-consolidate-instances"></a>

[SQL Server 통합](consolidate-instances.md)은 여러 SQL Server 인스턴스를 하나의 서버로 결합하는 프로세스입니다. 인스턴스에 vCPU가 2개뿐인 경우에도 SQL Server에는 인스턴스당 최소 4개의 코어 라이선스가 필요합니다. 즉, 코어가 4개 미만인 서버에서 SQL Server를 실행하면 이러한 인스턴스에서 라이선스를 과도하게 부여하고 필요한 것보다 더 많은 라이선스를 사용할 수 있습니다.

![\[SQL Server 통합\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/sql_server_consolidation.png)


예를 들어 vCPU가 2개인 인스턴스 2개를 vCPU가 4개인 단일 인스턴스로 통합하면 라이선스 요구 사항이 50% 감소할 수 있습니다. 코어 라이선스가 8개가 아니라 4개만 필요하기 때문입니다.

통합에 대한 자세한 내용은 이 가이드의 [SQL Server 통합](consolidate-instances.md) 섹션을 참조하세요.

### SQL Server 에디션 다운그레이드
<a name="sql-server-rec-downgrade-editions"></a>

[SQL Server 에디션 변경](sql-server-editions.md)은 라이선스 사용을 최적화하고 비용을 절감하기 위한 주요 전략이 될 수 있습니다. SQL Server의 Enterprise 에디션은 Standard 에디션보다 비용이 많이 들기 때문에 다운그레이드를 통해 비용을 크게 절감할 수 있습니다.

투명한 데이터 암호화(TDE) 및 Always On 가용성 그룹은 SQL Server Enterprise 에디션에서 널리 사용되는 두 가지 기능입니다. 그러나 SQL Server Enterprise 에디션의 전체 기능 세트가 필요하지 않은 경우 이러한 기능에 대해 고려할 수 있는 비용 효율적인 대안이 있습니다. 예를 들어 SQL Server 2019부터 SQL Server Standard 에디션에서 TDE를 가져올 수 있습니다. Always On 가용성 그룹 대신 SQL Server Standard 에디션의 고가용성을 위해 FSx for Windows File Server의 공유 스토리지와 함께 장애 조치 클러스터링을 사용할 수 있습니다.

SQL Server Enterprise 에디션에서 SQL Server Standard 에디션으로 다운그레이드하면 라이선스 비용을 크게 줄일 수 있습니다. 자세한 내용은 AWS 스토리지 블로그의 게시물에서 [고가용성 SQL Server 배포 비용 최적화 AWS](https://aws.amazon.com/blogs/storage/optimizing-cost-for-your-high-availability-sql-server-deployments-on-aws/)를 참조하세요.

라이선스 비용을 줄이는 것 외에도 SQL Server 에디션을 다운그레이드하면 소프트웨어 보증 지출을 줄이고 향후 트루업을 방지하는 데 도움이 될 수 있습니다. 사용하지 않은 라이선스를 반환하면 추가 라이선스 비용을 피하고 라이선스 투자에서 가능한 최상의 가치를 얻을 수 있습니다.

SQL Server 워크로드를 신중하게 평가하고 비즈니스 요구 사항에 중요한 기능을 결정하는 것이 중요합니다. 자세한 내용은 AWS 권장 가이드의 [환경 평가를](https://docs.aws.amazon.com/prescriptive-guidance/latest/evaluate-downgrading-sql-server-edition/assess-environment.html) 참조하고 Microsoft SQL Server 데이터베이스가 SQL Server Enterprise 에디션별 기능을 사용하는지 여부를 확인하세요.

올바른 버전의 SQL Server를 선택하고 SQL Server Enterprise 에디션 기능에 대한 대안을 사용하면 규정 준수를 유지하고 비즈니스 요구 사항을 충족하면서 상당한 비용 절감을 달성할 수 있습니다. 다운그레이드 옵션에 대한 자세한 내용은 이 가이드의 [SQL Server 에디션 비교](sql-server-editions.md) 섹션을 참조하세요.

### 비프로덕션 환경에서 SQL Server Developer 에디션 사용
<a name="sql-server-rec-dev-edition"></a>

비프로덕션 환경에서는 온프레미스 환경에서 MSDN 구독을 사용하여 Enterprise 또는 Standard 에디션과 같은 라이선스 가능한 SQL Server 에디션을 배포할 수 있습니다. 그러나 MSDN 구독에는 라이선스 이동성이 없습니다. 따라서 로 마이그레이션하면 해당 라이선스를 가져올 AWS수 없습니다. 대신 SQL Server Developer 에디션을 사용해야 합니다.

SQL Server Developer 에디션은 무료로 사용할 수 있는 SQL Server의 전체 기능 에디션입니다. 이 에디션은 SQL Server 버전 2016 이상에서 사용할 수 있습니다. Microsoft 웹 사이트에서 다운로드할 수 있습니다. SQL Server Developer 에디션은 라이브 프로덕션 데이터에 연결되지 않는 한 개발, 테스트 및 스테이징과 같은 모든 비프로덕션 환경에서 사용하기 위한 것입니다.

비프로덕션 환경에서 SQL Server Developer 에디션을 사용하는 경우 추가 라이선스 비용을 피할 수 있습니다. 자세한 내용은 이 가이드의 [SQL Server Developer 에디션 평가](sql-server-dev.md) 섹션을 참조하세요.

### SQL Server 워크로드에 대한 CPU 최적화
<a name="sql-server-rec-cpu-sql"></a>

경우에 따라 RAM 또는 네트워킹 제한과 같은 다른 요인으로 인해 워크로드에 필요한 것보다 많은 CPU가 있는 인스턴스 유형을 선택해야 할 수 있습니다. 그러나는 이러한 상황에서 라이선스 비용을 최적화하는 데 도움이 되는 솔루션을 AWS 제공합니다.

SQL Server 코어 라이선스를 사용하는 대부분의 고객과 마찬가지로 EC2 인스턴스에서 하이퍼스레딩을 비활성화하거나 CPU를 꺼서 호스트에서 사용 가능한 CPU 수를 제한할 수 있습니다. 이 옵션을 사용하면 RAM과 같은 다른 인스턴스 기능을 활용하면서도 추가 라이선스 구매 비용을 절감할 수 있습니다.

예를 들어 워크로드에 128 GB의 메모리가 필요하지만 SQL Server 코어가 8개만 필요하기 때문에 r5.4xlarge 인스턴스를 배포하는 경우 활성 CPUs. 이렇게 하면 적극적으로 사용 중인 8개의 코어에 대해서만 라이선스를 부여하면 되므로 필요한 SQL Server 라이선스에 대해 50%를 절약할 수 있습니다.


****  

| 인스턴스 유형 | 총 vCPU | CPU 기능이 최적화된 활성 vCPU | SQL Server 라이선스 절감 | 
| --- | --- | --- | --- | 
| r5.4xlarge | 16 | 8 | 50% | 
| r5.12xlarge | 48 | 8 | 83% | 

CPU 최적화 기능은 Amazon EC2 시작 구성 중에 또는 기존 인스턴스를 수정하여 구성할 수 있습니다. BYOL 및 라이선스 포함 Amazon EC2 인스턴스 모두에 적용할 수도 있습니다. 이러한 유연성을 통해 CPU 크기를 워크로드 요구 사항에 맞게 조정하는 동시에 Windows Server 및 SQL Server 라이선스를 줄일 수 있습니다. 라이선스 포함 Amazon EC2 인스턴스CPUs를 줄이면 라이선스 비용을 즉시 절감할 수 있습니다.

인스턴스를 적정 규모로 조정하는 경우 워크로드에 가장 비용 효율적인 인스턴스 유형을 사용하고 있는지 확인할 수 있습니다. 는 새 인스턴스 유형을 AWS 도입하므로 이러한 새 인스턴스가 더 적은 코어로 워크로드 요구 사항을 충족할 수 있는지 평가하는 것이 중요합니다.

## 추가 리소스
<a name="additional-resources"></a>
+ [Amazon Web Services 및 Microsoft: 자주 묻는 질문](https://aws.amazon.com/windows/faq/)(AWS 문서)

# SQL Server 워크로드에 올바른 EC2 인스턴스 선택
<a name="right-ec2-instance"></a>

**중요**  
이 섹션을 읽기 전에 먼저 이 가이드의 [SQL Server 라이선스 이해](sql-server-licensing.md) 및 [Windows 워크로드에 올바른 인스턴스 유형 선택](right-size-selection.md) 섹션을 읽는 것이 좋습니다.

## 개요
<a name="right-ec2-instance-overview"></a>

Microsoft SQL Server는 15년 이상 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 실행되어 왔습니다. AWS 는 이러한 경험을 바탕으로 최소 사양에서 고성능 다중 리전 클러스터까지 실행되는 SQL Server 워크로드에 맞게 Amazon EC2 인스턴스를 개발하는 데 이를 사용했습니다.

SQL Server에 대한 올바른 EC2 인스턴스의 선택은 워크로드에 따라 크게 달라집니다. SQL Server의 라이선스 방식, 메모리 사용 방식, SQL Server 기능이 Amazon EC2 오퍼링과 부합되는 방식을 이해하면 애플리케이션에 가장 적합한 EC2 인스턴스로 결정할 수 있습니다.

이 섹션에서는 다양한 SQL Server 워크로드와 이를 특정 EC2 인스턴스와 페어링하여 라이선스 및 컴퓨팅 비용을 최소화하는 방법을 설명합니다.

## 비용 비교
<a name="right-ec2-instance-cost-comparison"></a>

Amazon EC2에서는 Windows Server 및 SQL Server 라이선스 사용 시 Bring Your Own License(BYOL) 또는 종량제를 지원할 수 있습니다. 종량제 라이선스의 경우 Windows Server 및 SQL Server 라이선스에 대한 라이선스 비용은 EC2 인스턴스의 시간당 비용으로 베이크됩니다. 예를 들어 요금이 다른 여러 AMI가 있을 수 있습니다. AMI 요금은 AMI가 실행되는 SQL Server 에디션에 따라 달라집니다.

Windows Server 및 SQL Server 요금은 항목별로 구분되지 않습니다. [AWS Pricing Calculator](https://calculator.aws/)와 같은 도구에서는 항목별 요금을 찾을 수 없습니다. 라이선스 포함 오퍼링의 다양한 조합을 선택하면 다음 표와 같이 라이선스 비용을 추론할 수 있습니다.


****  

| EC2 인스턴스 | AMI | 컴퓨팅 요금 | Windows 라이선스 요금 | SQL 라이선스 요금 | 총 가격 | 
| --- | --- | --- | --- | --- | --- | 
| r5.xlarge | Linux(컴퓨팅 요금) | 183.96 USD | - | - | 183.96 USD | 
| r5.xlarge | Linux \$1 SQL Developer | 183.96 USD | \$10 | \$10 | 183.96 USD | 
| r5.xlarge | Windows Server(LI) | 183.96 USD | 134.32 USD | - | 318.28 USD | 
| r5.xlarge | Windows \$1 SQL Developer | 183.96 USD | 134.32 USD | \$10 | 318.28 USD | 
| r5.xlarge | Windows \$1 SQL Web(LI) | 183.96 USD | 134.32 USD | 49.64 USD | 367.92 USD | 
| r5.xlarge | Windows \$1 SQL Standard(LI) | 183.96 USD | 134.32 USD | 350.4 USD | 668.68 USD | 
| r5.xlarge | Windows \$1 SQL Enterprise(LI) | 183.96 USD | 134.32 USD | 1,095 USD | \$11413.28 | 

**참고**  
위 표의 요금은 `us-east-1` 리전의 온디맨드 요금을 기준으로 합니다.

SQL Server를 실행하는 가장 비용 효율적인 방법은 상위 에디션의 기능이 필요할 때까지 하위 에디션을 유지하는 것입니다. 자세한 내용은 이 가이드의 [SQL Server 버전 비교](sql-server-editions.md) 섹션을 참조하세요. SQL Server Web Edition에서 SQL Server Standard Edition으로 업그레이드하는 것은 SQL Server 라이선스 비용의 7배 이상이며 Standard Edition에서 Enterprise Edition으로 전환하는 비용의 3배 이상입니다. 라이선스 비용의 차이는 고려해야 할 주요 요소이며 이 섹션의 나머지 부분에서 살펴봅니다.

## 비용 최적화 시나리오
<a name="right-ec2-instance-opt-scenario"></a>

배송 차량을 추적하는 한 분석 회사가 SQL Server 성능을 개선하고자 하는 예제 시나리오를 고려합니다. MACO 전문가가 회사의 성능 병목 현상을 검토한 후 회사는 x1e.2xlarge 인스턴스에서 x2iedn.xlarge 인스턴스로 전환합니다. 인스턴스 크기는 더 작지만 x2 인스턴스로의 개선은 버퍼 풀 확장을 사용하여 SQL Server 성능과 최적화를 개선합니다. 이를 통해 회사는 SQL Server Enterprise 에디션에서 SQL Server Standard 에디션으로 다운그레이드하고 SQL Server 라이선스를 8개 vCPU에서 4개의 vCPU로 줄었습니다.

최적화 전:


****  

| Server | EC2 인스턴스 | SQL Server 에디션 | 월별 비용 | 
| --- | --- | --- | --- | 
| ProdDB1 | x1e.2xlarge | 엔터프라이즈 | 3,918.64 USD | 
| ProdDB2 | x1e.2xlarge | 엔터프라이즈 | 3,918.64 USD | 
| 합계 |   |   | 7,837.28 USD | 

최적화 후:


****  

| Server | EC2 인스턴스 | SQL Server 에디션 | 월별 비용 | 
| --- | --- | --- | --- | 
| ProdDB1 | x2iedn.xlarge | 표준 | 1,215.00 USD | 
| ProdDB2 | x2iedn.xlarge | 표준 | 1,215.00 USD | 
| 합계 |   |   | 2,430.00 USD | 

x1e.2xlarge 인스턴스에서 x2iedn.xlarge 인스턴스로의 통합 변경을 통해 예시 고객은 프로덕션 데이터베이스 서버에서 매월 5,407 USD를 절감할 수 있었습니다. 이를 통해 워크로드의 총 비용이 69% 절감되었습니다.

**참고**  
위 표의 요금은 `us-east-1` 리전의 온디맨드 요금을 기준으로 합니다.

## 비용 최적화 권장 사항
<a name="right-ec2-instance-opt-rec"></a>

### 메모리 최적화 인스턴스
<a name="right-ec2-instance-memory-opt"></a>

SQL Server의 가장 중요한 측면 중 하나는 메모리에 대한 의존도를 이해하는 것입니다. SQL Server는 운영 체제에서 사용하지 않는 사용 가능한 모든 RAM을 사용하려고 시도합니다(기본 설치의 경우 최대 2TB). 성능상의 이유로 이를 수행합니다. 메모리에서 데이터 작업을 수행하는 경우 디스크에서 데이터를 지속적으로 가져와서 변경한 다음 디스크에 다시 써야 하는 방식보다 훨씬 더 효과적입니다. 대신 SQL Server는 연결된 데이터베이스에서 최대한 많은 데이터를 로드하려고 시도하고 해당 데이터를 RAM에 보관합니다. 데이터에 대한 변경은 메모리에서 수행되며 나중에 디스크로 하드닝됩니다.

**참고**  
SQL Server가 변경 사항을 작성하는 방법에 대한 자세한 설명은 Microsoft 설명서의 [Writing Pages](https://learn.microsoft.com/en-us/sql/relational-databases/writing-pages?view=sql-server-ver16)를 참조하세요.

SQL Server는 더 많은 양의 RAM에서 더 나은 성능을 제공하므로 일반적으로 [Amazon EC2 메모리 최적화](https://aws.amazon.com/ec2/instance-types/#Memory_Optimized) 인스턴스 유형으로 시작하는 것이 좋습니다. 메모리 최적화 인스턴스는 다재다능하며 여러 다양한 옵션을 제공합니다. R 패밀리는 vCPU 대 RAM 비율이 1:8이며 인텔 프로세서, AMD 프로세서, 향상된 네트워킹, 향상된 EBS 성능, 인스턴스 스토리지 및 향상된 프로세서 속도에 대한 옵션을 제공합니다. 메모리 사용량이 많은 워크로드의 경우 많은 동일한 옵션을 결합하고 vCPU 대 RAM 비율을 1:32로 확장하는 X 패밀리도 사용할 수 있습니다. 메모리 최적화 인스턴스의 다재다능함으로 모든 형태와 크기의 SQL Server 워크로드에 적용할 수 있습니다.

### 최소 리소스 미만의 워크로드(4개 미만의 vCPU)
<a name="min-resources-4"></a>

일부 사용 사례는 버스트 가능(T3) 인스턴스에서 잘 작동하지만 일반적으로 SQL Server 워크로드에는 버스트 가능 인스턴스를 사용하지 않는 것이 좋습니다. SQL Server에 대한 라이선스는 인스턴스에 할당된 vCPU 수를 기반으로 합니다. SQL Server가 하루 중 대부분 유휴 상태이고 버스트 크레딧을 획득하는 경우 완전히 활용하지 않는 SQL 라이선스에 대해 비용을 지불합니다. 또한 SQL Server의 최소 라이선스 요구 사항은 서버당 코어 4개입니다. 즉, 4개의 vCPU에 상당하는 컴퓨팅 성능이 필요하지 않은 SQL Server 워크로드가 있는 경우 사용하지 않는 SQL Server 라이선스 비용을 지불하게 됩니다. 이러한 시나리오에서는 더 큰 서버로 [여러 SQL Server 인스턴스를 통합](consolidate-instances.md)하는 것이 가장 좋습니다.

### 최소 리소스를 사용하는 워크로드(64GB 미만의 RAM)
<a name="min-resources-64"></a>

64GB RAM 미만의 많은 SQL Server 워크로드는 고성능 또는 고가용성의 우선순위를 지정하지 않습니다. 이러한 유형의 워크로드의 경우 애플리케이션에 Microsoft의 라이선스 제한 사항이 적용되는 경우 SQL Server Web 에디션이 적합할 수 있습니다.

**중요**  
SQL Server Web 에디션은 Microsoft의 라이선스 약관에 따라 사용 사례가 제한됩니다. SQL Server Web 에디션은 퍼블릭 및 인터넷으로 액세스 가능한 웹 페이지, 웹 사이트, 웹 애플리케이션 및 웹 서비스를 지원하는 데에만 사용할 수 있습니다. LOB(Line of Business) 애플리케이션(예: 고객 관계 관리, 전사적 자원 관리 및 기타 유사한 애플리케이션)을 지원하는 데는 사용할 수 없습니다.

SQL Server Web 에디션은 최대 32vCPU와 64GB RAM까지 확장되며 SQL Server Standard 에디션보다 86% 저렴합니다. 리소스가 적은 워크로드의 경우 인텔에 비해 컴퓨팅 가격이 10% 저렴한 r6a와 같은 AMD 메모리 최적화 인스턴스를 사용하는 것도 컴퓨팅 및 SQL 라이선스 비용을 최소화하는 좋은 방법입니다.

### 평균 리소스를 사용하는 워크로드(128GB 미만의 RAM)
<a name="avg-resources-128"></a>

SQL Server Standard 에디션은 최대 128GB RAM을 사용하는 대부분의 SQL Server 워크로드에 사용됩니다. SQL Server Standard 에디션은 SQL Server Enterprise 에디션보다 65\$175% 저렴하며 최대 48vCPU와 128GB RAM까지 스케일 업할 수 있습니다. 128GB RAM 제한은 일반적으로 48개의 vCPU 제한 이전에 도달하므로 SQL Server Enterprise 에디션으로 업그레이드하지 않으려는 대부분의 고객은 이 제한에 중점을 둡니다.

SQL Server에는 [버퍼 풀 확장](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/buffer-pool-extension?view=sql-server-ver16)이라는 기능이 있습니다. 이 기능을 사용하면 SQL Server가 디스크의 일부를 사용하여 RAM의 확장 역할을 할 수 있습니다. 버퍼 풀 확장은 [Amazon EC2 인스턴스 스토리지](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)에 사용되는 NVMe SSD와 같이 초고속 스토리지와 결합할 때 효과적입니다. 인스턴스 스토리지가 포함된 Amazon EC2 인스턴스의 인스턴스 이름은 'd'로 표시됩니다(예: r5d, r6id, x2iedn).

버퍼 풀 확장은 일반 RAM을 대체하지 않습니다. 그러나 128GB 초과 RAM이 필요한 경우 r6id.4xlarge 및 x2iedn.xlarge와 같은 EC2 인스턴스에서 버퍼 풀 확장을 사용하여 Enterprise 에디션 라이선스 업그레이드를 지연할 수 있습니다.

### 고성능 워크로드(128GB 초과 RAM)
<a name="high-per-workloads-128"></a>

고성능이 요구되는 SQL Server 워크로드는 많은 리소스에 의존하기 때문에 비용 최적화가 까다롭습니다. 그러나 EC2 인스턴스의 차이를 이해하면 잘못된 선택을 방지할 수 있습니다.

다음 표에는 다양한 메모리 최적화 EC2 인스턴스와 해당 성능 제한이 나와 있습니다.


****  

|   | r5b | r6idn | r7iz | x2iedn | x2iezn | 
| --- | --- | --- | --- | --- | --- | 
| 처리자 | 3.1GHz2세대 인텔 제온 프로세서 | 3.5GHz3세대 인텔 제온 프로세서 | 3.9GHz4세대 인텔 제온 스케일러블 프로세서 | 3.5GHz3세대 인텔 제온 프로세서 | 4.5GHz2세대 인텔 제온 프로세서 | 
| CPU:RAM 비율 | 1:8 | 1:8 | 1:8 | 1:32 | 1:32 | 
| 최대 vCPU | 96 | 128 | 128 | 128 | 48 | 
| 최대 RAM | 768GB | 1,024GB | 1,024GB | 4,096GB | 1,536GB | 
| 인스턴스 스토리지 | – | NVMe SSD(4 x 1,900GB) | – | NVMe SSD(2 x 1,900GB) | – | 
| io2 Block Express | 지원됨 | 지원됨 | 지원됨 | 지원됨 | – | 
| 최대 EBS IOPS | 260,000 | 350,000 | 160,000 | 260,000 | 80,000 | 
| 최대 EBS 처리량 | 60Gbps | 80Gbps | 40Gbps | 80Gbps | 19Gbps | 
| 최대 네트워크 대역폭 | 25Gbps | 200Gbps | 50Gbps | 100Gbps | 100Gbps | 

각 인스턴스는 서로 다른 용도로 사용됩니다. SQL Server 워크로드를 이해하면 가장 적합한 인스턴스 유형을 선택하는 데 도움이 될 수 있습니다.

속성에 대한 세부 정보:
+ **r5b** - r5b의 'b' 속성은 이 인스턴스 유형이 높은 EBS 성능에 초점을 맞추고 있음을 의미합니다. 5세대 메모리 최적화 인스턴스에서는 r5b가 선호되었습니다. 이는 io2 Block Express 볼륨을 활용하고 최대 스토리지 IOPS 260,000에 도달한 최초의 인스턴스 유형입니다. r5b 인스턴스 유형은 여전히 높은 EBS 성능 요구 사항에 대한 비용 효율적인 대안입니다.
+ **r6idn** - 6세대 메모리 최적화 인스턴스는 이전 세대에 비해 크게 개선되었습니다. r5b의 EBS 성능 향상은 r6idn으로 한 단계 더 나아가 최대 IOPS를 350,000으로 높입니다. 또한 r6idn에는 SQL Server 성능을 더욱 높이기 위해 tempdb 및 버퍼 풀 확장을 위한 인스턴스 저장소 볼륨이 있습니다.
+ **x2iedn** - x2iedn은 r6idn과 유사합니다. 비슷한 수준의 향상된 EBS, 향상된 네트워킹 및 NVMe SSD 인스턴스 스토리지를 제공하지만 메모리 워크로드가 높고 CPU 수가 더 적어 1:32의 vCPU 대 RAM 비율을 제공합니다(더 낮은 SQL Server 라이선스 비용).
+ **x2iezn** - x2iezn의 'z' 속성은 이 인스턴스 유형이 높은 프로세서 성능에 초점을 맞추고 있음을 의미합니다. Cascade Lake 프로세서의 전체 코어 터보 주파수는 최대 4.5GHz입니다. vCPU 수를 낮게 유지하려는 시나리오에서는 1:32의 vCPU 대 RAM 비율로 이 EC2 인스턴스를 사용하는 것이 좋습니다. 따라서 SQL Server 라이선스 비용을 낮게 유지할 수 있습니다.
+ **r7iz** – r7iz의 'z' 속성은 이 인스턴스 유형이 높은 프로세서 성능에 초점을 맞추고 있음을 의미합니다. Sapphire Rapids 프로세서의 전체 코어 터보 주파수는 최대 3.9GHz입니다. x2iezn 인스턴스와 마찬가지로 r7iz는 높은 주파수의 프로세서 성능을 우선시하지만 vCPU 대 RAM 비율은 1:8입니다.

## 추가 리소스
<a name="right-ec2-instance-resources"></a>
+ [범용 Amazon EC2 인스턴스](https://aws.amazon.com/ec2/instance-types/)(AWS 문서)
+ [Comparison tool](https://instances.vantage.sh/)(Vantage)
+ [라이선스 - SQL Server](https://aws.amazon.com/windows/faq/#licensing-sql)(AWS 문서)

# 인스턴스 통합
<a name="consolidate-instances"></a>

이 섹션에서는 여러 SQL Server 인스턴스를 동일한 서버에 결합하여 라이선스 비용을 최소화하고 리소스 사용률을 극대화하는 비용 최적화 기술에 중점을 둡니다.

## 개요
<a name="consolidate-instances-overview"></a>

인스턴스 생성은 SQL Server 데이터베이스 엔진 설치 프로세스의 일부입니다. SQL Server 인스턴스는 자체 서버 파일, 보안 로그인 및 시스템 데이터베이스(마스터, 모델, msdb 및 tempdb)를 포함하는 완전한 설치입니다. 인스턴스에는 자체 파일과 서비스가 모두 있으므로 인스턴스가 서로 간섭하지 않으면서 동일한 운영 체제에 여러 SQL Server 인스턴스를 설치할 수 있습니다. 그러나 인스턴스는 모두 동일한 서버에 설치되므로 모두 컴퓨팅, 메모리 및 네트워킹과 같은 동일한 하드웨어 리소스를 공유합니다.

'사용 중'인 인스턴스가 공유 하드웨어 리소스를 과도하게 사용하지 않도록 프로덕션 환경에서 서버당 단일 SQL Server 인스턴스만 사용하는 것이 일반적입니다. 각 SQL Server 인스턴스에 자체 리소스를 갖춘 자체 운영 체제를 제공하는 방식이 리소스 거버넌스에 의존하는 것보다 더 나은 경계 방식입니다. 특히 대용량 RAM 및 CPU 리소스가 필요한 고성능 SQL Server 워크로드의 경우에 더 적합합니다.

그러나 모든 SQL Server 워크로드가 대량의 리소스를 사용하는 것은 아닙니다. 예를 들어 일부 조직에서는 규정 준수 또는 보안 목적으로 각 고객에게 전용 SQL Server 인스턴스를 할당합니다. 일반적으로 활성 상태가 아닌 클라이언트 또는 더 작은 클라이언트의 경우 최소한의 리소스로 SQL Server 인스턴스를 실행해야 합니다.

[Microsoft SQL Server 2019: Licensing guide](https://download.microsoft.com/download/e/2/9/e29a9331-965d-4faa-bd2e-7c1db7cd8348/SQL_Server_2019_Licensing_guide.pdf)에 명시된 대로 SQL Server를 실행하는 각 서버는 최소 4개의 CPU 라이선스를 고려해야 합니다. 즉, vCPU가 2개뿐인 서버를 실행하더라도 4개의 vCPU에 대해 SQL Server 라이선스를 부여해야 합니다. SQL Server Standard 에디션을 사용하는 경우 [Microsoft의 퍼블릭 SQL Server 요금](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing)에 따라 3,945 USD의 차이가 납니다. 최소한의 리소스를 사용하여 단일 SQL Server 인스턴스로 여러 서버를 실행하는 조직의 경우 사용하지 않는 리소스에 라이선스를 부여하는 데 드는 총 비용이 상당할 수 있습니다.

## 비용 최적화 시나리오
<a name="consolidate-instances-cost-opt-scenario"></a>

이 섹션에서는 각각 단일 SQL Server 인스턴스가 있는 4개의 Windows Server 서버를 실행하는 경우와 여러 SQL Server 인스턴스를 동시에 실행하는 하나의 대형 Windows Server 서버의 차이를 비교하는 예제 시나리오를 살펴봅니다.

각 SQL Server 인스턴스에 vCPU 2개와 8GB RAM만 필요한 경우 시간당 컴퓨팅 비용인 0.096 USD 외에 SQL Server 라이선스에 대한 서버당 총 비용은 7,890 USD입니다.


****  

| EC2 인스턴스 | vCPU | RAM | 가격 | 라이선스를 부여할 vCPU | 총 SQL Server 라이선스 비용 | 
| --- | --- | --- | --- | --- | --- | 
| m6i.large | 2 | 8 | 0.096 | 4 | 7,890 USD | 

이를 서버 4개로 확장하면 SQL Server 라이선스의 총 비용은 31,560 USD이고 시간당 컴퓨팅 비용은 0.384 USD입니다.


****  

| EC2 인스턴스 | vCPU | RAM | 가격 | 라이선스를 부여할 vCPU | 총 SQL Server 라이선스 비용 | 
| --- | --- | --- | --- | --- | --- | 
| m6i.large 4개 | 2 | 32 | 0.384 | 16 | 31,560 USD | 

4개의 SQL Server 인스턴스를 모두 단일 EC2 인스턴스에 결합하면 컴퓨팅 리소스와 컴퓨팅의 총 수치는 동일하게 유지됩니다. 그러나 불필요한 SQL Server 라이선스 비용을 제거하면 워크로드를 실행하는 데 드는 총 비용을 15,780 USD만큼 줄일 수 있습니다.


****  

| EC2 인스턴스 | vCPU | RAM | 가격 | 라이선스를 부여할 vCPU | 총 SQL Server 라이선스 비용 | 
| --- | --- | --- | --- | --- | --- | 
| m6i.2xlarge | 8 | 32 | 0.384 | 8 | 15,780 USD | 

**참고**  
이전 표에서 컴퓨팅 비용은 `us-east-1` 리전에서 Windows Server를 실행하는 Amazon EC2 서버의 시간당 온디맨드 요금을 보여줍니다. SQL Server Standard 에디션 라이선스 비용은 [Microsoft의 퍼블릭 SQL Server 요금](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing)을 참조합니다.

## 비용 최적화 권장 사항
<a name="consolidate-instances-cost-opt-rec"></a>

SQL Server 인스턴스 통합을 고려하는 경우 가장 큰 문제는 통합하려는 각 인스턴스의 리소스 소비입니다. 각 서버의 워크로드 패턴을 더 잘 이해하려면 장기간 성능 지표를 확보하는 것이 중요합니다. 리소스 소비 모니터링을 위한 몇 가지 일반적인 도구로 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-basic-detailed.html), [Windows 성능 모니터](https://techcommunity.microsoft.com/t5/ask-the-performance-team/windows-performance-monitor-overview/ba-p/375481)(perfmon) 및 SQL Server의 [기본 모니터링 도구](https://learn.microsoft.com/en-us/sql/relational-databases/performance/performance-monitoring-and-tuning-tools?view=sql-server-ver16)가 있습니다.

SQL Server 워크로드가 서로 간섭하지 않고 동일한 서버 리소스를 사용하도록 결합할 수 있는지를 분석할 때 다음 질문을 고려하는 것이 좋습니다.
+ 안정 상태에서 사용되는 리소스(CPU, 메모리 및 네트워크 대역폭)는 무엇인가요?
+ 스파이크 중에 사용되는 리소스(CPU, 메모리 및 네트워크 대역폭)는 무엇인가요?
+ 스파이크는 얼마나 자주 발생하나요? 스파이크가 일관되나요?
+ 한 서버의 리소스 스파이크가 다른 서버의 리소스 스파이크와 일치하나요?
+ SQL Server에서 사용하는 스토리지 IOPS 및 처리량은 얼마인가요?

SQL Server 인스턴스를 결합하려는 경우 AWS 클라우드 운영 및 마이그레이션 블로그의 [Run multiple instances of SQL Server on one Amazon EC2 instance](https://aws.amazon.com/blogs/mt/run-multiple-instances-sql-server-on-one-amazon-ec2-instance/) 게시물을 참조하세요. 이 게시물에서는 SQL Server에서 구성을 변경하여 인스턴스를 더 추가하는 방법에 대한 지침을 제공합니다. 시작하기 전에 동일한 서버에 여러 인스턴스가 설치될 때 생기는 사소한 차이를 고려합니다.
+ 기본 SQL Server 데이터베이스 인스턴스의 이름은 `MSSQLSERVER` 이며 포트 1433을 사용합니다.
+ 동일한 서버에 설치된 각 추가 인스턴스는 '명명'된 데이터베이스 인스턴스입니다.
+ 명명된 각 인스턴스에는 고유한 인스턴스 이름과 고유한 포트가 있습니다.
+ 명명된 인스턴스에 대한 트래픽을 조정하려면 [SQL Server Browser](https://learn.microsoft.com/en-us/sql/tools/configuration-manager/sql-server-browser-service?view=sql-server-ver16)를 실행해야 합니다.
+ 각 인스턴스는 데이터베이스 데이터 파일과 별도의 로그인에 대해 별도의 위치를 사용할 수 있습니다.
+ SQL Server [최대 서버 메모리 설정](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-ver16)은 각 인스턴스의 성능 요구 사항에 따라 구성해야 하며, 결합된 합계는 기본 운영 체제에 충분한 메모리를 남겨둡니다.
+ 마이그레이션 또는 통합을 위해 SQL Server 기본 [백업 및 복원](https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-and-restore-of-sql-server-databases?view=sql-server-ver16) 기능 또는 [AWS DMS](https://aws.amazon.com/blogs/database/consolidate-data-from-identical-sql-server-databases-into-a-single-amazon-rds-for-sql-server-database-using-aws-dms/)를 사용할 수 있습니다.

## 추가 리소스
<a name="consolidate-instances-resources"></a>
+ [SQL Server 라이선싱 데이터시트](https://download.microsoft.com/download/0/5/c/05c60185-ebdd-4472-895a-3d8e8da55682/SQL_Server_2019_Licensing_Datasheet.pdf)(AWS 클라우드 운영 및 마이그레이션 블로그)
+ [SQL Server 다중 인스턴스 설정 블로그 게시물](https://aws.amazon.com/blogs/mt/run-multiple-instances-sql-server-on-one-amazon-ec2-instance/)(AWS 클라우드 운영 및 마이그레이션 블로그)

# SQL Server 에디션 비교
<a name="sql-server-editions"></a>

## 개요
<a name="sql-server-editions-overview"></a>

Microsoft SQL Server 라이선스는 Windows 워크로드 환경에서 가장 큰 비용 중 하나입니다. SQL Server의 라이선스 비용은 워크로드를 실행하기 위한 컴퓨팅 비용 이상으로 쉽게 확장할 수 있습니다. 잘못된 에디션을 선택하면 사용하지 않거나 필요하지 않은 기능에 대한 비용을 지불할 수 있습니다. 이 섹션에서는 기능 및 상대적 비용을 포함하여 다음과 같은 SQL Server 에디션을 비교합니다.
+ **Enterprise** - SQL Server Enterprise 에디션은 고성능, 무제한 가상화 및 여러 비즈니스 인텔리전스(BI) 도구를 통해 데이터 센터 기능을 제공합니다.
+ **Standard** - SQL Server Standard 에디션은 소규모 조직 및 부서에 기본 데이터 관리 및 비즈니스 인텔리전스를 제공합니다.
+ **Web** - SQL Server Web 에디션은 웹 호스트 또는 웹 부가가치 제공업체(VAP)인 회사에 적합합니다. 이 에디션은 낮은 총 소유 비용을 제공하며 소규모 및 대규모 웹 속성을 위한 확장성 및 관리 기능을 제공합니다.
**중요**  
SQL Server Web 에디션은 퍼블릭 및 인터넷으로 액세스 가능한 웹 페이지, 웹 사이트, 웹 애플리케이션 및 웹 서비스를 지원하는 데에만 사용할 수 있습니다. SQL Server Web 에디션으로는 사업부 애플리케이션(예: 고객 관계 관리 또는 엔터프라이즈 리소스 관리 애플리케이션)을 지원할 수 없습니다.
+ **Developer** - SQL Server Developer 에디션에는 Enterprise 에디션의 모든 기능이 포함되어 있지만 개발 목적으로만 사용됩니다.
+ **Express** - SQL Server Express 에디션은 무료 데이터베이스이며 데스크톱 애플리케이션을 학습하거나 빌드하는 데 사용할 수 있습니다. Express 에디션을 다른 에디션으로 업데이트할 수 있습니다.

**참고**  
SQL Server Evaluation 에디션은 180일 평가판 기간에 사용할 수 있습니다.

## 비용 영향
<a name="sql-server-editions-cost-impact"></a>

Microsoft 리셀러로부터 SQL Server 라이선스를 구입하고 소프트웨어 보증을 통해 AWS 로 가져올 수 있습니다. 또는 라이선스 포함 Amazon EC2 AMI를 사용하는 종량제 모델에서 SQL Server 라이선스를 사용할 수 있습니다.

Microsoft 리셀러로부터 SQL Server 라이선스를 구매하는 경우 코어 라이선스는 2개 구성 팩으로 판매되며 서버당 최소 4개의 코어에 라이선스를 부여해야 합니다. 다음 표는 Enterprise 에디션과 Standard 에디션 간 비용 비교를 보여줍니다.


****  

| 버전 | SQL Server Enterprise 에디션(2개 코어 팩) | SQL Server Standard 에디션(2개 코어 팩) | 절감액 | 
| --- | --- | --- | --- | 
| 2022 | 15,123 USD | 3,945 USD | 74% | 
| 2019 | 13,748 USD | 3,586 USD | 74% | 

**참고**  
위 표의 요금은 [SQL Server 2022](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing) 및 [SQL Server 2019](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing)에 대한 Microsoft의 퍼블릭 요금을 기준으로 합니다.

다음 비용 비교에서는 라이선스 포함 Amazon EC2 AMI를 사용하여 여러 버전의 SQL Server를 호스팅하는 경우를 보여줍니다. 이 비교에서 SQL Server는 `us-east-1` 리전에서 r6i.xlarge(4 vCPU)에 호스팅됩니다.


****  

| Instance | 컴퓨팅 비용 | Windows 라이선스 비용 | SQL Server 라이선스 비용 | 합계 | 
| --- | --- | --- | --- | --- | 
| R6i.xlarge(Linux) | 183.96 USD | – | – | 183.96 USD | 
| R6i.xlarge \$1 Windows | 183.96 USD | 134.32 USD | – | 318.28 USD | 
| R6i.xlarge \$1 SQL Server Web 에디션 | 183.96 USD | 134.32 USD | 49.35 USD | 367.63 USD | 
| R6i.xlarge \$1 SQL Server Standard 에디션 | 183.96 USD | 134.32 USD | 350.4 USD | 668.68 USD | 
| R6i.xlarge \$1 SQL Enterprise 에디션 | 183.96 USD | 134.32 USD | 1,095 USD | 1,413.28 USD | 

워크로드에 올바른 SQL Server 에디션을 선택하면 SQL Server 라이선스 비용을 최대 95% 절감할 수 있습니다. 다음 표에서는 r6i.xlarge 인스턴스의 SQL Server 라이선스 비용을 비교합니다.


****  

| Edition | 절감 비율 | 
| --- | --- | 
| Enterprise와 비교한 Standard | 68% | 
| Standard와 비교한 Web | 86% | 
| Enterprise와 비교한 Web | 95% | 

대부분의 시나리오에서 조직은 Enterprise에서 Standard 에디션으로 전환하지만 Standard 또는 Enterprise 에디션에서 Web 에디션으로 전환할 수 있는 경우도 있습니다.

## 비용 최적화 권장 사항
<a name="sql-server-editions-opt-rec"></a>

규모 조정 제한, 고가용성, 성능 및 보안을 기반으로 워크로드에 가장 적합한 에디션을 선택할 수 있습니다. 다음 표에는 SQL Server 에디션에서 지원되는 기능이 나와 있습니다. 이를 통해 사용할 에디션을 결정하는 데 도움이 될 수 있습니다. 이 비교는 [SQL Server 2016 SP1 이상 버전](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2022?view=sql-server-ver16)에 적용됩니다.

### 규모 조정 제한
<a name="sql-server-editions-opt-rec-scaling"></a>

다음 표에서는 여러 SQL Server 에디션의 규모 조정 제한을 비교합니다.


****  

| 기능 | 엔터프라이즈 에디션 | 스탠다드 에디션 | Web 에디션 | Express 에디션 | 
| --- | --- | --- | --- | --- | 
| SQL Server Database Engine, SQL Server Analysis Services(SSAS) 또는 SQL Server Reporting Services(SSRS)의 단일 인스턴스에서 사용하는 최대 컴퓨팅 용량 | 운영 체제 최댓값 | 소켓 4개 또는 코어 24개 중 작은 값으로 제한됨 | 소켓 4개 또는 코어 16개 중 작은 값으로 제한됨 | 소켓 4개 또는 코어 4개 중 작은 값으로 제한됨 | 
| SQL Server Database Engine 인스턴스당 버퍼 풀의 최대 메모리 | 운영 체제 최댓값 | 128GB | 64GB | 1410MB | 
| SQL Server Database Engine 인스턴스당 버퍼 풀 확장의 최대 용량 | 구성된 최대 메모리의 32배 | 구성된 최대 메모리의 4배 | 해당 사항 없음 | 해당 사항 없음 | 
| 최대 관계형 데이터베이스 크기 | 524PB | 524PB | 524PB | 10GB | 
| Columnstore 캐시 또는 메모리 최적화 데이터의 최대 메모리 | 운영 체제 최댓값 | 32GB | 16 GB | 352MB | 

애플리케이션에 16개 미만의 코어(32개의 vCPU)와 64GB의 RAM이 필요한 경우 처음에 SQL Server Web 에디션으로 평가를 시작할 수 있습니다. 워크로드에 64GB를 초과하는 메모리 또는 기타 고가용성 옵션이 필요한 경우 SQL Server Standard 에디션으로 업그레이드해야 합니다.

SQL Server Web 에디션을 사용하여 퍼블릭 및 인터넷에 액세스할 수 있는 웹 페이지, 웹 사이트, 웹 애플리케이션 및 웹 서비스를 지원할 수 있지만 SQL Server Web 에디션으로는 비즈니스 애플리케이션을 지원할 수 없습니다. SQL Server Web 에디션의 사용 사례에 대한 자세한 내용은 [Microsoft 라이선스 지원](https://www.microsoft.com/licensing/docs/view/Licensing-Use-Rights) 또는 Microsoft 리셀러에게 문의하세요.

SQL Server Standard 에디션은 최대 24개의 코어(48개의 vCPU) 및 128GB 메모리 워크로드에 사용할 수 있습니다. 그러나 [버퍼 풀 확장](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/buffer-pool-extension?view=sql-server-ver16)을 사용하여 SQL Server Standard 에디션에서 r6id EC2 인스턴스에 있는 것과 같은 [로컬 인스턴스 스토리지](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)를 활용할 수 있습니다. 그러면 메모리가 최대 메모리 구성의 4배 크기까지 확장됩니다. 이러한 기능 조합은 메모리 요구 사항이 증가하기 시작할 때 서버를 Enterprise 에디션으로 업그레이드해야 하는 상황을 지연시킬 수 있습니다.

버퍼 풀 및 [페이지 수명 예상](https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-buffer-node?view=sql-server-ver16) 카운터에서 데이터베이스 페이지를 찾아 메모리 사용률을 식별할 수 있습니다. 페이지 수명 예상에서는 디스크로 다시 플러시되기 전에 페이지가 메모리에 있는 시간을 알려줍니다. 이 카운터 기본값은 300입니다. 페이지가 몇 시간 또는 며칠 동안 메모리에 있는 경우 할당된 메모리를 줄일 수 있습니다.

### 높은 가용성
<a name="sql-server-editions-opt-rec-avail"></a>

다음 표에서는 여러 SQL Server 에디션의 고가용성 기능을 비교합니다.


****  

| 기능 | 엔터프라이즈 에디션 | 스탠다드 에디션 | Web 에디션 | Express 에디션 | 
| --- | --- | --- | --- | --- | 
| 서버 코어 지원 1 | 예 | 예 | 예 | 예 | 
| 로그 전달 | 예 | 예 | 예 | 아니요 | 
| 데이터베이스 미러링 | 예 | 전체 안전 모드 | 감시자로만 | 감시자로만 | 
| 백업 압축 | 예 | 예 | 아니요 | 아니요 | 
| Always On 장애 조치 클러스터 인스턴스 | 노드 16개 | 노드 2개 | 아니요 | 아니요 | 
| Always On 가용성 그룹 | 동기식 보조 복제본 2개를 포함하여 최대 8개의 보조 복제본 | 아니요 | 아니요 | 아니요 | 
| 기본 가용성 그룹 | 아니요 | 노드 2개 | 아니요 | 아니요 | 
| 온라인 페이지 및 파일 복원 | 예 | 아니요 | 아니요 | 아니요 | 
| 온라인 인덱싱 | 예 | 아니요 | 아니요 | 아니요 | 
| 온라인 스키마 변경 | 예 | 아니요 | 아니요 | 아니요 | 
| 빠른 복구 | 예 | 아니요 | 아니요 | 아니요 | 
| 미러링된 백업 | 예 | 아니요 | 아니요 | 아니요 | 
| 핫 추가 메모리 및 CPU | 예 | 아니요 | 아니요 | 아니요 | 
| 암호화된 백업 | 예 | 예 | 아니요 | 아니요 | 
| Microsoft Azure로 하이브리드 백업(URL로 백업) | 예 | 예 | 아니요 | 아니요 | 
| 재해 복구를 위한 장애 조치 서버 | 예 | 예 | 아니요 | 아니요 | 
| 고가용성을 위한 장애 조치 서버 | 예 | 예 | 아니요 | 아니요 | 

### 기타 일반적인 기능
<a name="sql-server-editions-opt-rec-features"></a>

다음 표에서는 여러 SQL Server 에디션의 가장 일반적인 기능을 비교합니다. 포괄적인 기능 목록은 Microsoft 설명서의 [Editions and supported features of SQL Server 2019](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2019?view=sql-server-ver16)를 참조하세요.


****  

| 기능 | 엔터프라이즈 에디션 | 스탠다드 에디션 | Web 에디션 | Express 에디션 | 
| --- | --- | --- | --- | --- | 
| (성능) 리소스 거버너 | 예 | 아니요 | 아니요 | 아니요 | 
| (보안) 투명한 데이터베이스 암호화(TDE) | 예 | 예 | 아니요 | 아니요 | 
| (보안) 확장 가능한 키 관리(EKM) | 예 | 아니요 | 아니요 | 아니요 | 
| (복제) Oracle 게시 | 예 | 아니요 | 아니요 | 아니요 | 
| (복제) 피어 투 피어 트랜잭션 복제 | 예 | 아니요 | 아니요 | 아니요 | 
| 변경 데이터 캡처 | 예 | 예 | 아니요 | 아니요 | 

### SQL Server Developer 에디션
<a name="sql-server-editions-opt-rec-developer"></a>

개발, QA, 테스트, 스테이징 및 UAT 환경과 같은 모든 비프로덕션 워크로드는 SQL Server Developer 에디션을 사용하여 SQL Server 라이선스 비용을 100% 절감할 수 있습니다. [SQL Server를 다운로드](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)한 후 공유 테넌시를 사용하여 EC2 인스턴스에 SQL Server Developer 에디션을 설치할 수 있습니다. SQL Server Developer 에디션에는 전용 인프라가 필요하지 않습니다. 자세한 내용은 이 가이드의 [SQL Server Developer 에디션](sql-server-dev.md) 권장 사항을 참조하세요.

### 에디션 전환
<a name="sql-server-editions-opt-rec-switching"></a>

기존 워크로드의 경우 한 에디션에서 다른 에디션으로 전환하려면 광범위한 테스트가 필요합니다. Enterprise 또는 Standard 에디션에서 실행되는 워크로드를 확인하여 에디션별 기능이 사용되는지, 해당 기능에 대한 대체 솔루션이 있는지 확인하는 것이 모범 사례입니다. 예를 들어 데이터베이스가 Enterprise 수준의 기능을 사용하고 있는지 확인하려면 다음 명령 예제와 같이 모든 데이터베이스에서 [동적 관리 보기(DMV)](https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-persisted-sku-features-transact-sql?view=azuresqldb-current)를 실행할 수 있습니다.

`SELECT feature_name FROM sys.dm_db_persisted_sku_features; GO`

SQL 유지 관리 작업 중에 온라인 재인덱싱과 같이 T-SQL에서 캡처할 수 없는 일부 Enterprise 에디션 기능이 있습니다. 수동으로 확인해야 합니다.

### 마이그레이션 고려 사항
<a name="sql-server-editions-opt-rec-migration"></a>

SQL Server에 라이선스를 부여하는 방법에 따라 에디션 전환 옵션이 결정됩니다. SQL Server AMI를 포함한 AMI에는 EC2 인스턴스 요금에 라이선스 비용이 포함되며, 라이선스 비용은 AMI에 바인딩됩니다. [AWS 결제 코드](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html)를 사용하여 AMI에 포함된 SQL Server 버전을 확인할 수 있습니다. AWS 라이선스 포함 인스턴스의 경우 운영 체제 내에서 SQL Server 에디션을 변경해도 AMI와 연결된 청구는 변경되지 않습니다. SQL Server의 새 버전을 실행하는 AMI와 함께 데이터베이스를 새 EC2 인스턴스로 마이그레이션해야 합니다.

자체 라이선스를 가져오면 더 유연하게 사용할 수 있습니다. 일반적으로 새 버전을 실행하는 다른 EC2 인스턴스로 마이그레이션하는 것이 좋습니다. 그러면 계획대로 진행되지 않는 경우에도 쉽게 장애를 복구할 수 있습니다. 그러나 기존 서버를 사용해야 하는 경우에도 SQL Server를 함께 설치하고 인스턴스 간에 데이터베이스를 마이그레이션할 수 있습니다. 에디션 다운그레이드(공존)에 대한 자세한 단계는 MSSQLTips 웹 사이트의 [Edition Upgrade and Downgrade in SQL Server](https://www.mssqltips.com/sqlservertip/6686/edition-upgrade-and-downgrade-in-sql-server/)를 참조하세요.

## 추가 리소스
<a name="sql-server-editions-resources"></a>
+ [Editions and supported features of SQL Server 2022](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2022?view=sql-server-ver16)(Microsoft Learn)
+ [sys.dm\$1db\$1persisted\$1sku\$1features (Transact-SQL)](https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-persisted-sku-features-transact-sql?view=azuresqldb-current)(Microsoft Learn)
+ [Which Version of SQL Server Should You Use?](https://www.brentozar.com/archive/2019/01/which-version-of-sql-server-should-you-use/) (Brent Ozar Unlimited)
+ [AWS Pricing Calculator](https://calculator.aws/#/estimate?id=e138c18348afd3853a4874681c660bc1947ec5ca) (AWS)

# SQL Server Developer 에디션 평가
<a name="sql-server-dev"></a>

## 개요
<a name="sql-server-dev-overview"></a>

[SQL Server Developer 에디션](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)은 Enterprise 에디션의 모든 기능을 포함하고 비프로덕션 환경에서 사용할 수 있는 SQL Server의 무료 에디션입니다. Microsoft Developer Network(MSDN) 라이선스를 사용할 수 없는 클라우드에서 SQL Server Developer 에디션은 개발 및 테스트 워크로드에 라이선스를 제공할 필요 없이 비용을 절감할 수 있는 좋은 방법입니다. 대규모 개발 및 테스트 환경을 운영하고 불필요한 비용을 줄이려는 팀에 특히 적합합니다.

프로덕션 환경은 애플리케이션의 최종 사용자(예: 인터넷 웹 사이트)가 액세스하는 환경으로 정의되며, 해당 애플리케이션의 피드백 수집 또는 승인 테스트 이상의 용도로 사용됩니다. 프로덕션 환경을 구성하는 기타 시나리오는 다음과 같습니다.
+ 프로덕션 데이터베이스에 연결하는 환경
+ 프로덕션 환경에 대한 재해 복구 또는 백업을 지원하는 환경
+ 피크 활동 기간에 프로덕션으로 전환되는 서버와 같이 적어도 일정 기간 프로덕션에 사용되는 환경

라이선스에 대한 자세한 내용은 AWS 설명서의 [Amazon Web Services and Microsoft: Frequently Asked Questions](https://aws.amazon.com/windows/faq/)를 참조하세요.

## 비용 영향
<a name="sql-server-dev-cost-impact"></a>

비프로덕션 워크로드에 대해 SQL Server Developer 에디션을 사용하는 경우 개발 및 테스트 환경에 대한 현재 SQL Server 라이선스 비용을 100% 절감할 수 있습니다.


****  

| SQL Server 버전 | SQL Server Enterprise 에디션(2개 코어 팩) | SQL Server Standard 에디션(2개 코어 팩) | SQL Server Developer 에디션 | 
| --- | --- | --- | --- | 
| 2022 | 15,123 USD | 3,945 USD | 무료 | 
| 2019 | 13,748 USD | 3,586 USD | 무료 | 

**참고**  
위 표의 요금은 [SQL Server 2022](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing) 및 [SQL Server 2019](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing)에 대한 Microsoft의 퍼블릭 요금을 기준으로 합니다.

다음 표에서는 4개의 vCPU로 실행되고 `us-east-2` 리전에서 온디맨드 요금을 사용하는 여러 SQL Server 에디션의 비용을 비교합니다. 이는의 라이선스 포함 인스턴스에 의존하는 시나리오에 적용됩니다 AWS.


****  

| EC2 인스턴스 | AMI | 컴퓨팅 요금 | Windows 라이선스 요금 | SQL Server 라이선스 요금 | 총 가격 | 
| --- | --- | --- | --- | --- | --- | 
| r5.xlarge | Linux(컴퓨팅 요금) | 183.96 USD | – | – | 183.96 USD | 
| r5.xlarge | Linux \$1 SQL Server Developer 에디션 | 183.96 USD | \$10 | \$10 | 183.96 USD | 
| r5.xlarge | Windows Server(LI) | 183.96 USD | 134.32 USD | – | 318.28 USD | 
| r5.xlarge | Windows \$1 SQL Server Developer 에디션 | 183.96 USD | 134.32 USD | \$10 | 318.28 USD | 
| r5.xlarge | Windows \$1 SQL Server Web 에디션(LI) | 183.96 USD | 134.32 USD | 49.64 USD | 367.92 USD | 
| r5.xlarge | Windows \$1 SQL Server Standard 에디션(LI) | 183.96 USD | 134.32 USD | 350.4 USD | 668.68 USD | 
| r5.xlarge | Windows \$1 SQL Server Enterprise 에디션(LI) | 183.96 USD | 134.32 USD | 1,095 USD | \$11413.28 | 

### 비용 최적화 시나리오
<a name="sql-server-dev-opt-scenario"></a>

데이터 무결성 회사가 새 인수를 실시한 후 관리형 호스팅 제공업체의 현재 위치에서 새로 획득한 워크로드를 마이그레이션하여 AWS 클라우드의 다른 워크로드와 통합하려고 했습니다. 초기 요금에 따르면 회사의 SQL Server 워크로드는 현재 관리형 서비스 공급자 AWS 보다에서 60% 더 많이 실행됩니다. MACO SME는 추정치를 평가했고 고객이 관리형 호스팅 제공업체에서 개발 및 테스트 환경에 대한 SQL Server 라이선스 비용을 실제로 지불하고 있음을 발견했습니다. 회사는 마이그레이션 중에 비프로덕션 워크로드를 SQL Server Developer 에디션으로 전환하여 SQL Server 라이선스를 40% 줄였습니다.

### Amazon EC2에 포함된 SQL Server 라이선스
<a name="sql-server-dev-opt-scenario-li"></a>

[라이선스 포함 AMI](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/sql-server-on-ec2-amis.html)를 사용하는 EC2 기반 SQL Server 인스턴스가 있는 경우 Enterprise 에디션에서 Developer 에디션으로 직접 전환할 수 없습니다. 라이선스 포함 인스턴스의 라이선스 비용은 AMI에 바인딩됩니다. SQL Server가 운영 체제 내에서 제거되더라도 EC2 인스턴스에는 여전히 라이선스 비용이 청구됩니다.

Developer 에디션으로 전환하려면 [SQL Server Developer 에디션을 다운로드](https://download.microsoft.com/download/c/c/9/cc9c6797-383c-4b24-8920-dc057c1de9d3/SQL2022-SSEI-Dev.exe)하고 새 EC2 인스턴스에 설치한 다음 데이터베이스를 마이그레이션해야 합니다. 다양한 방법을 사용하여 EC2 인스턴스 사이에서 SQL Server 데이터베이스를 마이그레이션할 수 있습니다. 자세한 내용은 * AWS 클라우드로 Microsoft SQL Server 데이터베이스 마이그레이션* 가이드의 [SQL Server database migration methods](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/methods.html)를 참조하세요. 또한 [자동화된 SQL Server 개발자 솔루션](https://aws.amazon.com/blogs/modernizing-with-aws/automating-sql-server-developer-deployments/)을 사용하여 마이그레이션하려는 새 인스턴스를 준비할 수 있습니다.

### Amazon EC2 기반 SQL Server BYOL
<a name="sql-server-dev-opt-scenario-byol"></a>

BYOL을 사용하는 SQL Server 인스턴스가 있는 경우 다음과 같은 인플레이스 변환 또는 다운그레이드(공존) 옵션 중에서 선택할 수 있습니다.
+ Microsoft 웹 사이트에서 [SQL Server Developer 에디션](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)을 다운로드합니다. 수동 또는 자동화된 설치 지침은 AWS 블로그의 [Automating SQL Server Developer deployments](https://aws.amazon.com/blogs/modernizing-with-aws/automating-sql-server-developer-deployments/) 게시물을 참조하세요.
+ [SQL Server 네이티브 백업 및 복원](https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-and-restore-of-sql-server-databases?view=sql-server-ver16)을 사용하여 데이터베이스를 마이그레이션하거나 한 SQL 인스턴스에서 다른 SQL 인스턴스로 데이터베이스를 분리/연결합니다.
+ 대량 배포에 [자동화 도구](https://github.com/aws-samples/ssm-automation-deploy-sql-developer)를 사용합니다.

**참고**  
SQL Server Developer 에디션은 비프로덕션 환경 전용입니다.

## 추가 리소스
<a name="additional-resources"></a>
+ [EC2에 SQL Server Developer Edition을 배포하기 위한 SQL Server Developer 배포 자동화](https://aws.amazon.com/blogs/modernizing-with-aws/automating-sql-server-developer-deployments/)(AWS 블로그)
+ [SQL 2022 pricing](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing)(Microsoft)
+ [SQL 2019 요금](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing)(Microsoft)
+ [Licensing options](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/sql-server-on-ec2-licensing-options.html)(Amazon EC2 기반 SQL Server)
+ [AWS Pricing Calculator](https://calculator.aws/#/addService/ec2-enhancement)(Amazon EC2 기반 SQL Server 설명서)
+ [Microsoft SQL Server 2019 Licensing guide](https://download.microsoft.com/download/e/2/9/e29a9331-965d-4faa-bd2e-7c1db7cd8348/SQL_Server_2019_Licensing_guide.pdf)(Microsoft에서 다운로드)
+ [SQL Server 2022 Developer edition](https://download.microsoft.com/download/c/c/9/cc9c6797-383c-4b24-8920-dc057c1de9d3/SQL2022-SSEI-Dev.exe)(Microsoft에서 다운로드)

# Linux 기반 SQL Server 평가
<a name="sql-server-linux"></a>

## 개요
<a name="sql-server-linux-overview"></a>

SQL Server 2017부터 Linux 운영 체제에 SQL Server를 설치할 수 있습니다. Linux 기반 SQL Server는 엔터프라이즈에 바로 사용할 수 있으며 유연성, 고성능, 보안 기능, 저렴한 TCO, HA/DR 기능 및 우수한 사용자 경험을 제공합니다. Windows Server 기반 SQL Server에서 Linux 기반 SQL Server로 전환하여 Windows Server 라이선스 비용을 절감할 수 있습니다.

Linux의 경우 SQL Server를 Red Hat Enterprise Linux(RHEL), SUSE Linux Enterprise Server(SLES), Ubuntu 및 Amazon Linux 2에 배포할 수 있습니다. SQL Server 데이터베이스 엔진은 Windows Server 및 Linux 모두에서 동일한 방식으로 실행되지만 Linux를 사용할 경우 특정 태스크에 몇 가지 기본적인 변경 사항이 있습니다. Linux 및 Windows에서 SQL Server Always On 애플리케이션을 실행하는 경우의 한 가지 주요 차이는 장애 조치 클러스터링과 관련이 있습니다. Windows Server 호스트에 Always On 가용성 그룹을 배포하는 경우 [Windows Server 장애 조치 클러스터링(WSFC)](https://learn.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/windows-server-failover-clustering-wsfc-with-sql-server?view=sql-server-ver16) 및 Active Directory를 장애 조치 클러스터링을 지원하는 기본 제공 기능으로 활용할 수 있습니다. 그러나 Linux에서 장애 조치 클러스터링을 지원하는 데 WSFC와 Active Directory 모두 사용할 수 없습니다. Linux 기반 SQL Server에 대한 장애 조치 클러스터링을 시작하려면 [AWS Launch Wizard](https://aws.amazon.com/launchwizard/)를 통해 [ClusterLabs Pacemaker](https://aws.amazon.com/blogs/opensource/deploying-a-highly-available-microsoft-sql-server-on-linux-on-aws/)를 사용하여 Linux 인스턴스에서 클러스터 설정 및 SQL 설치를 단순화할 수 있습니다.

Windows 및 Linux 기반 SQL Server는 공통 코드베이스를 공유합니다. 즉, Linux에서 실행하기 위해 SQL Server 코어 엔진은 전혀 변경되지 않습니다. SQL Server는 다음 다이어그램과 같이 플랫폼 추상화 계층(SQLPAL)을 도입했습니다.

![\[Sequel Server Platform Abstraction Layer(SQLPAL)\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/sql_pal.png)


SQLPAL은 SQL Server와 기본 운영 체제 간 직접 호출 및 통신 추상화를 담당합니다. 호스트 확장은 단순히 네이티브 Linux 애플리케이션입니다. 하위 수준 운영 체제 함수는 I/O, 메모리 및 CPU 사용량을 최적화하기 위한 네이티브 직접 호출입니다. 호스트 확장이 시작되면 SQLPAL을 로드하고 초기화하여 SQL Server를 불러옵니다. SQLPAL은 나머지 코드에 필요한 변환을 제공하는 격리된 소프트웨어 프로세스를 시작합니다. SQL Server 아키텍처에 이 새 계층을 추가하면 운영 체제에 관계없이 Windows에서 SQL Server에 매우 강력한 성능을 부여하는 것과 동일한 엔터프라이즈 수준의 핵심 기능과 이점을 사용할 수 있습니다.

## 비용 영향
<a name="sql-server-linux-cost-impact"></a>

r5.2xlarge 인스턴스의 경우 Windows Server 라이선스 비용 절감은 각 시나리오에서 약 268 USD입니다. 더 저렴한 SQL Server 에디션을 사용할 때보다 총 서버 비용의 절감 비율이 더 높습니다. 다음 표에는 비용 절감이 나와 있습니다.


****  

| Instance | Edition | Windows 기반 SQL Server의 월별 비용 | Linux 기반 SQL Server의 월별 비용 | 절감액 | 
| --- | --- | --- | --- | --- | 
| r5.2xlarge | 웹 | 735 USD | \$1466 | 37% | 
| r5.2xlarge | 표준 | 1,337 USD | 1,068 USD | 20% | 
| r5.2xlarge | 엔터프라이즈 | 2,826 USD | 2,558 USD | 10% | 

**참고**  
이전 표의 요금 추정치는 `us-east-1` 리전의 온디맨드 요금을 기반으로 하며 [AWS Pricing Calculator](https://calculator.aws/#/estimate?id=fd37122637710aa7ba46d1949e8b6a15f68d3c0f)에서 직접 확인할 수 있습니다.

SMB 세그먼트의 ISV 고객이 개발 환경에서 비용을 절감하려는 시나리오 예제를 고려합니다. 고객은 이미 Windows 서버 세트에서 SQL Server Developer 에디션을 사용하고 있습니다. SQL Server Developer 에디션을 사용하는 Windows에서 SQL Server Developer 에디션을 사용하는 Linux로 전환하면 ISV 고객은 개발 워크로드에서 33% 절감 이점을 얻을 수 있습니다. 다음 표에는 이 시나리오에서 예상되는 다음과 같은 비용이 나와 있습니다.


****  

| Estimate | 월별 비용 | 
| --- | --- | 
| [Windows \$1 SQL Server](https://calculator.aws/#/estimate?id=da0a0f5f58ddf91aa3398af3a78691cfa2204673) | 9,307.72 USD | 
| [Linux \$1 SQL Server](https://calculator.aws/#/estimate?id=131966c579020eaec957f441c67e9aa0bfd32411) | 6,218.36 USD | 
| 예상되는 비용 절감 | 3,089.36 USD(33%) | 

또 다른 시나리오 예제에서 회사는 라이선스 포함 SQL Server EC2 인스턴스를 Windows에서 Linux로 마이그레이션합니다. 이 회사는 Windows Server 라이선스 비용으로 연간 총 300,000 USD를 절감하며, 이는 총 AWS 청구의 약 20%에 해당하는 수치입니다.

## 비용 최적화 권장 사항
<a name="sql-server-linux-optrec"></a>

다음을 고려하는 것이 좋습니다.
+ Linux 기반 SQL Server는 SQL Server 2017부터 지원됩니다.
+ 전환하기 위해 [Microsoft SQL Server 데이터베이스에 대해 Windows에서 Linux로 리플랫포밍 어시스턴트](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/replatform-sql-server.html)를 사용할 수 있습니다. 리플랫포밍 어시스턴트는 일반적인 비호환성을 확인하고, Windows 호스트에서 데이터베이스를 내보낸 다음 Ubuntu 16.04에서 Microsoft SQL Server 2017을 실행하는 EC2 인스턴스로 데이터베이스를 가져와 기존 SQL Server 워크로드를 Windows에서 Linux 운영 체제로 이동하는 데 도움을 줄 수 있는 스크립팅 도구입니다.
+ SQL Server의 [백업 및 복원](https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-and-restore-of-sql-server-databases?view=sql-server-ver16) 기능을 사용하여 Windows 기반 SQL Server에서 Linux 기반으로 전환할 수도 있습니다.
+ [AWS Launch Wizard](https://docs.aws.amazon.com/launchwizard/latest/userguide/what-is-launch-wizard.html)를 사용하여 Linux 또는 Ubuntu에서 SQL Server에 쉽고 빠르게 배포할 수 있습니다. Launch Wizard는 애플리케이션 요구 사항에 따라 독립 실행형 시나리오와 고가용성 시나리오 모두에서 Linux 또는 Ubuntu에 SQL Server를 배포할 수 있습니다. 자세한 내용은 AWS 블로그의 Microsoft 워크로드에서 [Linux 기반 SQL Server Always에 배포 AWS Launch Wizard](https://aws.amazon.com/blogs/modernizing-with-aws/deploy-microsoft-sql-server-always-on-to-linux-with-aws-launch-wizard/) 게시물을 참조하세요.

다음 다이어그램에서는 Microsoft SQL Server 데이터베이스에 대한 Windows에서 Linux로 리플랫포밍 어시스턴트를 사용하는 솔루션의 아키텍처를 보여줍니다.

![\[Windows에서 Linux로 리플랫포밍 어시스턴트 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/replatforming_assistant.png)


## 추가 리소스
<a name="sql-server-linux-resources"></a>
+ [Overview of SQL Server on Linux](https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-overview?view=sql-server-ver16)(Microsoft Learn)
+ [Installation guide for SQL Server on Linux](https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-setup?view=sql-server-ver16)(Microsoft Learn)
+ [를 사용하여 Linux에서 SQL Server Always에 배포 AWS Launch Wizard](https://aws.amazon.com/blogs/modernizing-with-aws/deploy-microsoft-sql-server-always-on-to-linux-with-aws-launch-wizard)( AWS 블로그의 Microsoft 워크로드)
+ [Linux 기반 고가용성 SQL Server](https://aws.amazon.com/blogs/opensource/deploying-a-highly-available-microsoft-sql-server-on-linux-on-aws/)(AWS 오픈 소스 블로그)

# SQL Server 백업 전략 최적화
<a name="sql-server-backup"></a>

## 개요
<a name="sql-server-backup-overview"></a>

많은 조직이 목표 복구 시점(RPO), 마지막 백업 이후 허용 가능한 최대 시간, 목표 복구 시간(RTO), 서비스 중단 및 서비스 복원 사이 허용 가능한 최대 지연 시간에 대한 현재 요구 사항을 충족하기 위해 [Amazo EC2](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-sql.html) 기반 SQL Server에서 데이터를 보호하는 올바른 솔루션을 찾고 있습니다. EC2 기반 SQL Server 인스턴스를 실행하는 경우 데이터 백업을 생성하고 복원하는 여러 옵션이 있습니다. SQL Server on Amazon EC2의 데이터를 보호하기 위한 백업 전략에는 다음이 포함됩니다.
+ Windows Volume Shadow Copy Service(VSS) 지원 [Amazon Elastic Block Store(Amazon EBS)](https://learn.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service) 스냅샷 또는 [AWS Backup](https://aws.amazon.com/backup/)을 사용한 서버 수준 백업
+ SQL Server에서 [네이티브 백업 및 복원](https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-and-restore-of-sql-server-databases)을 사용한 데이터베이스 수준 백업

[데이터베이스 수준의 네이티브 백업](https://docs.aws.amazon.com/prescriptive-guidance/latest/sql-server-managing-on-aws/database-level-backup.html)에 대해 다음과 같은 스토리지 옵션이 있습니다.
+ [Amazon EBS 볼륨](https://docs.aws.amazon.com/prescriptive-guidance/latest/sql-server-managing-on-aws/database-level-backup.html#ebs-volumes)을 사용한 로컬 백업
+ [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/prescriptive-guidance/latest/sql-server-managing-on-aws/database-level-backup.html#amazon-fsx) 또는 Amazon FSx for NetApp ONTAP을 사용한 네트워크 파일 시스템 백업
+ [AWS Storage Gateway](https://docs.aws.amazon.com/prescriptive-guidance/latest/sql-server-managing-on-aws/database-level-backup.html#storage-gateway)를 사용한 Amazon Simple Storage Service(Amazon S3)로 네트워크 백업
+ Amazon S3 for SQL Server 2022로 직접 백업

이 섹션에서는 다음을 수행합니다.
+ 스토리지 공간을 절약하는 데 도움이 되는 주요 기능 강조
+ 다양한 백엔드 스토리지 옵션 간 비용 비교
+ 이러한 권장 사항을 구현하는 데 도움이 되는 심층 설명서 링크 제공

## VSS 지원 EBS 스냅샷을 사용한 서버 수준 백업
<a name="sql-server-backup-vss"></a>

VSS 지원 스냅샷 아키텍처는 AWS Systems Manager [Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)를 사용하여 SQL Server 인스턴스에 VSS 에이전트를 설치합니다. 또한 Run Command를 사용하여 운영 체제 및 애플리케이션 버퍼를 디스크에 플러시하고, I/O 작업을 일시 중지하고, EBS 볼륨의 특정 시점 스냅샷을 생성한 다음, I/O를 재개하는 전체 워크플로를 간접적으로 호출할 수 있습니다.

이 Run Command는 대상 인스턴스에 연결된 모든 EBS 볼륨의 자동 스냅샷을 생성합니다. 사용자 데이터베이스 파일은 일반적으로 다른 볼륨에 저장되므로 루트 볼륨을 제외하는 옵션도 있습니다. 여러 EBS 볼륨을 스트라이핑하여 SQL Server 파일용 단일 파일 시스템을 생성하는 경우 Amazon EBS는 단일 API 명령을 사용하여 중단 일관성 다중 볼륨 스냅샷도 지원합니다. 애플리케이션 일치 [VSS 지원 EBS 스냅샷](https://aws.amazon.com/blogs/mt/take-microsoft-vss-enabled-snapshots-using-amazon-ec2-systems-manager/)에 대한 자세한 내용은 Amazon EC2 설명서의 [VSS 애플리케이션 일치 스냅샷 생성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/application-consistent-snapshots.html)을 참조하세요.

다음 다이어그램에서는 VSS 지원 스냅샷을 사용한 서버 수준 백업을 위한 아키텍처를 보여줍니다.



![\[VSS 지원 스냅샷 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/snapshots_backup_arch.png)


VSS 지원 스냅샷을 사용할 경우 다음과 같은 이점을 고려합니다.
+ DB 인스턴스의 첫 번째 스냅샷에는 전체 DB 인스턴스에 대한 데이터가 포함됩니다. 동일한 DB 인스턴스의 후속 스냅샷은 [증분식](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html#how_snapshots_work)이며, 마지막 스냅샷 이후 변경된 데이터만 저장됩니다.
+ EBS 스냅샷은 특정 시점 복구를 제공합니다.
+ [스냅샷에서 새 SQL Server EC2 인스턴스로 복원](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/restore.html)할 수 있습니다.
+ Amazon EBS를 사용하여 인스턴스를 암호화하거나 TDE를 사용하여 인스턴스에서 데이터베이스를 암호화한 경우 해당 인스턴스나 데이터베이스는 동일한 암호화로 자동 복원됩니다.
+ [자동화된 크로스 리전 백업](https://docs.aws.amazon.com/ebs/latest/userguide/event-policy.html)을 복사할 수 있습니다.
+ 스냅샷에서 EBS 볼륨을 복원하면 애플리케이션에서 해당 EBS 볼륨에 즉시 액세스할 수 있습니다. 즉, 스냅샷에서 하나 이상의 기본 EBS 볼륨을 복원한 후 SQL Server를 즉시 온라인 상태로 전환할 수 있습니다.
+ 기본적으로 복원된 볼륨은 애플리케이션이 처음 읽기를 시도할 때 Amazon S3에서 기본 블록을 가져옵니다. 이는 스냅샷에서 EBS 볼륨이 복원된 후 성능이 지연될 수 있음을 의미합니다. 볼륨은 결국 공칭 성능을 따라잡습니다. 그러나 [빠른 스냅샷 복원(FSR)](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html) 스냅샷을 사용하면 이러한 지연을 방지할 수 있습니다.
+ [EBS 스냅샷에 수명 주기 관리](https://aws.amazon.com/blogs/aws/new-lifecycle-management-for-amazon-ebs-snapshots/)를 사용할 수 있습니다.

VSS 지원 스냅샷을 사용할 경우 다음과 같은 제한 사항을 고려합니다.
+ SQL Server 인스턴스의 암호화된 스냅샷으로는 교차 리전 특정 시점 복구를 수행할 수 없습니다.
+ 암호화되지 않은 인스턴스의 암호화된 스냅샷은 생성할 수 없습니다.
+ 스냅샷은 EBS 볼륨 수준에서 만들어지므로 개별 데이터베이스를 복원할 수 없습니다.
+ 인스턴스 자체를 복원할 수 없습니다.
+ DB 인스턴스의 스냅샷은 DB 인스턴스와 동일한 AWS Key Management Service (AWS KMS) 키를 사용하여 암호화해야 합니다.
+ 스냅샷 백업 프로세스 중에는 스토리지 I/O가 1초 미만(약 10밀리초) 동안 일시 중지됩니다.

## 를 사용한 SQL Server 백업 AWS Backup
<a name="sql-server-backup-aws-backup"></a>

[AWS Backup](https://aws.amazon.com/backup/)를 사용하여 데이터 보호를 중앙 집중화하고 자동화할 수 있습니다 AWS 서비스.는 대규모로 데이터 보호를 간소화하는 비용 효율적인 완전 관리형 정책 기반 솔루션을 AWS Backup 제공합니다. AWS Backup 또한는 규정 준수 의무를 지원하고 비즈니스 연속성 목표를 달성하는 데 도움이 됩니다. 와 함께 데이터 보호(백업) 정책을 AWS Organizations AWS Backup 중앙에서 배포하여 조직의 AWS 계정 및 리소스에서 백업 활동을 구성, 관리 및 관리할 수 있습니다.

다음 다이어그램에서는 AWS Backup을 사용하는 EC2 기반 SQL Server에 대한 백업 및 복원 솔루션 아키텍처를 보여줍니다.

![\[AWS Backup 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/aws_backup_arch.png)


 AWS Backup을 사용하여 SQL Server를 백업할 경우 다음과 같은 이점을 고려합니다.
+ 백업 일정, 보존 관리 및 수명 주기 관리를 자동화할 수 있습니다.
+ 여러 계정 및에 걸쳐 조직 전체에서 백업 전략을 중앙 집중화할 수 있습니다 AWS 리전.
+  AWS 서비스에서 백업 활동과 알림 모니터링을 중앙 집중화할 수 있습니다.
+ 재해 복구 계획을 위해 크로스 리전 백업을 구현할 수 있습니다.
+ 크로스 계정 백업을 지원합니다.
+ 보조 백업 암호화로 보안 백업을 수행할 수 있습니다.
+ 모든 백업은 암호화 키를 사용하여 AWS KMS 암호화를 지원합니다.
+ 이 솔루션은 TDE와 함께 작동합니다.
+  AWS Backup 콘솔에서 특정 복구 지점으로 복원할 수 있습니다.
+ 모든 SQL Server 데이터베이스를 포함하는 전체 SQL Server 인스턴스를 백업할 수 있습니다.

## 데이터베이스 수준 백업
<a name="sql-server-backup-database"></a>

이러한 접근 방식은 네이티브 Microsoft SQL Server 백업 기능을 사용합니다. SQL Server 인스턴스에서 개별 데이터베이스를 백업하고 복원할 수 있습니다.

네이티브 SQL Server 백업 및 복원에 대한 이러한 각 옵션은 다음과 같은 기능도 지원합니다.
+ 압축 및 다중 파일 백업
+ 전체, 차등 및 T-로그 백업
+ TDE 암호화 데이터베이스

### Amazon S3로 SQL Server 네이티브 백업 및 복원
<a name="sql-server-backup-native-s3"></a>

Amazon EC2 기반 SQL Server는 SQL Server 데이터베이스에 대한 네이티브 백업 및 복원을 지원합니다. SQL Server 데이터베이스를 백업한 다음 기존 데이터베이스나 새 SQL Server EC2 인스턴스, Amazon RDS for SQL Server 또는 온프레미스 서버로 백업 파일을 복원할 수 있습니다.

Storage Gateway는 온프레미스 애플리케이션에 사실상 무제한의 클라우드 스토리지에 대한 액세스를 제공하는 하이브리드 클라우드 스토리지 서비스입니다. Storage Gateway를 사용하면 Microsoft SQL Server 데이터베이스를 Amazon S3에 직접 백업하여 온프레미스 스토리지 공간을 줄이고 Amazon S3를 사용하여 내구성, 확장성, 비용 효율성이 뛰어난 스토리지를 사용할 수 있습니다.

다음 다이어그램에서는 Store Gateway 및 Amazon S3를 사용하는 네이티브 백업 및 복원 솔루션의 아키텍처를 보여줍니다.

![\[Storage Gateway 및 Amazon S3 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/storage_gateway_backup_arch.png)


Store Gateway를 통한 네이티브 SQL Server 백업을 사용할 경우 다음과 같은 이점을 고려합니다.
+ 스토리지 게이트웨이를 EC2 인스턴스의 서버 메시지 블록(SMB) 파일 공유로 매핑하고 백업을 Amazon S3로 전송할 수 있습니다.
+ 백업은 S3 버킷에 직접 또는 Storage Gateway 파일 캐시를 통해 수행됩니다.
+ 다중 파일 백업이 지원됩니다.

Store Gateway를 사용한 네이티브 백업에서 다음과 같은 제한 사항을 고려합니다.
+ 각 개별 데이터베이스에 대해 백업 및 복원을 설정해야 합니다.
+ 백업 파일에 대한 [Amazon S3 수명 주기 정책](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)을 관리해야 합니다.

Store Gateway를 설정하는 방법에 대한 자세한 내용은 AWS 블로그의 [Store SQL Server backups in Amazon S3 using AWS Storage Gateway](https://aws.amazon.com/blogs/database/storing-sql-server-backups-in-amazon-s3-using-aws-storage-gateway/) 게시물을 참조하세요.

### EBS 볼륨에 대한 SQL Server 네이티브 백업
<a name="sql-server-backup-native-ebs"></a>

SQL Server 데이터베이스의 네이티브 백업을 수행하고 해당 파일을 Amazon EBS 볼륨에 저장할 수 있습니다. Amazon EBS는 고성능 블록 스토리지 서비스입니다. EBS 볼륨은 암호화를 지원하는 탄력적 요소입니다. EC2 인스턴스에 연결하고 분리할 수 있습니다. 동일한 EBS 볼륨 유형이나 다른 EBS 볼륨 유형에 EC2 인스턴스의 SQL Server를 백업할 수 있습니다. 다른 EBS 볼륨에 백업할 때의 이점 중 하나는 비용 절감입니다.

다음 다이어그램에서는 EBS 볼륨에 네이티브 백업의 아키텍처를 보여줍니다.



![\[Amazon EBS 볼륨 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/ebs_backup_arch.png)


EBS 볼륨으로의 SQL Server 네이티브 백업을 사용하는 경우 다음과 같은 이점을 고려합니다.
+ SQL Server EC2 인스턴스에서 개별 데이터베이스의 백업을 수행하고 전체 인스턴스를 복원하는 대신 개별 데이터베이스를 복원할 수 있습니다.
+ 다중 파일 백업이 지원됩니다.
+ SQL Server 에이전트와 SQL Server 작업 엔진을 사용하여 백업 작업을 예약할 수 있습니다.
+ 하드웨어 선택을 통해 성능상의 이점을 얻을 수 있습니다. 예를 들어, st1 스토리지 볼륨을 사용하여 처리량을 높일 수 있습니다.

EBS 볼륨으로의 네이티브 백업을 사용하는 경우 다음과 같은 제한 사항을 고려합니다.
+ EBS 볼륨에서 Amazon S3로 백업을 수동으로 이동해야 합니다.
+ 대규모 백업의 경우 EC2의 디스크 공간을 관리해야 합니다.
+ EC2 인스턴스에서는 Amazon EBS 처리량이 병목 현상을 일으킬 수 있습니다.
+ Amazon EBS에 백업을 저장하려면 추가 스토리지가 필요합니다.

### Amazon FSx for Windows File Server에 SQL Server 네이티브 백업
<a name="sql-server-backup-native-fsx"></a>

[Amazon FSx for Windows File Server](https://aws.amazon.com/fsx/windows/)는 빠르고 예측 가능하며 일관된 성능을 제공하도록 설계된 최대 64TB의 스토리지를 제공하는 완전 관리형 네이티브 Windows 파일 시스템입니다. AWS 는 FSx for Windows File Server에서 [다중 AZ 파일 시스템 배포에 대한 네이티브 지원을 도입했습니다](https://aws.amazon.com/blogs/aws/amazon-fsx-for-windows-file-server-update-new-enterprise-ready-features/). 네이티브 지원을 통해 다중 가용 영역에서 고가용성 및 중복성과 함께 Windows 파일 스토리지를 AWS 에 보다 쉽게 배포할 수 있습니다. 또한 AWS 에서는 [SMB 지속적 가용성(Continuously Available) 파일 공유](https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-fsx-for-windows-file-server-adds-support-for-high-availability-microsoft-sql-server-deployments/)에 대한 지원도 도입했습니다. FSx for Windows File Server를 SQL Server 데이터베이스의 백업 스토리지로 사용할 수 있습니다.

다음 다이어그램에서는 FSx for Windows File Server에 대한 기본 SQL Server 백업의 아키텍처를 보여줍니다.

![\[FSx for Windows File Server 백업 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/fsx_backup_arch.png)


FSx for Windows File Server로의 네이티브 SQL Server 백업을 사용하는 경우 다음과 같은 이점을 고려합니다.
+ Amazon FSx 파일 공유에 SQL Server 데이터베이스를 백업할 수 있습니다.
+ SQL Server 인스턴스에서 개별 데이터베이스의 백업을 수행하고 전체 인스턴스를 복원하는 대신 개별 데이터베이스를 복원할 수 있습니다.
+ 여러 부분으로 구성된 백업이 지원됩니다.
+ SQL Server 에이전트와 작업 엔진을 사용하여 백업 작업을 예약할 수 있습니다.
+ 인스턴스는 Amazon EBS에 비해 네트워크 대역폭이 더 높습니다.

FSx for Windows File Server로의 네이티브 SQL Server 백업을 사용하는 경우 다음과 같은 제한 사항을 고려합니다.
+  AWS Backup 또는를 사용하여 Amazon FSx에서 Amazon S3로 백업을 수동으로 이동해야 합니다 AWS DataSync.
+ 대규모 백업에는 Amazon FSx의 디스크 공간 관리를 위한 추가 오버헤드가 필요할 수 있습니다.
+ EC2 인스턴스 네트워크 처리량이 병목 현상을 일으킬 수 있습니다.
+ FSx for Windows File Server에 백업을 저장하려면 추가 스토리지가 필요합니다.

### Amazon FSx for NetApp ONTAP으로 SQL Server 백업
<a name="sql-server-backup-fsx-netapp"></a>

FSx for ONTAP에서의 스냅샷은 항상 장애 시 일관되지만 애플리케이션 일치 스냅샷을 생성하려면 데이터베이스를 중지하거나 데이터베이스의 I/O를 일시 중지해야 합니다. FSx for ONTAP과 함께 NetApp SnapCenter(SQL Server를 비롯한 특정 애플리케이션에 대한 플러그인이 포함된 오케스트레이션 도구)를 사용하여 추가 비용 없이 애플리케이션 일치 스냅샷을 생성하고 데이터베이스를 보호 및 복제할 수 있습니다.

#### NetApp SnapCenter
<a name="sql-server-backup-netapp-snapcenter"></a>

NetApp SnapCenter는 애플리케이션 일치 데이터 보호를 위한 통합 플랫폼입니다. SnapCenter에서는 스냅샷을 백업이라고 합니다. 이 가이드에서는 동일한 명명 규칙을 채택합니다. SnapCenter는 애플리케이션 일치 백업, 복원 및 복제를 관리하기 위한 단일 창을 제공합니다. 특정 데이터베이스 애플리케이션에 대한 SnapCenter 플러그인을 추가하여 애플리케이션 일치 백업을 생성합니다. SQL Server에 대한 SnapCenter 플러그인은 데이터 보호 워크플로를 단순화하는 다음과 같은 기능을 제공합니다.
+ 전체 및 로그 백업을 위해 세분성을 지원하는 백업 및 복원 옵션
+ 인플레이스 복원 및 대체 위치로 복원

SnapCenter에 대한 자세한 내용은 AWS 스토리지 블로그의 [Amazon FSx for NetApp ONTAP과 함께 NetApp SnapCenter를 사용하여 SQL Server 워크로드 보호를 참조하세요](https://aws.amazon.com/blogs/storage/using-netapp-snapcenter-with-amazon-fsx-for-netapp-ontap-to-protect-your-sql-server-workloads/).

### 백업을 위한 비용 최적화
<a name="sql-server-backup-cost-opt"></a>

다음 옵션은 AWS에서 SQL Server 백업을 저장하는 데 드는 비용을 줄이는 데 도움이 될 수 있습니다.
+ 백업 파일을 생성하는 동안 [SQL Server 압축](https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/backup-compression-sql-server?view=sql-server-ver16)을 활성화하고 가능한 가장 작은 파일을 스토리지로 전송합니다. 예를 들어 3:1 압축률은 디스크 공간의 약 66% 절약하고 있음을 나타냅니다. 이러한 열을 쿼리하려면 Transact-SQL 문 `SELECT backup_size/compressed_backup_size FROM msdb..backupset;`를 사용할 수 있습니다.
+ S3 버킷으로 이동하는 백업의 경우 [Amazon S3 Intelligent-Tiering](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/) 스토리지 클래스를 활성화하여 스토리지 비용을 30%만큼 절감합니다. 
+ FSx for Windows File Server 또는 FSx for ONTAP으로 백업하는 경우 다중 가용 영역을 사용할 때와 비교해서 50%의 비용 절감을 위해 단일 가용 영역을 사용합니다. 요금 정보는 [Amazon FSx for Windows File Server 요금](https://aws.amazon.com/fsx/windows/pricing/) 및 [Amazon FSx for NetApp ONTAP 요금](https://aws.amazon.com/fsx/netapp-ontap/pricing/)을 참조하세요.
+ SQL Server 2022의 가장 효율적인 옵션은 Amazon S3로의 직접 백업입니다. Storage Gateway를 피하면 추가 비용을 절감할 수 있습니다.

### 백업에 대한 테스트 결과 벤치마크
<a name="sql-server-backup-benchmark"></a>

이 섹션에서는 이 가이드에서 다루는 백업 솔루션에서 테스트한 성능 벤치마크 결과를 기반으로 샘플 1TB 데이터베이스의 비용 및 성능 관점에서 다음 옵션을 비교합니다.
+ **EC2 인스턴스 사양** - Windows Server 2019 및 SQL Server 2019 Developer 에디션에서 r5d.8xlarge
+ **데이터베이스 사양** - TDE가 비활성화된 상태에서 크기 1TB

테스트는 r5d.8xlarge 인스턴스와 1TB SQL Server 데이터베이스를 소스로 사용하여 수행되었습니다. 소스 시스템은 모범 사례에 따라 구성되었으며 소스 데이터베이스에는 별도의 gp3 볼륨에 분산된 데이터 파일 4개(각각 250GB)와 로그 파일 1개(50GB)가 포함되어 있습니다. SQL Server 네이티브 `BACKUP` 명령에는 10개의 백업 파일에 쓰는 작업이 포함되었으며, 압축을 사용하여 백업 성능을 최적화하고 네트워크를 통해 전송되어 대상에 기록되는 데이터의 양을 줄이는 작업이 포함되었습니다. 모든 테스트 사례에서 스토리지 성능에서 병목 현상이 발생했습니다.

이러한 유형의 테스트에 사용할 수 있는 구성은 거의 무궁무진합니다. 이 테스트는 성능, 비용, 확장성 및 실제 사용 사례를 최적화하는 데 중점을 두었습니다. 다음 표에는 백업 대상 옵션에 대해 캡처된 성능 지표가 나와 있습니다.


****  

| 백업 옵션 | 수준 | 실행 기간(근사치) | 백업 속도 | 월별 비용 USD\$1 | 
| --- | --- | --- | --- | --- | 
| 로컬 EBS 볼륨 st1 HDD(2TB)로 네이티브 백업 | Database | 00:30:46(분) | 554.7Mbps | 92.16 USD | 
| 로컬 EBS SSD gp3(2TB)로 네이티브 백업 | Database | 00:22:00(분) | 512Mbps | 193.84 USD | 
| FSx for Windows File Server HDD(2TB @512Mbps 처리량)로 네이티브 백업 | Database | 00:20:58(분) | 814.0Mbps | [1,146 USD](https://calculator.aws/#/estimate?id=e13d8a385d25b2d4f1320c5b1156b953355b7c13) | 
| FSx for Windows File Server SSD(2TB @512Mbps 처리량)로 네이티브 백업 | Database | 00:20:00(분) | 814.0Mbps | [1,326 USD](https://calculator.aws/#/estimate?id=e13d8a385d25b2d4f1320c5b1156b953355b7c13) | 
| S3 File Gateway m6i.4xlarge(16개 vCPU, 64GB, 2TB gp3 사용)로 네이티브 백업 | Database | 00:23:20(분) | 731.5Mbps | 470.42 USD | 
| EBS VSS 스냅샷 | EBS 볼륨 | 00:00:02(초)00:00:53(초) | N/A 스냅샷 | [51 USD](https://calculator.aws/#/estimate?id=e13d8a385d25b2d4f1320c5b1156b953355b7c13) | 
| AWS Backup (AMI 백업) | AMI | 00:00:04(초)00:08:00(분) | N/A 스냅샷 | [75 USD](https://calculator.aws/#/estimate?id=e13d8a385d25b2d4f1320c5b1156b953355b7c13) | 
| Amazon S3로 직접 네이티브 SQL Server 백업(SQL Server 2022) | Database | 00:12:00(분) | 731.5Mbps | [월별 첫 50TB, GB당 0.023 USD, 월별 23.55 USD](https://calculator.aws/#/estimate?id=e13d8a385d25b2d4f1320c5b1156b953355b7c13) | 
| FSx for ONTAP으로 네이티브 백업(SnapCenter 사용) | Database | – | – | [\$1440.20](https://calculator.aws/#/estimate?id=8c9a0b2c296f9839f3ca16bdc2dcd9a6f52f1faf) | 

이전 표에서는 다음을 가정합니다.
+ 데이터 전송 및 Amazon S3 비용은 포함되지 않습니다.
+ 스토리지 요금은 인스턴스 요금에 포함됩니다.
+ 비용은 `us-east-1` 리전을 기준으로 합니다.
+ 처리량과 IOPS는 여러 백업에서 10%씩 증가하며, 한 달 동안 전체 변화율은 10%입니다.

테스트 결과에 따르면 가장 빠른 옵션은 FSx for Windows File Server로의 네이티브 SQL Server 데이터베이스 백업입니다. Storage Gateway 및 로컬로 연결된 EBS 볼륨으로의 백업은 더 비용 효율적인 옵션이지만 성능이 더 느립니다. 서버 수준 백업(AMI)의 경우 최적의 성능, 비용 및 관리 용이성을 AWS Backup 위해를 사용하는 것이 좋습니다.

## 비용 최적화 권장 사항
<a name="sql-server-backup-opt-rec"></a>

Amazon EC2 기반 SQL Server를 백업하는 데 사용할 수 있는 솔루션을 이해하는 것은 데이터를 안전하게 보호하고 백업 요구 사항을 충족하는 것은 물론 중요한 이벤트로부터 복구를 계획하는 데 중요합니다. 이 섹션에서 살펴보는 SQL Server 인스턴스 및 데이터베이스를 백업하고 복원하는 다양한 방법은 데이터를 보호하고 조직의 요구 사항을 충족하는 백업 및 복원 전략을 설계하는 데 도움이 될 수 있습니다.

이 섹션에서는 다음 백업 옵션을 다룹니다.
+ 압축
+ Amazon S3 Intelligent-Tiering
+ 단일 가용 영역
+ URL로 백업

이러한 각 옵션에 대해 제공되는 지침은 개략적인 수준입니다. 조직에서 이러한 권장 사항을 구현하려면 계정 팀에 문의하는 것이 좋습니다. 그런 다음 팀에서 Microsoft 전문가 SA와 협력하여 대화를 주도할 수 있습니다. optimize-microsoft@amazon.com으로 이메일을 보내 문의할 수도 있습니다.

요약하면 다음을 권장합니다.
+ SQL Server 2022를 사용하는 경우 Amazon S3로 백업하는 것이 가장 비용 효율적인 옵션입니다.
+ SQL Server 2019 및 이전 SQL Server 에디션을 사용하는 경우 가장 비용 효율적인 옵션으로 Amazon S3에서 지원하는 Storage Gateway에 백업하는 방법을 고려합니다.

### 압축
<a name="sql-server-backup-opt-rec-compression"></a>

압축의 목표는 각 백업에서 소비하는 스토리지를 줄이는 것입니다. 이는 다양한 스토리지 옵션에 유용합니다. [SQL Server 인스턴스](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/view-or-configure-the-backup-compression-default-server-configuration-option?view=sql-server-ver16) 수준에서 SQL Server 백업에 대해 압축을 활성화해야 합니다. 다음 예제에서는 백업 데이터베이스에 압축 키워드를 추가하는 방법을 보여줍니다.

`BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE)`

### Amazon S3 Intelligent-Tiering
<a name="sql-server-backup-opt-rec-tiering"></a>

Amazon S3 버킷으로 이동하는 백업의 경우 [Amazon S3 Intelligent-Tiering](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/)을 Amazon S3 File Gateway [스토리지 클래스](https://docs.aws.amazon.com/filegateway/latest/files3/storage-classes.html#ia-file-gateway)로 활성화할 수 있습니다. 이 경우 스토리지 비용을 최대 30% 절감할 수 있습니다. 그런 다음 [Active Directory 도메인](https://docs.aws.amazon.com/filegateway/latest/files3/CreatingAnSMBFileShare.html#configure-SMB-settings)과 통합할 수 있는 SMB 파일 공유를 사용하여 S3 File Gateway를 SQL Server에 탑재합니다. 이를 통해 공유에 대한 액세스 제어, 기존 서비스 계정을 활용하는 기능, 일반적인 Microsoft 집중 파일 프로토콜을 사용하여 Amazon S3에 액세스할 수 있습니다. 도메인 컨트롤러에 직접 연결되지 않았을 수 있는 계정의 경우 [Active Directory Connector](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_ad_connector.html)를 사용하여 온프레미스 또는 클라우드에서 Active Directory와의 통신을 용이하게 할 수 있습니다. 게이트웨이에서 Active Directory 설정을 구성하려면 도메인 컨트롤러가 Active Directory에 대한 요청을 프록시하기 위해 Active Directory Connector IP를 지정해야 합니다.

다음 다이어그램에서는 S3 Intelligent-Tiering에 기반한 솔루션의 아키텍처를 보여줍니다.

![\[S3 Intelligent-Tiering 아키텍처\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/ad_connector_arch.png)


기본적으로 S3 버킷에 작성된 백업 파일은 Standard 티어를 사용합니다. 백업 파일을 Standard 티어에서 S3 Intelligent-Tiering으로 변환하려면 [수명 주기 규칙을 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html)해야 합니다. [AWS Management Console](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-intelligent-tiering.html#enable-auto-archiving-int-tiering)을 사용하여 S3 Intelligent-Tiering을 활성화할 수도 있습니다. 자세한 내용은 AWS 설명서의 [Amazon S3 Intelligent-Tiering 사용 시작하기](https://aws.amazon.com/getting-started/hands-on/getting-started-using-amazon-s3-intelligent-tiering/)를 참조하세요.

### 단일 가용 영역
<a name="sql-server-backup-opt-rec-singleAZ"></a>

단일 가용 영역 파일 시스템을 생성하려면 [FSx for Windows File Server 파일 시스템을 생성](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started.html)할 때 단일 AZ 옵션을 선택합니다. 또한 Amazon FSx는 Windows Volume Shadow Copy Service를 사용하여 파일 시스템의 내구성이 뛰어난 백업(Amazon S3에 저장됨)을 매일 수행하며 언제든지 추가 백업을 수행할 수 있습니다. 단일 가용 영역 사용과 관련된 몇 가지 문제에 유의하세요. 예를 들어 파일 시스템이 프로비저닝되는 영향을 받는 가용 영역이 한 번에 몇 시간 동안 중단되면 SMB 파일 공유에 액세스할 수 없습니다. 데이터에 액세스해야 하는 경우 소스 리전 내 사용 가능한 가용 영역에 있는 백업에서 복원해야 합니다. 자세한 내용은 이 가이드의 [단일 가용 영역 사용](storage-fsx-single-az.md) 섹션을 참조하세요.

### URL로 백업
<a name="sql-server-backup-opt-rec-url"></a>

SQL Server 2022의 경우 [URL로 백업](https://www.microsoft.com/en-us/sql-server/blog/2022/09/29/backup-and-restore-to-url-for-s3-compatible-object-storage/) 기능을 사용하면 Amazon S3로 직접 백업할 수 있습니다. 이는 스토리지 계층에서 Amazon S3의 전체 기능 세트를 가져오고이 기능을 용이하게 하기 위해 이전 버전에 필요한 어플라이언스 비용을 제거 AWS 하므로에서 실행되는 SQL Server 2022에 AWS Storage Gateway 이상적인 백업 접근 방식입니다. 이 기능을 구현할 때 데이터 전송 비용 및 선택한 S3 스토리지 클래스와 같이 두 가지 기본 비용을 고려해야 합니다. Amazon S3의 네이티브 재해 복구 기능을 원하는 경우 [교차 리전 복제](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html#crr-scenario)로 인해 교차 리전 [데이터 송신 비용](https://aws.amazon.com/s3/pricing/?p=pm&c=s3&z=4)이 발생한다는 점을 고려해야 합니다. 이 옵션을 구성하는 방법에 대한 자세한 내용은 AWS 기반 Microsoft 워크로드 블로그의 [Backup SQL Server databases to Amazon S3](https://aws.amazon.com/blogs/modernizing-with-aws/backup-sql-server-to-amazon-s3/) 게시물을 참조하세요.

## 추가 리소스
<a name="sql-server-backup-resources"></a>
+ [Amazon EC2의 SQL Server에 대한 백업 및 복원 옵션](https://docs.aws.amazon.com/prescriptive-guidance/latest/sql-server-managing-on-aws/welcome.html)(AWS 권장 가이드)
+ [를 사용한 Amazon RDS의 Point-in-time 복구 및 연속 백업 AWS Backup](https://aws.amazon.com/blogs/storage/point-in-time-recovery-and-continuous-backup-for-amazon-rds-with-aws-backup/)(AWS 스토리지 블로그)
+ [Amazon FSx for NetApp ONTAP과 함께 NetApp SnapCenter를 사용하여 SQL Server 워크로드 보호](https://aws.amazon.com/blogs/storage/using-netapp-snapcenter-with-amazon-fsx-for-netapp-ontap-to-protect-your-sql-server-workloads/)(AWS 스토리지 블로그)
+ [Amazon S3 Intelligent-Tiering 사용 시작하기](https://aws.amazon.com/getting-started/hands-on/getting-started-using-amazon-s3-intelligent-tiering/)(AWS 리소스 센터 시작하기)
+ [Amazon RDS for SQL Server의 백업 및 복원 전략](https://aws.amazon.com/blogs/database/backup-and-restore-strategies-for-amazon-rds-for-sql-server/)(AWS 데이터베이스 블로그)
+ [온프레미스 Microsoft SQL Server 데이터베이스를 Amazon EC2로 마이그레이션](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.html)(AWS 권장 가이드)
+ [Amazon EC2에 Microsoft SQL Server를 배포하기 위한 모범 사례](https://docs.aws.amazon.com/whitepapers/latest/best-practices-for-deploying-microsoft-sql-server/best-practices-for-deploying-microsoft-sql-server.html)(AWS 백서)

# SQL Server 데이터베이스 현대화
<a name="modernize-sql-server"></a>

## 개요
<a name="modernize-sql-server-overview"></a>

확장성, 성능 및 비용 최적화를 위해 레거시 데이터베이스를 현대화하는 여정을 시작하는 경우 SQL Server와 같은 상용 데이터베이스와 관련된 과제에 직면할 수 있습니다. 상용 데이터베이스는 비용이 많이 들고 고객을 종속시키며 징벌적 라이선스 조건을 제공합니다. 이 섹션에서는 SQL Server에서 오픈 소스 데이터베이스로 마이그레이션 및 현대화하는 옵션과 워크로드에 가장 적합한 옵션을 선택하는 방법에 대한 간략한 개요를 제공합니다.

SQL Server 데이터베이스를 Amazon Aurora PostgreSQL과 같은 오픈 소스 데이터베이스로 리팩터링하여 Windows 및 SQL Server 라이선스 비용을 절감할 수 있습니다. Aurora와 같은 클라우드 네이티브 최신 데이터베이스는 오픈 소스 데이터베이스의 유연성과 저렴한 비용을 상용 데이터베이스의 강력한 엔터프라이즈급 기능과 병합합니다. 가변 워크로드 또는 다중 테넌트 워크로드가 있는 경우 [Aurora Serverless V2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html)로 마이그레이션할 수도 있습니다. 그러면 워크로드 특성에 따라 비용을 90%까지 줄일 수 있습니다. 또한는 [Babelfish for Aurora PostgreSQL](https://aws.amazon.com/rds/aurora/babelfish/)과 같은 기능, [AWS Schema Conversion Tool (AWS SCT)](https://aws.amazon.com/dms/schema-conversion-tool/)와 같은 도구, [AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/)와 같은 서비스를 AWS 제공하여 SQL Server 데이터베이스의 마이그레이션 및 현대화를 간소화합니다 AWS.

## 데이터베이스 오퍼링
<a name="modernize-sql-server-database"></a>

Windows 기반 SQL Server에서 Amazon Aurora, Amazon RDS for MySQL 또는 Amazon RDS for PostgreSQL과 같은 오픈 소스 데이터베이스로 마이그레이션하면 성능이나 기능을 손상시키지 않고도 상당한 비용 절감 효과를 얻을 수 있습니다. 다음을 고려하세요.
+ Amazon EC2 기반 SQL Server Enterprise 에디션에서 Amazon RDS for PostgreSQL 또는 Amazon RDS for MySQL로 전환하면 비용을 최대 80% 절감할 수 있습니다.
+ Amazon EC2 기반 SQL Server Enterprise 에디션에서 Amazon Aurora PostgreSQL 호환 버전 또는 Amazon Aurora MySQL 호환 버전으로 전환하면 비용을 최대 70% 절감할 수 있습니다.

기존 데이터베이스 워크로드의 경우 Amazon RDS for PostgreSQL 및 Amazon RDS for MySQL은 요구 사항을 해결하고 관계형 데이터베이스를 위한 비용 효율적인 솔루션을 제공합니다. Aurora는 이전에 비용이 많이 드는 상용 벤더로 제한된 수많은 가용성 및 성능 기능을 추가합니다. Aurora의 복원력 기능은 추가 비용입니다. 그러나 다른 상용 벤더의 유사한 기능에 비해 Aurora의 복원력 비용은 동일한 유형의 기능에 대해 상용 소프트웨어가 부과하는 비용보다 여전히 더 저렴합니다. Aurora 아키텍처는 표준 MySQL 및 PostgreSQL 배포에 비해 성능이 크게 향상되도록 최적화되었습니다.

Aurora는 오픈 소스 PostgreSQL 및 MySQL 데이터베이스와 호환되므로 이식성의 추가 이점이 있습니다. 최상의 옵션이 Amazon RDS for PostgreSQL인지, Amazon RDS for MySQL인지 또는 Aurora인지는 비즈니스 요구 사항을 이해하고 필요한 기능을 최상의 옵션에 매핑하는 데 달려 있습니다.

## Amazon RDS 및 Aurora 비교
<a name="modernize-sql-server-rds-aurora"></a>

다음 표에는 Amazon RDS와 Amazon Aurora 간 주요 차이가 요약되어 있습니다.


****  

| 카테고리 | Amazon RDS for PostgreSQL 또는 Amazon RDS for MySQL | Aurora MySQL 또는 Aurora PostgreSQL | 
| --- | --- | --- | 
| 성능 | 우수한 성능 | 3배 이상의 뛰어난 성능 | 
| 장애 조치 | 일반적으로 60\$1120초\$1 | 일반적으로 30초 | 
| 확장성 | 최대 5개의 읽기 복제본초 단위 지연 | 최대 15개의 읽기 복제본밀리초 단위 지연 | 
| 스토리지 | 최대 64TB | 최대 128TB | 
| 스토리지 HA | 각각 데이터베이스 사본이 있는 1개 또는 2개의 대기를 포함하는 다중 AZ | 기본적으로 3개의 가용 영역에 있는 데이터 사본 6개 | 
| 백업 | 일일 스냅샷 및 로그 백업 | Amazon S3로의 지속적 비동기식 백업 | 
| Aurora를 사용한 혁신 | NA | 100GB빠른 데이터베이스 복제 | 
|   | 오토 스케일링 읽기 복제본 |   | 
|   | 쿼리 계획 관리 |   | 
|   | Aurora Serverless |   | 
|   | 글로벌 데이터베이스를 사용하는 교차 리전 복제본 |   | 
|   | 클러스터 캐시 관리\$1\$1 |   | 
|   | 병렬 쿼리 |   | 
|   | 데이터베이스 활동 스트림 |   | 

\$1트랜잭션이 크면 장애 조치 시간이 늘어날 수 있음

\$1\$1Aurora PostgreSQL에서 사용 가능

다음 표에는 이 섹션에서 다루는 여러 데이터베이스 서비스의 예상 월별 비용이 나와 있습니다.


****  

| 데이터베이스 서비스 | 월별 비용 USD\$1 | AWS Pricing Calculator (필수 AWS 계정) | 
| --- | --- | --- | 
| Amazon RDS for SQL Server Enterprise 에디션 | 3,750 USD | [Estimate](https://calculator.aws/#/estimate?id=16f190d818045bb99fb59659cecca80f92db4bbc) | 
| Amazon RDS for SQL Server Standard 에디션 | 2,318 USD | [Estimate](https://calculator.aws/#/estimate?id=5a5e9832ae80fd9ad9e8010c9a17f57d5a0415ca) | 
| Amazon EC2 기반 SQL Server Enterprise 에디션 | 2,835 USD | [Estimate](https://calculator.aws/#/estimate?id=0976f53e9b1b55d5475dc394c8caae9d5581183b) | 
| Amazon EC2 기반 SQL Server Standard 에디션 | 1,345 USD | [Estimate](https://calculator.aws/#/estimate?id=3cada8ab6d72b68a2eb3bc92927990c9f7e264ca) | 
| Amazon RDS for PostgreSQL | 742 USD | [Estimate](https://calculator.aws/#/estimate?id=bd825d40c79c0df8f0cf053d55ca39acc8a927fe) | 
| Amazon RDS for MySQL | 712 USD | [Estimate](https://calculator.aws/#/estimate?id=c0f61d7b67652e58df5bf6cb244e9455ff4a8558) | 
| Aurora PostgreSQL | 1,032 USD | [Estimate](https://calculator.aws/#/estimate?id=a557d7d740e5d87c9764bd369de81a5873dad053) | 
| Aurora MySQL | 1,031 USD | [Estimate](https://calculator.aws/#/estimate?id=5924d827c98beadda65368c8e64eb249c001afd6) | 

\$1 스토리지 요금은 인스턴스 요금에 포함됩니다. 비용은 `us-east-1` 리전을 기준으로 합니다. 처리량과 IOPS는 가정된 수치입니다. r6i.2xlarge 및 r6g.2xlarge 인스턴스에 대해 계산되었습니다.

## 비용 최적화 권장 사항
<a name="modernize-sql-server-opt-rec"></a>

이기종 데이터베이스 마이그레이션에서는 일반적으로 데이터베이스 스키마를 소스에서 대상 데이터베이스 엔진으로 전환하고 데이터를 소스에서 대상 데이터베이스로 마이그레이션해야 합니다. 마이그레이션의 첫 번째 단계는 SQL Server 스키마 및 코드 객체를 평가하고 대상 데이터베이스 엔진으로 전환하는 것입니다.

[AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)을 사용하여 Amazon RDS for MySQL 또는 Amazon RDS for PostgreSQL, Aurora MySQL 및 PostgreSQL과 같은 다양한 대상 오픈 소스 데이터베이스와의 호환성을 위해 데이터베이스를 평가할 수 있습니다. Babelfish Compass 도구를 사용하여 Babelfish for Aurora PostgreSQL과의 호환성을 평가할 수도 있습니다. 이렇게 하면 AWS SCT 및 Compass 강력한 도구가 마이그레이션 전략을 결정하기 전에 관련된 선결제 작업을 이해할 수 있습니다. 계속 진행하기로 결정하면 AWS SCT 에서 스키마에 필요한 변경 사항을 자동화합니다. Babelfish Compass의 핵심 철학은 SQL 데이터베이스를 전혀 또는 거의 수정하지 않고 Aurora로 이전할 수 있도록 하는 것입니다. Compass는 기존 SQL 데이터베이스를 평가하여 이를 달성할 수 있는지 확인합니다. 이 방법을 사용하면 SQL Server에서 Aurora로 데이터를 마이그레이션하는 데 노력을 기울이기 전에 먼저 성과를 확인할 수 있습니다.

AWS SCT 는 데이터베이스 스키마 및 코드를 대상 데이터베이스 엔진으로의 변환 및 마이그레이션을 자동화합니다. Babelfish for Aurora PostgreSQL을 사용하면 스키마를 전혀 또는 거의 변경하지 않고도 데이터베이스와 애플리케이션을 SQL Server에서 Aurora PostgreSQL로 마이그레이션할 수 있습니다. 그러면 마이그레이션이 가속화될 수 있습니다.

스키마가 마이그레이션된 후 AWS DMS 를 사용하여 데이터를 마이그레이션할 수 있습니다.는 전체 데이터 로드를 AWS DMS 수행하고 변경 사항을 복제하여 가동 중지 시간을 최소화하면서 마이그레이션을 수행할 수 있습니다.

이 섹션에서는 다음 도구를 자세히 살펴봅니다.
+ AWS Schema Conversion Tool
+ Babelfish for Aurora PostgreSQL
+ Babelfish Compass
+ AWS Database Migration Service

### AWS Schema Conversion Tool
<a name="modernize-sql-server-opt-rec-schema"></a>

 AWS SCT 를 사용하여 기존 SQL Server 데이터베이스를 평가하고 Amazon RDS 또는 Aurora와의 호환성을 평가할 수 있습니다. 마이그레이션 프로세스를 간소화하기 위해 AWS SCT 를 사용하여 이기종 데이터베이스 마이그레이션에서 스키마를 한 데이터베이스 엔진에서 다른 데이터베이스 엔진으로 변환할 수도 있습니다. AWS SCT 를 사용하여 애플리케이션을 평가하고 C\$1, C\$1\$1, Java 및 기타 언어로 작성된 애플리케이션의 임베디드 애플리케이션 코드를 변환할 수 있습니다. 자세한 내용은 AWS SCT 설명서의 [Converting application SQL using AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.App.html)를 참조하세요.

AWS SCT 는 많은 데이터베이스 [소스를](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.html) 지원하는 무료 AWS 도구입니다. 를 사용하려면 소스 데이터베이스를 AWS SCT가리킨 다음 평가를 실행합니다. 그런 다음 [AWS SCT](https://aws.amazon.com/blogs/database/convert-database-schemas-and-application-sql-using-the-aws-schema-conversion-tool-cli/)는 스키마를 평가하고 평가 보고서를 생성합니다. 평가 보고서에는 요약, 복잡성 및 마이그레이션 노력, 적절한 대상 데이터베이스 엔진, 전환 권장 사항이 포함됩니다. 다운로드하려면 설명서의 [설치, 확인 및 업데이트를 AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) AWS SCT참조하세요 AWS SCT .

다음 표에는 데이터베이스를 다른 대상 플랫폼으로 변경하는 작업과 관련된 복잡성을 보여주기 위해 AWS SCT 에서 생성된 실행 요약에 대한 예제가 나와 있습니다.


|  |  |  | 
| --- |--- |--- |
| **대상 플랫폼** | **자동 또는 최소 변경 사항** | **복잡한 작업** | 
|  | **스토리지 객체** | **코드 객체** | **변환 작업** | **스토리지 객체** | **코드 객체** | 
| Amazon RDS for MySQL | 60(98%) | 8(35%) | 42 | 1(2%) | 1 | 15(65%) | 56 | 
| Amazon Aurora MySQL 호환 버전 | 60(98%) | 8(35%) | 42 | 1(2%) | 1 | 15(65%) | 56 | 
| Amazon RDS for PostgreSQL | 60(98%) | 12(52%) | 54 | 1(2%) | 1 | 11(48%) | 26 | 
| Amazon Aurora PostgreSQL 호환 에디션 | 60(98%) | 12(52%) | 54 | 1(2%) | 1 | 11(48%) | 26 | 
| Amazon RDS for MariaDB | 60(98%) | 7(30%) | 42 | 1(2%) | 1 | 16(70%) | 58 | 
| Amazon Redshift | 61(100%) | 9(39%) | 124 | 0(0%) | 0 | 14(61%) | 25 | 
| AWS Glue | 0(0%) | 17(100%) | 0 | 0(0%) | 0 | 0(0%) | 0 | 
| Babelfish | 59(97%) | 10(45%) | 20 | 2(3%) | 2 | 12(55%) | 30 | 

 AWS SCT 또한 보고서는 자동으로 변환할 수 없는 스키마 요소에 대한 세부 정보를 제공합니다. 마이그레이션 플레이북을 참조하여 AWS SCT 변환 격차를 줄이고 대상 스키마를 최적화할 수 있습니다. [AWS](https://aws.amazon.com/blogs/database/the-database-migration-playbook-has-landed/) 이기종 마이그레이션을 지원하는 많은 데이터베이스 마이그레이션 플레이북이 있습니다.

### Babelfish for Aurora PostgreSQL
<a name="modernize-sql-server-opt-rec-babelfish"></a>

Babelfish for Aurora PostgreSQL에서는 SQL Server 클라이언트의 데이터베이스 연결을 수락하는 기능을 사용하여 Aurora PostgreSQL DB 클러스터를 확장합니다. Babelfish를 사용하면 원래 SQL Server용으로 빌드된 애플리케이션은 코드를 거의 변경하지 않고 데이터베이스 드라이버를 수정하지 않고도 Aurora PostgreSQL에서 직접 작동할 수 있습니다. Babelfish는 Aurora PostgreSQL이 T-SQL 및 PL/pgSQL 언어 모두에서 작동할 수 있도록 Aurora PostgreSQL을 이중 언어로 지원합니다. Babelfish는 SQL Server에서 Aurora PostgreSQL로 마이그레이션하는 작업을 최소화합니다. 이를 통해 마이그레이션을 가속화하고 위험을 최소화하며 마이그레이션 비용을 크게 절감할 수 있습니다. T-SQL 사후 마이그레이션을 계속 사용할 수 있지만 개발을 위해 [PostgreSQL 네이티브 도구를 사용하는 옵션](https://aws.amazon.com/blogs/database/category/database/amazon-aurora/babelfish-for-aurora-postgresql/)도 있습니다.

다음 다이어그램에서는 T-SQL을 사용하는 애플리케이션이 SQL Server의 기본 포트 1433에 연결하고 Babelfish 변환기를 사용하여 Aurora PostgreSQL 데이터베이스와 통신하는 방법과 PL/pgSQL을 사용하는 애플리케이션이 Aurora PostgreSQL의 기본 포트 5432를 사용하여 Aurora PostgreSQL 데이터베이스에 직접 동시에 연결하는 방법을 보여줍니다.

![\[Babelfish for Aurora PostgreSQL.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/babelfish_tsql.png)


Babelfish는 특정 SQL Server T-SQL 기능을 지원하지 않습니다. 이러한 이유로 Amazon은 SQL 문을 행 단위로 분석하고 Babelfish에서 지원되지 않는 부분이 있는지 확인하기 위한 평가 도구를 제공합니다.

Babelfish 평가에는 두 가지 옵션이 있습니다.는 SQL Server 데이터베이스와 Babelfish의 호환성을 평가할 AWS SCT 수 있습니다. 또 다른 옵션으로 Compass 도구가 Babelfish for Aurora PostgreSQL의 새 릴리스와 함께 업데이트되므로 권장되는 솔루션인 Babelfish Compass 도구가 있습니다.

### Babelfish Compass
<a name="modernize-sql-server-opt-rec-babelfish-compass"></a>

[Babelfish Compass](https://github.com/babelfish-for-postgresql/babelfish_compass)는 Babelfish for Aurora PostgreSQL의 최신 릴리스에 맞춰 무료로 다운로드할 수 있는 도구입니다. 반면 AWS SCT 는 잠시 후 최신 Babelfish 버전을 지원합니다. [Babelfish Compass](https://github.com/babelfish-for-postgresql/babelfish_compass/blob/main/README.md)는 SQL Server 데이터베이스 스키마에 대해 실행됩니다. SQL Server Management Studio(SSMS)와 같은 도구를 사용하여 소스 SQL Server 데이터베이스 스키마를 추출할 수도 있습니다. 그런 다음 Babelfish Compass를 통해 스키마를 실행할 수 있습니다. 이렇게 하면 SQL Server 스키마와 Babelfish의 호환성 및 마이그레이션 전에 변경이 필요한지를 자세히 설명하는 보고서가 생성됩니다. 또한 Babelfish Compass 도구는 이러한 많은 변경 사항을 자동화하고 궁극적으로 마이그레이션을 가속화할 수 있습니다.

평가 및 변경이 완료되면 SSMS 또는 sqlcmd와 같은 SQL Server 네이티브 도구를 사용하여 스키마를 Aurora PostgreSQL로 마이그레이션할 수 있습니다. 관련 지침은 AWS 데이터베이스 블로그의 [Migrate from SQL Server to Amazon Aurora using Babelfish](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-amazon-aurora-using-babelfish/) 게시물을 참조하세요.

### AWS Database Migration Service
<a name="modernize-sql-server-opt-rec-database-migration"></a>

스키마가 마이그레이션된 후 AWS Database Migration Service (AWS DMS)를 사용하여 가동 중지 시간을 최소화하면서 AWS 로 데이터를 마이그레이션할 수 있습니다.는 전체 데이터 로드를 수행할 AWS DMS 뿐만 아니라 소스 시스템이 가동되고 실행되는 동안 소스에서 대상으로 변경 사항을 복제합니다. 소스 데이터베이스와 대상 데이터베이스가 모두 동기화된 후 애플리케이션이 마이그레이션을 완료하는 대상 데이터베이스를 가리키는 전환 활동이 발생할 수 있습니다. AWS DMS 현재는 Aurora PostgreSQL 대상에 대해 Babelfish를 사용하여 전체 데이터 로드만 수행하고 변경 사항을 복제하지 않습니다. 자세한 내용은 AWS DMS 설명서의 [의 대상으로 Babelfish 사용을 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Babelfish.html) 참조하세요.

AWS DMS 는 동종(동일한 데이터베이스 엔진에서) 마이그레이션과 이기종(다른 데이터베이스 엔진에서) 마이그레이션을 모두 수행할 수 있습니다.는 많은 소스 및 대상 데이터베이스 엔진을 AWS DMS 지원합니다. 자세한 내용은 [데이터베이스 블로그의 Amazon RDS for SQL Server로 SQL Server 데이터베이스 마이그레이션 AWS DMS](https://aws.amazon.com/blogs/database/migrating-your-sql-server-database-to-amazon-rds-for-sql-server-using-aws-dms/) 게시물을 참조하세요. AWS 

## 추가 리소스
<a name="modernize-sql-server-resources"></a>
+ [Goodbye Microsoft SQL Server, Hello Babelfish](https://aws.amazon.com/blogs/aws/goodbye-microsoft-sql-server-hello-babelfish/)(AWS 뉴스 블로그)
+ [CLI(데이터베이스 블로그)를 AWS Schema Conversion Tool 사용하여 데이터베이스 스키마 및 애플리케이션 SQL 변환](https://aws.amazon.com/blogs/database/convert-database-schemas-and-application-sql-using-the-aws-schema-conversion-tool-cli/)AWS 
+ [필드에서 학습한 모범 사례와 교훈을 사용하여 SQL Server를 Amazon Aurora PostgreSQL로 마이그레이션](https://aws.amazon.com/blogs/database/migrate-sql-server-to-amazon-aurora-postgresql-using-best-practices-and-lessons-learned-from-the-field/)(AWS 데이터베이스 블로그)
+ [Microsoft SQL Server에서 Amazon RDS for PostgreSQL 및 Amazon Aurora PostgreSQL로 마이그레이션 후 데이터베이스 객체 검증](https://aws.amazon.com/blogs/database/validate-database-objects-post-migration-from-microsoft-sql-server-to-amazon-rds-for-postgresql-and-amazon-aurora-postgresql/)(AWS 데이터베이스 블로그)

# SQL Server에 대한 스토리지 최적화
<a name="storage-sql-server"></a>

## 개요
<a name="storage-sql-server-overview"></a>

이 섹션에서는 EC2 기반 SQL Server 워크로드에 대한 Amazon Elastic Block Store(Amazon EBS) SSD 스토리지에서의 비용 최적화에 중점을 둡니다.

SQL Server 워크로드를 배포하고 실행하기 위한 다양한 스토리지 옵션이 있습니다 AWS. 적절한 스토리지 선택은 목적, 아키텍처, 내구성, 성능, 용량 및 비용을 기반으로 해야 합니다. SQL Server 워크로드를 실행하는 AWS 고객은 일반적으로 Amazon EBS, NVMe, Amazon FSx 및 Amazon Simple Storage Service(Amazon S3) 스토리지의 조합을 사용합니다.

Amazon EBS는 EC2 컴퓨팅 인스턴스에 연결된 네트워크 연결 스토리지로, 일반 운영 체제, 애플리케이션, 데이터베이스 및 백업 파일을 저장하고 처리하는 데 사용됩니다. Amazon EBS Solid State Drive(SSD) 스토리지에는 범용 SSD(gp2 및 gp3) 및 프로비저닝된 IOPS SSD(io1, io2 및 io2BX)가 포함됩니다. 다음을 고려하세요.
+ r5d와 같은 일부 EC2 인스턴스에는 호스트 인스턴스에 물리적으로 연결된 로컬 NVMe SSD가 있습니다. 이러한 볼륨은 SQL Server tempdb 또는 버퍼 풀 확장에 일반적으로 사용되는 블록 스토리지를 제공합니다.
+ Amazon FSx for Windows File Server는 완전관리형 파일 스토리지 서비스인 반면, Amazon FSx for NetApp ONTAP은 NetApp의 널리 사용되는 ONTAP 파일 시스템에 빌드된 완전관리형 공유 스토리지입니다. Amazon FSx는 고가용성 SQL Server 장애 조치 클러스터링된 인스턴스(FCI) 구성에서 SQL Server 워크로드를 실행하는 데 자주 사용됩니다. 이 솔루션은 SQL Server 데이터 및 로그 파일을 호스팅하므로 EC2 인스턴스의 EBS 성능 요구 사항이 줄어듭니다.
+ Amazon S3는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. SQL Server 네이티브 백업 파일, AMI, EBS 스냅샷, 애플리케이션 로그 등을 Amazon S3에 저장할 수 있습니다.

## Amazon EBS에 대한 SSD 스토리지 유형, 성능 및 비용
<a name="ssd-storage-types-performance-and-cost-for-amazon-ebs"></a>

Amazon EBS에 대한 SSD 스토리지 비용은 일반적으로 내구성과 성능이 증가함에 따라 증가합니다. 현재 스토리지는 각각 [고유한 성능 지표](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)가 있는 다섯 가지 볼륨 유형으로 제공됩니다. SSD 지원 볼륨의 사용 사례 및 특성에 대한 요약은 Amazon EBS 설명서의 [Solid state drive (SSD) volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html#vol-type-ssd) 섹션에 있는 표를 참조하세요.

Amazon CloudWatch를 사용하여 SSD 성능을 모니터링하고, 추세 데이터를 캡처하며, 특정 임계치가 충족될 때 경보를 설정할 수 있습니다. AWS에서 SQL Server 워크로드를 실행하는 경우 [세부 모니터링을](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-basic-detailed.html) 활성화하고 [CloudWatch 사용자 지정 지표](https://aws.amazon.com/blogs/database/monitor-your-microsoft-sql-server-using-custom-metrics-with-amazon-cloudwatch-and-aws-systems-manager/)를 배포하여 디스크 지연 시간, IOPS, 처리량, 디스크 대기열 길이, 사용량 및 여유 용량 등과 같은 자세한 볼륨 성능 지표를 캡처하는 방법을 고려합니다. 이러한 CloudWatch 성능 지표를 사용하여 과소 프로비저닝된 스토리지와 과다 프로비저닝된 스토리지를 식별하고 기록 데이터 포인트를 제공하여 스토리지 요구 사항을 정확하게 정의할 수 있습니다.

Amazon EBS에 대한 SSD 스토리지 비용도 할당된 용량에 따라 달라집니다. 아래 표에는 여러 볼륨 유형의 비교가 나와 있습니다. 모든 볼륨 유형에는 1TB의 용량 및 유사한 성능 구성이 있습니다.


****  

| 볼륨 유형 | 최대 IOPS(16KiB I/O) | 최대 처리량(128KiB I/O) | 1TB당 요금 | 비용 절감률 | 
| --- | --- | --- | --- | --- | 
| gp2 | 3,000 | 250 | 102.40 USD |   | 
| gp3 | 3,000 | 250 | 86.92 USD | 15% | 
| io1 | 16,000 | 500 | 1,168 USD |   | 
| io2 | 16,000 | 500 | 1,168 USD |   | 
| gp3 | 16,000 | 500 | 146.92 USD | 87% | 
| io2bx | 16,000 | 4,000 | 1,168 USD |   | 
| gp3 | 16,000 | 1,000 | 181.92 USD | 84% | 

**참고**  
이전 표의 성능 및 비용 지표는 볼륨당 AWS Pricing Calculator의 [추정치](https://calculator.aws/#/estimate?id=b637bb9c21ae8ad62f440e349dd2067de80e76b2)에 기반합니다. AWS 계정 에서 견적에 액세스하려면가 필요합니다 AWS Pricing Calculator.

Amazon EBS SSD gp3 볼륨은 저렴한 비용으로 뛰어난 성능을 제공합니다. 16,000 IOPS 미만 및 500MiBps 처리량이 필요한 워크로드에 대해 io1 또는 io2 볼륨보다 gp3 볼륨을 선택하면 최대 87% 절감할 수 있습니다.

io2 Block Express(io2BX) 볼륨은 일반 io2 볼륨에 비해 향상된 성능을 제공합니다. 16,000 IOPS에서 io1 또는 io2 볼륨은 500MiBps 처리량만 지원 가능하며 io2BX 볼륨은 최대 4,000MiBps 처리량으로 구성할 수 있습니다. io1 및 io2 볼륨에 비해 io2BX 볼륨은 정확히 동일한 가격으로 16,000\$164,000 IOPS에 해당하는 4배 이상의 처리량을 제공합니다. 일반 io2 볼륨은 io2BX 지원 EC2 인스턴스에 연결하여 io2BX 볼륨으로 전환할 수 있습니다. io2BX 지원 EC2 인스턴스 목록은 Amazon EBS 설명서의 [Provisioned IOPS SSD volumes](https://docs.aws.amazon.com/ebs/latest/userguide/provisioned-iops.html#io2-block-express)를 참조하세요. 새 스토리지를 배포하기 전에 [AWS Pricing Calculator](https://calculator.aws/)를 사용하여 월별 비용을 추정하고 내구성, 성능 및 용량 간 장단점을 기반으로 비용에 미치는 영향을 이해할 수 있습니다.

## Amazon EBS에 대한 일반적인 SSD 비용 최적화
<a name="storage-sql-server-overview-ssd-ebs"></a>

저장하는 항목을 평가하고 올바른 스토리지 유형 및 클래스를 사용하고 있는지 확인하는 것이 좋습니다. 예를 들어 Amazon S3는 SQL Server 백업에 적합한 뛰어난 요금, 기본 제공 수명 주기 정책 및 복제 옵션을 제공합니다. SQL Server 2022는 Amazon S3로 직접 백업하는 기능을 제공하지만 이전 버전의 SQL Server는 네이티브 로컬 백업을 사용합니다. 이전 버전의 SQL Server를 실행하는 경우 Amazon EBS HDD 볼륨으로 백업한 다음 백업을 Amazon S3에 복사하는 방법을 고려합니다. 이 솔루션은 백업에 gp3 볼륨을 사용하는 방법에 비해 비용을 53% 절약할 수 있습니다.

다음 표에는 Amazon EBS gp3, Amazon EBS HDD st1 및 Amazon S3에서 1TB 스토리지의 요금 차이가 나와 있습니다.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/storage-sql-server.html)

**참고**  
이전 표의 비용 지표는 AWS Pricing Calculator의 [추정치](https://calculator.aws/#/estimate?id=ba6032e10a5f8a82807c1e3b7d5a64ceb2cdcbde)에 기반합니다. AWS 계정 에서 견적에 액세스하려면가 필요합니다 AWS Pricing Calculator.

다음을 고려하는 것이 좋습니다.
+ 세부 모니터링을 활성화하고 CloudWatch 사용자 지정 지표를 배포하여 스토리지 성능 요구 사항을 정확하게 캡처합니다.
+ Amazon EBS 스토리지를 gp2에서 gp3로 업그레이드하여 비용을 절감하고 유연성을 높이며 성능을 개선합니다.
+ 내구성과 성능 유연성을 높이기 위해 Amazon EBS 스토리지를 io1에서 io2로 업그레이드합니다.
+ 내구성과 성능을 높이기 위해 가능하면 io1 또는 io2 대신 io2BX를 사용합니다.
+ 스토리지를 선택할 때 용량 요구 사항과 고성능 볼륨 비용을 줄이는 데 도움이 되는 혼합 접근 방식을 고려합니다. 예를 들어 루트 볼륨(운영 체제), SQL Server 설치, 시스템 데이터베이스(tempdb 제외) 및 성능이 낮은 사용자 데이터베이스에 저비용 gp3 볼륨을 사용할 수 있습니다. 이를 통해 고성능 사용자 데이터베이스 전용으로 사용할 수 있는 io2 볼륨의 용량과 비용을 줄일 수 있습니다.
+ SQL Server 데이터베이스를 호스팅하는 경우 데이터베이스당 여러 SQL Server 데이터 파일을 사용하는 AWS것이 좋습니다. 이를 통해 읽기/쓰기 워크로드를 여러 볼륨에 분산하여 볼륨당 성능 및 용량 요구 사항을 줄이고 결과적으로 비용을 절감할 수 있습니다.
+ 프로덕션 워크로드에 io1 또는 io2/io2BX와 같은 고성능 스토리지가 필요한 경우에도 비용 절감을 위해 비프로덕션 워크로드에서 gp3 볼륨을 고려합니다.
+ 시간 경과에 따른 스토리지 사용률을 추적하고 추세를 파악하여 사용량 급증과 예상치 못한 비용을 쉽게 식별합니다.
+ 실제 사용률에 따라 EBS 볼륨을 늘리거나 줄이는 권장 사항을 얻기 위해 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)를 사용합니다.
+ 의 탄력성을 사용하여 Amazon EBS용 SSD 볼륨의 성능 및 용량 요구 사항을 AWS 조정합니다. 온프레미스 환경과 달리 향후 워크로드를 위해 스토리지 성능과 용량을 과다 프로비저닝하지 않아도 됩니다. 데이터베이스를 온라인 상태로 유지하면서 기존 SQL Server 워크로드를 로 마이그레이션 AWS 하고 필요에 따라 성능 또는 용량을 조정할 수 있습니다.

## 추가 리소스
<a name="storage-sql-server-resources"></a>
+ [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)(Amazon EBS 설명서)
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html)(Amazon EBS 설명서)
+ [Provisioned IOPS SSD volumes](https://docs.aws.amazon.com/ebs/latest/userguide/provisioned-iops.html)(Amazon EBS 설명서)
+ [SSD 인스턴스 저장소 볼륨](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html)(Amazon EC2 설명서)
+ [Amazon CloudWatch metrics for Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html)(Amazon EBS 설명서)
+ [Specifications for Amazon EC2 storage optimized instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html)(Amazon EC2 설명서)
+ [Amazon FSx for NetApp ONTAP과 함께 NetApp SnapCenter를 사용하여 SQL Server 워크로드 보호](https://aws.amazon.com/blogs/storage/using-netapp-snapcenter-with-amazon-fsx-for-netapp-ontap-to-protect-your-sql-server-workloads/)(AWS 스토리지 블로그)
+ [Amazon EC2 FAQ](https://aws.amazon.com/ec2/faqs/)(AWS 제품 페이지)

# Compute Optimizer를 사용하여 SQL Server 라이선스 최적화
<a name="sql-server-compute-optimizer"></a>

를 사용하여 SQL Server 라이선스를 최적화하는 방법에 대한 지침입니다 AWS Compute Optimizer.

## 개요
<a name="sql-server-compute-optimizer-overview"></a>

[AWS Compute Optimizer](https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is-compute-optimizer.html)는 Amazon Elastic Compute Cloud(Amazon EC2) 기반 Microsoft SQL Server 워크로드에 대한 라이선스 최적화 기회를 추천할 수 있습니다. Compute Optimizer는 라이선스 비용을 줄이기 위한 자동화된 권장 사항을 제공할 수 있습니다. Compute Optimizer의 권장 사항은 Microsoft SQL Server 라이선스와 함께 각 EC2 인스턴스 옆에 나열되어 있습니다. 제공되는 정보에는 권장 비용 절감 기회, EC2 인스턴스 온디맨드 요금, 시간당 기존 보유 라이선스 사용(BYOL) 요금 등이 포함됩니다. 이 정보는 라이선스 에디션을 다운그레이드할지 결정하는 데 도움이 될 수 있습니다.

Compute Optimizer는 추론된 워크로드 유형별로 Amazon EC2 기반 SQL Server 인스턴스를 자동으로 검색합니다. 라이선스 권장 사항을 보려면 Compute Optimizer에서 SQL Server 인스턴스를 선택한 다음 읽기 전용 데이터베이스 자격 증명을 사용하여 [Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html)로 인증할 수 있습니다. Compute Optimizer는 SQL Server Enterprise 에디션 기능을 사용하는지 분석합니다. Enterprise 에디션 기능을 사용하지 않는 경우 Compute Optimizer는 라이선스 비용을 줄이기 위해 Standard 에디션으로 다운그레이드할 것을 권장합니다.

Compute Optimizer를 사용하여 SQL Server 워크로드를 실행하는 Amazon EC2 인스턴스에 대한 크기 조정 권장 사항을 제공할 수도 있습니다. 자세한 내용은 이 가이드의 [Compute Optimizer를 사용하여 SQL Server 크기 조정 최적화](sql-server-sizing-compute-optimizer.md)를 참조하세요.

## 비용 최적화 권장 사항
<a name="sql-server-compute-optimizer-recommendations"></a>

Compute Optimizer의 라이선스 권장 사항은 Microsoft SQL Server에서 사용 중인 기능을 평가하고 워크로드에 가장 비용 효율적인 에디션을 선택하는 데 도움이 될 수 있습니다. SQL Server Enterprise 에디션은 Standard 에디션보다 훨씬 더 비쌉니다. 자세한 내용은 이 가이드의 [SQL Server 에디션 비교](sql-server-editions.md) 및 Microsoft 웹 사이트의 [SQL Server 2022 pricing](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing)을 참조하세요. SQL Server 플릿을 평가하고 권장 사항을 제공하도록 Compute Optimizer를 구성하는 데 시간을 투자하면 라이선스 비용을 크게 줄일 수 있습니다.

**라이선스 세부 정보** 페이지에서는 다음 정보를 제공합니다.
+ 이 표를 사용하여 에디션, 모델, 인스턴스 코어 수 등 현재 라이선스 구성을 Compute Optimizer 권장 사항과 비교합니다.
+ 사용률 그래프를 사용하여 분석 기간에 사용된 Enterprise 에디션 기능의 수를 검토합니다.

자세한 내용은 Compute Optimizer 설명서의 [Viewing details of a commercial software license recommendation](https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-license-recommendations.html#license-viewing-details)을 참조하세요.

## Compute Optimizer 구성
<a name="sql-server-compute-optimizer-configuration"></a>

Compute Optimizer는 `mssql_enterprise_features_used` 지표를 사용하여 상용 소프트웨어 라이선스를 분석합니다. 이 지표에 대한 자세한 내용은 [Metrics for commercial software licenses](https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#license-metrics-analyzed)를 참조하세요.

1. Compute Optimizer에 옵트인할 수 있는 적절한 권한이 있는지 확인하세요. 자세한 내용은 다음을 참조하세요.
   + [Compute Optimizer 옵트인 정책](https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#opting-in-access)
   + [Policies to grant access to Compute Optimizer for standalone AWS 계정](https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#standalone-account-access)
   + [조직의 관리 계정에 대한 Compute Optimizer 액세스 권한을 부여하는 정책](https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#organization-account-access)

1. CloudWatch Application Insights에 필요한 인스턴스 역할 및 정책을 연결하세요. 관련 지침은 [Policies to enable commercial software license recommendations](https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#license-access)를 참조하세요.

1. Microsoft SQL Server 데이터베이스 자격 증명을 사용하여 CloudWatch Application Insights를 활성화하세요. 관련 지침은 CloudWatch 설명서의 [모니터링을 위한 애플리케이션 설정](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-setting-up.html)을 참조하세요.
**참고**  
상용 소프트웨어 라이선스에 대한 권장 사항을 생성하려면 연속 30시간 이상의 CloudWatch 지표 데이터가 필요합니다. 자세한 내용은 [CloudWatch metric requirements](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-metrics)를 참조하세요.

1. 다음 SQL 쿼리를 사용하여 CloudWatch Application Insights에 대한 최소 권한 액세스를 구성하세요.

   ```
   GRANT VIEW SERVER STATE TO [LOGIN];
   GRANT VIEW ANY DEFINITION TO [LOGIN];
   ```

   이를 통해 새 서비스인 PrometheusSqlExporterSQL이 활성화됩니다.

1. 대상 AWS 계정 또는 조직 관리 계정에서 Compute Optimizer를 선택합니다. 관련 지침은 [Opting in your account](https://docs.aws.amazon.com/compute-optimizer/latest/ug/getting-started.html#account-opt-in)를 참조하세요.
**참고**  
옵트인하고 나면 결과 및 최적화 권장 사항이 생성되는 데 최대 24시간이 걸릴 수 있습니다.

1. [Compute Optimizer 콘솔](https://console.aws.amazon.com/compute-optimizer/)의 탐색 창에서 **라이선스**를 선택하세요.

1. **조사 결과** 열에서 **불충분한 지표** 조사 결과가 있는 인스턴스를 검색하세요. CloudWatch Application Insights가 활성화되지 않았거나 권한이 충분하지 않음을 감지한 경우 Compute Optimizer에서 이 조사 결과를 반환합니다. 자세한 내용은 [Finding reasons](https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-license-recommendations.html#license-finding-reasons)를 참조하세요. 다음을 수행하여 이러한 조사 결과를 해결하세요.

   1. 인스턴스를 선택합니다.

   1. 보안 암호를 추가하세요.

   1. 인스턴스 역할과 정책이 연결되어 있는지 확인하세요.

   1. **라이선스 권장 사항 활성화**를 선택하세요.

1. **조사 결과** 열에서 **최적화되지 않음** 조사 결과가 있는 인스턴스를 검색하세요. Amazon EC2 인프라에서 사용자가 비용을 지불하는 Microsoft SQL Server 라이선스 기능을 사용하지 않음을 감지한 경우 Compute Optimizer에서 이 조사 결과를 반환합니다. 자세한 내용은 [Finding reasons](https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-license-recommendations.html#license-finding-reasons)를 참조하세요. 다음을 수행하여 이러한 조사 결과를 해결하세요.

   1. 인스턴스를 선택합니다.

   1. 현재 라이선스 에디션과 권장 라이선스 에디션을 비교하세요.

   1. 현재 라이선스 사용률 그래프를 검토하세요.

   1. 라이선스를 다운그레이드하려면 **권장 사항 구현**을 선택하세요.

   1. 요구 사항을 검토하고 지침에 따라 라이선스를 다운그레이드하세요. 프로세스를 자동화하려면 [문서를 사용하여 AWS Systems Manager SQL Server 엔터프라이즈 에디션 다운그레이드를 참조하여 비용을 절감](https://aws.amazon.com/blogs/mt/downgrade-sql-server-enterprise-edition-using-aws-systems-manager-document-to-reduce-cost/)하세요(AWS 블로그).

## 추가 리소스
<a name="sql-server-compute-optimizer-resources"></a>
+ [를 사용하여 Microsoft SQL Server 라이선스 비용 절감 AWS Compute Optimizer](https://aws.amazon.com/blogs/modernizing-with-aws/reduce-microsoft-sql-server-licensing-costs-with-aws-compute-optimizer/)(AWS 블로그)
+ [란 무엇입니까 AWS Compute Optimizer?](https://docs.aws.amazon.com/compute-optimizer/index.html) (AWS 문서)
+ [Viewing commercial software license recommendations](https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-license-recommendations.html)(AWS 설명서)
+ [Downgrade your Microsoft SQL Server edition](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/downgrade-sql-server-on-ec2.html)(AWS 설명서)
+ [Microsoft SQL Server on AWS](https://aws.amazon.com/sql/)(AWS)
+ [Microsoft Licensing on AWS](https://aws.amazon.com/windows/resources/licensing/)(AWS)
+ [Microsoft SQL Server 2019 Pricing](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing)(Microsoft)
+ [Microsoft SQL Server 2022 Pricing](https://www.microsoft.com/en-us/sql-server/sql-server-2022-pricing)(Microsoft)

# Compute Optimizer를 사용하여 SQL Server 크기 조정 최적화
<a name="sql-server-sizing-compute-optimizer"></a>

## 개요
<a name="sql-server-sizing-compute-optimizer-overview"></a>

[AWS Compute Optimizer](https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is-compute-optimizer.html)는 데이터베이스 관리자(DBA)가 Amazon Elastic Compute Cloud(Amazon EC2)에서 Microsoft SQL Server 워크로드를 검색하고 EC2 인스턴스의 적정 규모를 조정하여 라이선스 비용을 최대 25% 절감할 수 있도록 지원합니다. Compute Optimizer의 [추론된 워크로드 유형](https://docs.aws.amazon.com/compute-optimizer/latest/ug/inferred-workload-type.html) 기능은 기계 학습(ML)을 사용하고 AWS 리소스에서 실행 중일 수 있는 애플리케이션을 자동으로 감지합니다. Compute Optimizer에는 추론 워크로드 유형으로 SQL Server에 대한 지원이 포함되어 있습니다. 추론된 워크로드 유형 기능을 사용하면 Amazon EC2 인스턴스에서 실행되는 특정 워크로드를 기반으로 비용 절감 기회를 정확히 파악할 수 있습니다.

이 기능을 사용하면 SQL Server와 같이 지원되는 추론된 워크로드 유형별로 비용 절감 기회를 분류할 수 있습니다. Compute Optimizer는 과다 프로비저닝된 SQL Server EC2 인스턴스를 자동으로 검색할 수 있습니다. EC2 콘솔로 전환하여 인스턴스의 크기를 줄임으로써 라이선스 및 인프라 비용을 줄일 수 있습니다.

Compute Optimizer를 사용하여 SQL Server 라이선스 권장 사항을 제공할 수도 있습니다. 자세한 내용은 이 가이드의 [Compute Optimizer를 사용하여 SQL Server 라이선스 최적화](sql-server-compute-optimizer.md)를 참조하세요.

## Compute Optimizer 구성
<a name="sql-server-sizing-compute-optimizer-configuration"></a>

SQL Server 추론 워크로드에서 Compute Optimizer를 사용하는 방법에 대한 지침은 [성능 최적화 및 라이선스 비용 절감: Amazon EC2 SQL Server 인스턴스 활용(블로그)을 참조 AWS Compute Optimizer](https://aws.amazon.com/blogs/modernizing-with-aws/optimizing-performance-and-reducing-licensing-costs-leveraging-aws-compute-optimizer-for-ec2-sql-server-instances/)하세요.AWS 독립 실행형 계정, 조직의 멤버인 계정 및 조직의 관리 계정을 옵트인할 수 있습니다. 독립 실행형 및 멤버 계정의 경우 옵트인하면 해당 계정에 대해서만 Compute Optimizer가 활성화됩니다. 조직 관리 계정의 경우 해당 계정에서만 또는 조직의 모든 멤버 계정에 대해 Compute Optimizer를 활성화할지를 선택할 수 있습니다.

Compute Optimizer 옵트인 프로세스는 AWS Identity and Access Management (IAM) 서비스 연결 역할을 자동으로 생성합니다. 자세한 내용은 [AWS Compute Optimizer에 대한 서비스 연결 역할 사용](https://docs.aws.amazon.com/compute-optimizer/latest/ug/using-service-linked-roles.html)을 참조하세요.

Compute Optimizer는 CPU, I/O, 네트워크, Amazon Elastic Block Store(Amazon EBS) 사용량과 같은 Amazon CloudWatch 지표를 기반으로 리소스를 분석합니다. 권장 사항을 생성하려면 지난 14일 동안 연속 30시간 이상의 CloudWatch 지표 데이터가 필요합니다. 향상된 인프라 지표 기능을 활성화하면 사용률 지표가 93일로 확장됩니다. 자세한 내용은 Compute Optimizer 설명서의 [CloudWatch metric requirements](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-metrics) 및 [Enhanced infrastructure metrics](https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)를 참조하세요.

Compute Optimizer는 vCPU, 메모리, 스토리지, 네트워크, 위험 및 마이그레이션 노력을 기반으로 각 옵션과 관련된 옵션과 비용 절감을 제공합니다. CloudWatch 지표 대시보드를 사용하여 권장 사항에 제공하는 데 사용되는 데이터를 분석할 수 있습니다. 이 데이터를 통해 SQL Server 워크로드를 실행하는 EC2 인스턴스의 적정 규모를 조정할 수 있습니다. 인스턴스 유형 변경 방법에 대한 자세한 내용은 Amazon EC2 설명서의 [인스턴스 유형 변경](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html)을 참조하세요.

## 추가 리소스
<a name="sql-server-sizing-compute-optimizer-resources"></a>
+ [AWS Compute Optimizer Microsoft SQL Server 워크로드 식별 및 필터링](https://aws.amazon.com/about-aws/whats-new/2023/05/aws-compute-optimizer-identifies-filters-sql-server-workloads/)(AWS)
+ [성능 최적화 및 라이선스 비용 절감: Amazon EC2 SQL Server 인스턴스 AWS Compute Optimizer 활용](https://aws.amazon.com/blogs/modernizing-with-aws/optimizing-performance-and-reducing-licensing-costs-leveraging-aws-compute-optimizer-for-ec2-sql-server-instances/)(AWS 블로그)
+ [란 무엇입니까 AWS Compute Optimizer?](https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is-compute-optimizer.html) (AWS 문서)
+ [EC2 인스턴스 권장 사항 보기](https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-ec2-recommendations.html)(AWS 문서)

# SQL Server 워크로드에 대한 Trusted Advisor 권장 사항 검토
<a name="sql-server-trusted-advisor"></a>

## 개요
<a name="sql-server-trusted-advisor-overview"></a>

[AWS Trusted Advisor](https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor.html)에서는 AWS 모범 사례를 따르는 데 도움이 되는 권장 사항을 제공합니다. 사용량, 구성 및 지출을 분석하여 비용을 절감하거나, 시스템 가용성 및 성능을 개선하거나, 보안 격차를 줄이는 데 도움이 되는 실행 가능한 권장 사항을 Trusted Advisor 제공합니다. 이 섹션에서는에서 SQL Server 워크로드 운영 비용을 줄이는 데 도움이 되는 Trusted Advisor 검사에 중점을 둡니다 AWS 클라우드.

## 비용 최적화 권장 사항
<a name="sql-server-trusted-advisor-recommendations"></a>

Trusted Advisor 는 Amazon Elastic Compute Cloud(Amazon EC2)에서 SQL Server 워크로드를 최적화하는 데 도움이 되는 권장 사항을 제공합니다. 검사에서는 SQL Server 워크로드를 검사하고 최적화가 필요한 인스턴스를 자동으로 나열합니다. Trusted Advisor 권장 사항을 운영하면 비용을 절감하고 조직의 보안 태세를 개선할 수 있습니다.

다음은 Microsoft SQL Server에 초점을 맞춘 Trusted Advisor 검사입니다.
+ [Microsoft SQL Server에 대해 과다 프로비저닝된 Amazon EC2 인스턴스](https://docs.aws.amazon.com/awssupport/latest/user/cost-optimization-checks.html#ec2-instance-over-provisioned-microsoft-sql-server) - 이 검사는 SQL Server를 실행 중인 Amazon EC2 인스턴스를 분석하고 인스턴스가 SQL Server 소프트웨어 vCPU 제한을 초과하는 경우 이를 알립니다. 예를 들어 SQL Server Standard 에디션을 포함하는 인스턴스는 최대 48개의 vCPU를 사용할 수 있습니다. SQL Server Web을 포함하는 인스턴스는 최대 32개의 vCPU를 사용할 수 있습니다.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/sql-server-trusted-advisor.html)
+ [Microsoft SQL Server에 대한 Amazon EC2 인스턴스 통합](https://docs.aws.amazon.com/awssupport/latest/user/cost-optimization-checks.html#ec2-instances-consolidation-sql-server) - 이 검사는 Amazon EC2 인스턴스를 분석하고 인스턴스에서 최소 SQL Server 라이선스 수 미만인 경우 이를 알립니다. 작은 SQL Server 인스턴스를 통합하면 비용을 절감할 수 있습니다. 라이선스 포함 작은 SQL Server 인스턴스가 많은 경우 통합을 고려합니다. [Microsoft SQL Server 2019 라이선스 가이드](https://download.microsoft.com/download/e/2/9/e29a9331-965d-4faa-bd2e-7c1db7cd8348/SQL_Server_2019_Licensing_guide.pdf)에 따라 SQL Server에는 인스턴스당 최소 4개의 vCPU 라이선스가 필요합니다. 이러한 데이터베이스를 통합하면 라이선스 비용을 절감할 수 있습니다. 인스턴스의 데이터베이스 수, 최대 데이터베이스 크기 및 데이터베이스의 총 크기를 기반으로 결정할 수 있습니다. 통합은 SQL Server의 Web, Standard, Enterprise 에디션에서 지원됩니다. 자세한 내용은 [Consolidating SQL Server Databases](https://learn.microsoft.com/en-us/archive/blogs/mvpawardprogram/consolidating-sql-server-databases)(Microsoft 블로그 게시물)를 참조하세요.

  AWS 는 하나의 서버에만 대규모 프로덕션 데이터베이스를 배치하는 것을 권장하지 않습니다. 그러나 개발, 테스트 및 스테이징과 같은 비프로덕션 환경에 사용되는 더 작은 데이터베이스를 통합할 수 있습니다. 이는 현재 SQL Server 사용량에 따라 달라집니다. 사용량이 적은 데이터베이스가 있는 경우 하나의 서버에 통합할 수 있습니다.

## 구성 Trusted Advisor
<a name="sql-server-trusted-advisor-configuration"></a>

다음을 수행하여 SQL Server 집중 검사를 평가합니다 Trusted Advisor.

1.  AWS Management Console에 로그인합니다.

1. [AWS Trusted Advisor 콘솔](https://console.aws.amazon.com/trustedadvisor/home)을 엽니다.

1. 탐색 창의 **권장 사항**에서 **비용 최적화**를 선택하세요.

1. **비용 최적화 검사** 목록에서 **Microsoft SQL Server에 대한 Amazon EC2 인스턴스 통합** 및 **Microsoft SQL Server에 대한 과다 프로비저닝된 Amazon EC2 인스턴스** 검사의 상태를 검토하세요.
   + 녹색 확인 기호는 Amazon EC2 인스턴스가 최적으로 구성되었음을 나타냅니다.
   + 주황색 알림 기호는 개선 기회가 있음을 나타냅니다.

1. 검사를 선택하여 해당 세부 정보 및 권장 사항을 확인하세요.

1. 검사에서 제공하는 지침에 따라 SQL Server 워크로드를 실행하는 Amazon EC2 인스턴스를 최적화하세요.

1. 인스턴스를 정기적으로 모니터링하고 검사를 주기적으로 새로 고치세요.

## 추가 리소스
<a name="sql-server-trusted-advisor-resources"></a>
+ [Trusted Advisor 참조 확인](https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor-check-reference.html)(AWS 문서)
+ [Microsoft SQL Server on AWS](https://aws.amazon.com/sql/)(AWS)
+ [Microsoft Licensing on AWS](https://aws.amazon.com/windows/resources/licensing/)(AWS)
+ [SQL Server 2019 pricing](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing)(Microsoft)
+ [AWS Launch Wizard SQL Server용](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-sql.html)(AWS 문서)