인스턴스 통합 - AWS 규범적 지침

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

인스턴스 통합

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

개요

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

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

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

Microsoft SQL Server 2019: 라이선싱 가이드 에 명시된 대로 SQL 서버를 실행하는 각 서버는 최소 4개의 CPU 라이선스를 설명해야 합니다. 즉vCPUs, 가 두 개뿐인 서버를 실행하더라도 4개 에 대해 SQL 서버에 라이선스를 부여해야 합니다vCPUs. SQL Server Standard 에디션을 사용하는 경우 Microsoft의 퍼블릭 SQL 서버 요금에 따라 3,945달러가 다릅니다. 최소 리소스를 사용하여 단일 서버 인스턴스로 여러 SQL 서버를 실행하는 조직의 경우 사용하지 않은 리소스에 대한 라이선스를 부여하는 데 드는 총 비용이 상당할 수 있습니다.

비용 최적화 시나리오

이 섹션에서는 각각 단일 서버 인스턴스를 사용하여 4개의 Windows Server 서버를 실행하는 것과 동시에 여러 SQL 서버 SQL 인스턴스를 실행하는 하나의 대형 Windows Server 서버의 차이점을 비교하는 예제 시나리오를 살펴봅니다.

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

EC2 인스턴스 vCPUs RAM 가격 vCPUs 라이선스를 취득하려면 총 SQL 서버 라이선스 비용
m6i.large 2 8 0.096 4 $7,890

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

EC2 인스턴스 vCPUs RAM 가격 vCPUs 라이선스를 취득하려면 총 SQL 서버 라이선스 비용
4x m6i.large 2 32 0.384 16 $31,560

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

EC2 인스턴스 vCPUs RAM 가격 vCPUs 라이선스를 취득하려면 총 SQL 서버 라이선스 비용
m6i.2xlarge 8 32 0.384 8 $15,780
참고

앞의 표에서 컴퓨팅 비용은 us-east-1 리전에서 Windows Server를 실행하는 Amazon EC2 서버의 시간당 온디맨드 요금을 보여줍니다. SQL Server Standard Edition 라이선스 비용은 Microsoft의 퍼블릭 SQL 서버 요금 을 참조합니다.

비용 최적화 권장 사항

SQL 서버 인스턴스 통합을 고려하는 경우 가장 큰 문제는 통합하려는 각 인스턴스의 리소스 소비입니다. 각 서버의 워크로드 패턴을 더 잘 이해하려면 장기간에 걸쳐 성능 지표를 확보하는 것이 중요합니다. 리소스 소비 모니터링을 위한 몇 가지 일반적인 도구는 Amazon CloudWatch, Windows 성능 모니터(퍼프몬) 및 SQL 서버의 기본 모니터링 도구입니다.

SQL 서버 워크로드를 서로 간섭하지 않고 동일한 서버 리소스를 사용하도록 결합할 수 있는지 분석할 때 다음 질문을 고려하는 것이 좋습니다.

  • 정상 상태에서는 어떤 리소스(CPU, 메모리 및 네트워크 대역폭)가 사용되나요?

  • 스파이크 중에 소비되는 리소스(CPU, 메모리 및 네트워크 대역폭)는 무엇입니까?

  • 스파이크는 얼마나 자주 발생하나요? 스파이크가 일관적입니까?

  • 한 서버의 리소스 스파이크가 다른 서버의 리소스 스파이크와 일치합니까?

  • SQL 서버에서 사용하는 스토리지IOPS와 처리량은 얼마입니까?

SQL 서버 인스턴스를 결합하기 위한 계획을 진행하려면 클라우드 운영 및 마이그레이션 블로그의 Amazon 인스턴스 게시물 하나에서 여러 SQL 서버 EC2 인스턴스 실행을 AWS 참조하세요. 이 게시물에서는 SQL 서버에서 구성을 변경하여 인스턴스를 추가하는 방법에 대한 지침을 제공합니다. 시작하기 전에 동일한 서버에 여러 인스턴스가 설치될 때의 사소한 차이점을 고려하세요.

  • 기본 SQL 서버 데이터베이스 인스턴스의 이름은 MSSQLSERVER 이며 포트 1433을 사용합니다.

  • 동일한 서버에 설치된 각 추가 인스턴스는 “이름이 지정된” 데이터베이스 인스턴스입니다.

  • 이름이 지정된 각 인스턴스에는 고유한 인스턴스 이름과 고유한 포트가 있습니다.

  • SQL 서버 브라우저를 실행하여 명명된 인스턴스에 대한 트래픽을 조정해야 합니다.

  • 각 인스턴스는 데이터베이스 데이터 파일에 별도의 위치를 사용하고 로그인을 분리할 수 있습니다.

  • SQL 서버 최대 서버 메모리 설정은 각 인스턴스의 성능 요구 사항에 따라 구성해야 하며, 합계는 기본 운영 체제에 충분한 메모리를 남겨 둡니다.

  • SQL 서버 기본 백업 및 복원 기능 또는 를 마이그레이션 또는 통합AWS DMS에 사용할 수 있습니다.

추가 리소스