Amazon RDS for SQL Server의 tempdb 데이터베이스에 대한 인스턴스 스토어 지원 - Amazon Relational Database Service

Amazon RDS for SQL Server의 tempdb 데이터베이스에 대한 인스턴스 스토어 지원

인스턴스 스토어는 DB 인스턴스에 블록 수준의 임시 스토리지를 제공합니다. 스토리지는 호스트 컴퓨터에 물리적으로 연결된 디스크에 위치합니다. 이러한 디스크에는 SSD(솔리드 스테이트 드라이브)를 기반으로 하는 NVMe(Non-Volatile Memory Express) 인스턴스 스토리지가 있습니다. 이 스토리지는 짧은 지연 시간, 매우 높은 임의 I/O 성능, 높은 순차 읽기 처리량에 최적화되어 있습니다.

인스턴스 스토어에 tempdb 데이터 파일과 tempdb 로그 파일을 배치하면 Amazon EBS를 기반으로 하는 표준 스토리지에 비해 읽기 및 쓰기 지연 시간을 줄일 수 있습니다.

참고

SQL Server 데이터베이스 파일 및 데이터베이스 로그 파일은 인스턴스 스토어에 저장되지 않습니다.

인스턴스 스토어 활성화

RDS가 다음 인스턴스 클래스 중 하나로 DB 인스턴스를 프로비저닝하면 tempdb 데이터베이스가 인스턴스 스토어에 자동으로 배치됩니다.

  • db.m5d

  • db.r5d

  • db.x2iedn

인스턴스 스토어를 활성화하려면 다음 중 하나를 수행합니다.

  • 이러한 인스턴스 유형 중 하나를 사용하여 SQL Server DB 인스턴스를 생성합니다. 자세한 내용은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요.

  • 기존 SQL Server DB 인스턴스 중 하나를 사용할 수 있도록 수정합니다. 자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.

인스턴스 스토어는 이러한 인스턴스 유형 중 하나 이상이 지원되는 모든 AWS 리전에서 사용 가능합니다. db.m5ddb.r5d 인스턴스 클래스에 대한 자세한 내용은 DB 인스턴스 클래스 섹션을 참조하세요. Amazon RDS for SQL Server에서 지원하는 인스턴스 클래스에 대한 자세한 내용은 Microsoft SQL Server를 위한 DB 인스턴스 클래스 지원 단원을 참조하세요.

파일 위치와 크기 고려 사항

인스턴스 스토어가 없는 인스턴스에서는 RDS가 tempdb 데이터 및 로그 파일을 D:\rdsdbdata\DATA 디렉터리에 저장합니다. 두 파일은 기본적으로 8MB에서 시작합니다.

인스턴스 스토어가 있는 인스턴스에서는 RDS가 tempdb 데이터 및 로그 파일을 T:\rdsdbdata\DATA 디렉터리에 저장합니다.

tempdb에는 하나의 데이터 파일(tempdb.mdf)과 하나의 로그 파일(templog.ldf)만 있지만, templog.ldf는 기본적으로 8MB에서 시작하며, tempdb.mdf는 인스턴스 스토리지 용량의 80% 이상에서 시작합니다. 스토리지 용량의 20% 또는 200GB 중 더 적은 용량에서 자유롭게 시작할 수 있습니다. 여러 tempdb 데이터 파일은 80% 디스크 공간을 균등하게 분할하지만 로그 파일은 항상 초기 크기가 8MB입니다.

예를 들어 DB 인스턴스 클래스를 db.m5.2xlarge에서 db.m5d.2xlarge로 수정하면 tempdb 데이터 파일 크기가 각각 8MB에서 총 234GB로 늘어납니다.

참고

인스턴스 스토어(tempdb)의 T:\rdsdbdata\DATA 데이터 및 로그 파일 외에, 데이터 볼륨(tempdb)에도 D:\rdsdbdata\DATA 데이터 및 로그 파일을 추가로 생성할 수 있습니다. 해당 파일의 초기 크기는 항상 8MB입니다.

백업 고려 사항

오랫동안 백업을 보존해야 할 수 있으므로 시간이 지나면서 비용이 발생합니다. tempdb 데이터와 로그 블록은 워크로드에 따라 매우 자주 변경될 수 있습니다. 이렇게 하면 DB 스냅샷 크기가 크게 증가할 수 있습니다.

tempdb이(가) 인스턴스 스토어에 있는 경우 스냅샷에 임시 파일이 포함되지 않습니다. 즉, EBS 전용 스토리지에 비해 스냅샷 크기가 더 작고 더 적은 여유 백업 할당량을 사용합니다.

디스크 가득 참 오류

인스턴스 스토어에서 사용 가능한 공간을 모두 사용하면 다음과 같은 오류가 발생할 수 있습니다.

  • 데이터베이스 'tempdb'에 대한 트랜잭션 로그가 'ACTIVE_TRANSACTION' 때문에 가득 찼습니다.

  • PRIMARY' 파일 그룹이 가득 찼기 때문에 데이터베이스 'tempdb'에 있는 객체 'dbo.SORT 임시 실행 스토리지: 140738941419520’에 대한 공간을 할당할 수 없습니다. 불필요한 파일을 삭제하거나, 파일 그룹에서 객체를 삭제하거나, 파일 그룹에 파일을 추가하거나, 파일 그룹의 기존 파일에 대해 자동 증가를 설정하여 디스크 공간을 생성합니다.

인스턴스 스토어가 가득 차면 다음 중 하나 이상을 수행할 수 있습니다.

  • 워크로드 또는 tempdb 사용 방식을 조정합니다.

  • DB 인스턴스 클래스를 더 많은 NVMe 스토리지와 함께 사용하도록 확장합니다.

  • 인스턴스 스토어 사용을 중지하고, EBS 스토리지만 있는 인스턴스 클래스를 사용합니다.

  • EBS 볼륨에서 tempdb에 대한 보조 데이터 또는 로그 파일을 추가하여 혼합 모드를 사용합니다.

인스턴스 스토어 제거

인스턴스 스토어를 제거하려면 db.m5, db.r5 또는 db.x1e등 인스턴스 스토어를 지원하지 않는 인스턴스 유형을 사용하도록 SQL Server DB 인스턴스를 수정합니다.

참고

인스턴스 스토어를 제거하면 임시 파일이 D:\rdsdbdata\DATA 디렉터리로 이동되고 크기가 8MB로 줄어듭니다.