

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

# 인스턴스 통합
<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 클라우드 운영 및 마이그레이션 블로그)