RDS for SQL Server에서 스토리지 작업
RDS for SQL Server를 사용하면 RDS for SQL Server 인스턴스에 최대 3개의 추가 볼륨을 연결할 수 있으며, 각 볼륨은 고유한 Windows 드라이브 문자에 매핑됩니다. 이렇게 하면 기본 D: 드라이브를 넘어 여러 볼륨에 데이터베이스 파일을 배포할 수 있습니다. 스토리지 볼륨을 추가하면 데이터베이스 파일 관리 및 스토리지 최적화를 위한 유연성이 향상됩니다.
이점은 다음과 같습니다.
-
유연한 파일 배포 - 데이터베이스 데이터 파일과 로그 파일을 여러 볼륨에 분산하여 I/O 성능을 개선합니다.
-
스토리지 최적화 - 워크로드 요구 사항에 따라 다양한 스토리지 유형 및 구성을 사용합니다.
-
확장성 - 기존 볼륨을 수정하지 않고 스토리지 용량을 추가합니다.
이 페이지의 내용
RDS for SQL Server에서 추가 스토리지 볼륨을 사용하기 위한 고려 사항
RDS for SQL Server에서 추가 스토리지 볼륨을 사용할 때는 다음 기능과 제한 사항에 유의하세요.
-
SQL Server Standard Edition(SE) 및 Enterprise Edition(EE)에서만 스토리지 볼륨을 추가할 수 있습니다.
-
인스턴스당 최대 3개의 스토리지 볼륨을 추가할 수 있습니다.
-
볼륨 이름은 다음과 같이 Windows 드라이브 문자에 자동으로 매핑됩니다.
-
rdsdbdata2–H:드라이브 -
rdsdbdata3–I:드라이브 -
rdsdbdata4–J:드라이브
-
-
TempDB 파일은 NVMe 인스턴스 스토리지를 사용할 때
T:드라이브를 계속 사용합니다. SQL Server Audit 파일과 Microsoft Business Intelligence(MSBI) 파일은D:드라이브에 남아 있습니다. -
범용 SSD(gp3)와 프로비저닝된 IOPS SSD(io2) 스토리지 유형만 추가할 수 있습니다.
-
추가 스토리지 볼륨에는 최소 크기 제한이 없습니다. DB 인스턴스의 최대 스토리지 크기는 모든 볼륨에서 총 256TiB입니다.
-
읽기 전용 복제본이 있는 인스턴스 또는 읽기 전용 복제본 인스턴스에 스토리지 볼륨을 추가하는 것은 지원되지 않습니다.
-
생성 후 볼륨 간 파일 이동은 지원되지 않습니다.
-
D:볼륨은 삭제할 수 없지만 비어 있는 다른 스토리지 볼륨은 삭제할 수 있습니다. -
스냅샷 복원 또는 특정 시점 복구(PITR) 중에 기존 볼륨의 크기를 수정하는 것은 지원되지 않습니다. 그러나 복원 작업 중에 새 스토리지 볼륨을 추가할 수 있습니다.
RDS for SQL Server를 사용하여 스토리지 볼륨 추가, 제거 또는 수정
AWS CLI 또는 AWS Management 콘솔을 사용하여 추가 스토리지 볼륨을 추가, 수정 및 제거할 수 있습니다. 모든 작업은 additional-storage-volumes 파라미터와 함께 modify-db-instance API 작업을 사용합니다.
중요
스토리지 볼륨을 추가하거나 제거하면 백업 보류 중 작업과 특정 시점 복원 블랙아웃 창이 생성됩니다. 백업 워크플로가 완료되면 이 창이 닫힙니다.
스토리지 볼륨 추가
기본 D: 드라이브 외에 최대 3개의 스토리지 볼륨을 추가할 수 있습니다. RDS for SQL Server 인스턴스에 새 스토리지 볼륨을 추가하려면 additional-storage-volumes 파라미터와 함께 modify-db-instance 명령을 사용합니다.
다음 예제에서는 rdsdbdata4라는 새로운 4,000GiB 범용 SSD(gp3) 볼륨을 추가합니다.
aws rds modify-db-instance \ --db-instance-identifiermy-sql-server-instance\ --regionus-east-1\ --additional-storage-volumes '[{"VolumeName":"rdsdbdata4","StorageType":"gp3","AllocatedStorage":4000}]' \ --apply-immediately
추가 스토리지 볼륨 확장
스토리지 크기를 제외한 추가 볼륨의 모든 스토리지 설정을 수정할 수 있습니다. 다음 예시에서는 rdsdbdata2 볼륨에 대한 IOPS 설정을 수정합니다.
aws rds modify-db-instance \ --db-instance-identifiermy-sql-server-instance\ --regionus-east-1\ --additional-storage-volumes '[{"VolumeName":"rdsdbdata2","IOPS":4000}]' \ --apply-immediately
추가 스토리지 볼륨 제거
D: 볼륨은 삭제할 수 없지만 다른 스토리지 볼륨이 비어 있을 때는 삭제할 수 있습니다.
주의
추가 스토리지 볼륨을 제거하기 전에 볼륨에 저장된 데이터베이스 파일이 없는지 확인합니다.
다음 예제에서는 rdsdbdata4 볼륨을 제거합니다.
aws rds modify-db-instance \ --db-instance-identifiermy-sql-server-instance\ --regionus-east-1\ --additional-storage-volumes '[{"VolumeName":"rdsdbdata4","SetForDelete":true}]' \ --apply-immediately
RDS for SQL Server를 사용하여 추가 스토리지 볼륨에 대한 복원 작업
데이터베이스를 복원할 때 스토리지 볼륨을 추가할 수 있습니다. 기존 볼륨의 스토리지 설정을 수정할 수도 있습니다.
스냅샷 복원
스냅샷에서 복원할 때 새 스토리지 볼륨을 추가하거나 기존 볼륨의 IOPS, 처리량 및 스토리지 유형 설정을 수정할 수 있습니다.
다음 예시에서는 스냅샷에서 DB 인스턴스를 복원하고 rdsdbdata2 볼륨에 대한 IOPS 설정을 수정합니다.
aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifiermy-restored-instance\ --db-snapshot-identifiermy-snapshot\ --regionus-east-1\ --additional-storage-volumes '[{"VolumeName":"rdsdbdata2","IOPS":5000}]'
시점 복구
특정 시점 복구(PITR) 중에 사용자 지정 구성을 사용하여 새 스토리지 볼륨을 추가할 수 있습니다.
다음 예제에서는 PITR을 수행하고 새로운 5,000GiB 범용 SSD(gp3) 볼륨을 추가합니다.
aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifiermy-source-instance\ --target-db-instancemy-pitr-instance\ --use-latest-restorable-time \ --regionus-east-1\ --additional-storage-volumes '[{"VolumeName":"rdsdbdata4","StorageType":"gp3","AllocatedStorage":5000,"IOPS":5000,"StorageThroughput":200}]'
기본 데이터베이스 복원
rds_restore_database 저장 프로시저를 사용하여 데이터베이스를 특정 추가 스토리지 볼륨으로 복원할 수 있습니다. 두 가지 새로운 파라미터가 볼륨 선택을 지원합니다.
data_file_volume-
데이터베이스 데이터 파일의 드라이브 문자를 지정합니다.
log_file_volume-
데이터베이스 로그 파일의 드라이브 문자를 지정합니다.
다음 예시에서는 H: 드라이브의 데이터 파일과 I: 드라이브의 로그 파일을 사용하여 데이터베이스를 복원합니다.
EXEC msdb.dbo.rds_restore_database @restore_db_name='my_database', @s3_arn_to_restore_from='arn:aws:s3:::my-bucket/backup-file.bak', @data_file_volume='H:', @log_file_volume='I:';
볼륨 파라미터를 지정하지 않거나 두 파라미터 모두에 D: 드라이브를 지정하면 데이터베이스 파일이 기본 D: 드라이브로 복원됩니다.
EXEC msdb.dbo.rds_restore_database @restore_db_name='my_database', @s3_arn_to_restore_from='arn:aws:s3:::my-bucket/backup-file.bak';
RDS for SQL Server를 사용한 추가 스토리지 볼륨 사용 사례
추가 스토리지 볼륨은 다양한 데이터베이스 관리 시나리오를 지원합니다. 다음 섹션에서는 일반적인 사용 사례 및 구현 접근 방식을 설명합니다.
추가 스토리지 볼륨에 데이터베이스 생성
표준 SQL Server CREATE DATABASE 문을 사용하여 추가 스토리지 볼륨에 직접 새 데이터베이스를 생성할 수 있습니다.
다음 예시에서는 H: 드라이브의 데이터 파일과 I: 드라이브의 로그 파일을 사용하여 데이터베이스를 생성합니다.
CREATE DATABASEMyDatabaseON ( NAME = 'MyDatabase_Data', FILENAME = 'H:\rdsdbdata\data\MyDatabase_Data.mdf', SIZE = 100MB, FILEGROWTH = 10MB ) LOG ON ( NAME = 'MyDatabase_Log', FILENAME = 'I:\rdsdbdata\data\MyDatabase_Log.ldf', SIZE = 10MB, FILEGROWTH = 10% );
스토리지 용량 확장
기본 D: 드라이브가 최대 용량에 도달하면 스토리지 볼륨을 추가하고, 기존 볼륨을 확장하고, 새 볼륨에 새 데이터 파일 또는 로그 파일을 생성할 수 있습니다.
스토리지 용량 확장
-
modify-db-instance명령을 사용하여 인스턴스에 스토리지 볼륨을 추가합니다. -
추가 스토리지 볼륨에 새 데이터 파일을 추가합니다.
ALTER DATABASEMyDatabaseADD FILE ( NAME = 'MyDatabase_Data2', FILENAME = 'H:\rdsdbdata\data\MyDatabase_Data2.ndf', SIZE = 500MB, FILEGROWTH = 50MB );
볼륨 간 데이터베이스 이동
데이터베이스를 다른 볼륨으로 이동하려면 rds_backup_database 및 rds_restore_database 저장 프로시저와 함께 백업 및 복원 접근 방식을 사용합니다. 자세한 내용은 기본 백업 및 복원 사용 섹션을 참조하세요.
데이터베이스를 다른 볼륨으로 이동
-
rds_backup_database를 사용하여 데이터베이스를 백업합니다.EXEC msdb.dbo.rds_backup_database @source_db_name='MyDatabase', @s3_arn_to_backup_to='arn:aws:s3:::my-bucket/database-backup.bak'; -
데이터베이스를 대상 볼륨으로 복원합니다.
EXEC msdb.dbo.rds_restore_database @restore_db_name='MyDatabase_New', @s3_arn_to_restore_from='arn:aws:s3:::my-bucket/database-backup.bak', @data_file_volume='H:', @log_file_volume='I:'; -
이전 드라이브에서 데이터베이스를 삭제하여 공간을 해제합니다. 자세한 내용은 Amazon RDS for Microsoft SQL Server DB 인스턴스 데이터베이스 삭제 섹션을 참조하세요.
비용 효과적인 스토리지에 데이터 보관
분할된 테이블의 경우 이전 데이터를 성능 특성이 다른 추가 스토리지 볼륨에 보관할 수 있습니다.
분할된 데이터 아카이브
-
적절한 스토리지 유형 및 용량을 가진 스토리지 볼륨을 추가합니다.
-
추가 스토리지 볼륨에 새 파일 그룹을 생성합니다.
ALTER DATABASEMyDatabaseADD FILEGROUPArchiveFileGroup; ALTER DATABASEMyDatabaseADD FILE ( NAME = 'Archive_Data', FILENAME = 'H:\rdsdbdata\data\Archive_Data.ndf', SIZE = 1GB, FILEGROWTH = 100MB ) TO FILEGROUPArchiveFileGroup; -
SQL Server 파티션 관리 명령을 사용하여 파티션을 새 파일 그룹으로 이동합니다.