AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
RDS for SQL Server에서 SQL Server 엔진 에디션을 업그레이드하거나 다운그레이드하려면 어떻게 해야 합니까?
Amazon Relational Database Service(Amazon RDS) for Microsoft SQL Server에서 SQL Server 엔진 에디션을 업그레이드하거나 다운그레이드하려고 합니다.
간략한 설명
Amazon RDS for SQL Server는 Express, Web, Standard, Enterprise 에디션을 지원합니다. Amazon Aurora 및 RDS 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용해서는 인플레이스 수정으로 SQL Server 에디션 변경을 수행할 수 없습니다.
해결 방법
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
SQL Server 엔진 버전 업그레이드
기존 RDS for SQL Server 인스턴스의 RDS 스냅샷을 만든 다음 해당 스냅샷으로부터 새 RDS 인스턴스를 복원합니다. 업그레이드 제한 사항은 Microsoft SQL Server 고려 사항을 참조하십시오.
다음 단계를 완료하십시오.
- 원본 RDS for SQL Server 인스턴스의 스냅샷을 만듭니다.
- 스냅샷을 복원하여 새 RDS 인스턴스를 만듭니다. 인스턴스를 복원할 때, 데이터베이스의 최신 에디션을 선택합니다.
- 원본 RDS for SQL Server 인스턴스의 이름을 변경하거나 삭제해야 해당 DNS 엔드포인트 이름을 재사용할 수 있습니다. 자세한 내용은 이 문서의 RDS 인스턴스 이름 변경 섹션을 참조하십시오.
Standard 에디션에서 Enterprise 에디션으로 업그레이드하려면 Amazon RDS for SQL Server 인스턴스를 Standard 에디션에서 Enterprise 에디션으로 수정을 참조하십시오.
다음과 같은 유형의 업그레이드에도 동일한 스냅샷 및 복원 방법을 사용할 수 있습니다.
- Standard 에디션에서 Enterprise 에디션으로
- Web 에디션에서 Standard 에디션 또는 Enterprise 에디션으로
- Express 에디션에서 Web 에디션, Standard 에디션 또는 Enterprise 에디션으로
참고: 에디션을 업그레이드할 때 스냅샷 복원이 새 RDS for SQL Server 인스턴스를 만듭니다. 새 인스턴스의 RDS 엔드포인트는 스냅샷 소스 인스턴스와 다릅니다.
SQL Server 에디션 다운그레이드
RDS for SQL Server 인스턴스를 이후 에디션에서 이전 에디션으로 인플레이스 다운그레이드하는 작업은 지원되지 않습니다. 하지만 다음과 같은 유형의 다운그레이드는 모두 완료할 수 있습니다.
- Enterprise 에디션에서 Standard, Web 또는 Express 에디션으로
- Standard 에디션에서 Web 또는 Express 에디션으로
- Web 에디션에서 Express 에디션으로
RDS for SQL Server 에디션을 다운그레이드하려면 기본 백업 및 복원 옵션, AWS Database Migration Service(AWS DMS) 또는 기타 도구를 사용합니다. 가동 중지 시간, 업무량, 사용 사례의 복잡성 등과 같은 요소를 기준으로 다운그레이드 옵션을 선택하십시오.
RDS for SQL Server의 기본 백업 및 복원 옵션
기본 백업 및 복원을 사용하면 기존 소스 RDS for SQL Server 인스턴스의 데이터베이스 전체 백업을 만듭니다.
소스 Enterprise 인스턴스에서 대상 Standard 인스턴스로 다운그레이드하려면 다음 단계를 완료하십시오.
- Standard 에디션으로 새 RDS for SQL Server DB 인스턴스를 만듭니다.
- 소스 Enterprise 및 대상 Standard 에디션 인스턴스에 기본 백업 및 복원 옵션을 추가합니다.
- 소스 Enterprise 인스턴스의 각 사용자 데이터베이스를 Amazon Simple Storage Service(Amazon S3) 버킷에 백업합니다.
- 소스 Enterprise 인스턴스의 각 데이터베이스에서 sys.dm_dm_persisted_sku-features 쿼리를 실행합니다.
참고: database-name을 데이터베이스 이름으로 바꾸십시오.USE database-name GO SELECT feature_name FROM sys.dm_db_persisted_sku_features; GO
앞의 쿼리는 현재 최신 에디션에 연결된 기능이 있는지 검사합니다. 데이터베이스를 대상 인스턴스의 이전 에디션에 복원하면 이후 에디션에 연결된 기능이 작동하지 않을 수 있습니다. 자세한 내용은 Microsoft 웹사이트에서 sys.dm_db_persisted_sku_features(Transact-SQL)를 참조하십시오. - Amazon S3 버킷에서 대상 Standard 인스턴스로 백업을 복원합니다.
- 대상 Standard 인스턴스 데이터베이스에 필요한 로그인 및 사용자를 만듭니다. 또한 적절한 보안 그룹도 만들고 적절한 파라미터-옵션 그룹을 연결합니다.
참고: 앞선 단계를 사용하여 RDS의 SQL Server 모든 에디션에서 데이터베이스를 내보내고 가져올 수 있습니다.
AWS DMS
AWS DMS는 최신 에디션 인스턴스에서 진행 중인 변경 사항을 이전 에디션 인스턴스로 복제합니다. AWS DMS는 단방향 복제 및 대량 로드 테이블을 허용하며 지원되는 데이터 변경 사항을 캡처합니다.
자세한 내용은 다음 AWS 설명서를 참조하십시오.
- Microsoft SQL Server 데이터베이스를 AWS DMS의 소스로 사용
- Microsoft SQL Server 데이터베이스를 AWS Database Migration Service의 대상으로 사용
- SQL Server를 AWS DMS의 소스로 사용할 때의 제한 사항
- AWS DMS를 사용하여 SQL Server 데이터베이스를 Amazon RDS for SQL Server로 마이그레이션
SQL Server 데이터를 가져오고 내보내기 위한 기타 도구
다음 도구를 사용하여 데이터베이스를 가져오고 내보낼 수도 있습니다.
- SQL Server 가져오기 및 내보내기 마법사
- 스크립트 생성 및 게시 마법사
- 대량 복사(bcp 유틸리티)
참고: 위 도구를 사용하기 전에 먼저 이전 SQL Server 에디션에서 인스턴스를 시작해야 합니다.
해당 도구를 사용하여 데이터를 이동하면 해결해야 하는 여러 가지 데이터 일관성 또는 무결성 문제가 발생할 수 있습니다. 도구 중 하나를 사용하기 전에 테스트 환경에서 프로세스를 철저히 테스트하십시오.
SQL Server 가져오기 및 내보내기 마법사의 경우 소스 인스턴스의 데이터베이스 및 객체에 대한 스키마를 만들어 대상 인스턴스에 복사합니다. 그런 다음, 마법사를 사용하여 한 RDS for SQL Server DB 인스턴스에서 다른 데이터 저장소로 테이블, 보기 또는 쿼리를 복사합니다.
SQL Server 스크립트 생성 및 게시 마법사와 bcp 유틸리티의 경우 마법사를 사용하여 전체 데이터베이스 또는 선택한 객체에 대한 스크립트를 만듭니다. 대상 SQL Server DB 인스턴스에서 스크립트를 실행하여 스크립팅된 객체를 다시 만들 수 있습니다. 그런 다음, 대량 복사 기능을 사용하여 선택한 객체의 데이터를 대상 DB 인스턴스로 내보냅니다. 소스 및 대상 RDS 인스턴스에 모두 연결된 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 bcp 유틸리티를 실행하십시오.
RDS 인스턴스 이름 변경
위의 모든 옵션을 사용하면 새로운 대상 RDS 인스턴스가 만들어집니다. 새 RDS 인스턴스에는 기존 소스 RDS 인스턴스와 다른 RDS DNS 엔드포인트가 있습니다.
애플리케이션 및 서비스 전체에서 새 RDS 엔드포인트를 업데이트하면 구성 요소에서 연결 문자열 업데이트가 누락되어 오류가 발생하는 경우가 있습니다.
이 문제를 방지하려면 소스 및 대상 RDS 인스턴스의 이름을 바꾸는 것이 모범 사례입니다. 인스턴스 이름을 변경하면 대상 에디션 인스턴스에는 원본 소스 에디션 인스턴스와 동일한 RDS DNS 엔드포인트가 있습니다. 따라서 에디션을 변경한 후 종속 애플리케이션 또는 서비스의 연결 문자열을 변경할 필요가 없습니다.
에디션을 변경한 후 소스 및 대상 RDS 인스턴스의 이름을 바꾸려면 다음 단계를 완료하십시오.
참고: 다음 프로시저 예시에서 소스 RDS 인스턴스는 Enterprise 에디션이 있는 rds-original이고, 대상 인스턴스는 Standard 에디션이 있는 rds-new입니다.
- 소스 인스턴스 rds-original로 수신되는 모든 트래픽을 중지합니다.
- RDS 인스턴스에서 SQL Server 에디션을 업그레이드하거나 다운그레이드합니다.
참고: 업그레이드 또는 다운그레이드한 후 소스 인스턴스는 rds-original이고 대상 인스턴스는 rds-new입니다. - 소스 인스턴스를 수정하여 rds-original에서 다른 이름(예: rds-original-old)으로 DB 인스턴스의 이름을 변경합니다.
- rds-original-old 인스턴스가 사용 가능 상태가 되면 대상 DB 인스턴스의 이름을 rds-new에서 소스 인스턴스의 원래 이름인 rds-original로 변경합니다.
- 인스턴스가 rds-original-old 및 rds-original로 이름 변경되고 사용 가능 상태인지 확인합니다.
- 새 대상 RDS 인스턴스 보안 그룹을 소스 인스턴스와 동일하게 유지하여 기존 애플리케이션의 네트워크 연결을 유지합니다.
- 필요한 SQL Server 에디션이 있는 rds-original 인스턴스로 들어오는 트래픽을 허용합니다. RDS에는 소스 인스턴스와 동일한 DNS 엔드포인트가 있으므로 애플리케이션 연결 문자열을 변경할 필요가 없습니다.
- 애플리케이션 테스트를 수행하여 RDS 인스턴스 에디션 변경으로 인해 오류가 발생하지 않는지 확인합니다.
- 오류가 없으면 rds-original-old 인스턴스의 최종 스냅샷을 만들고 인스턴스를 삭제하여 비용을 줄입니다.
참고: 프로덕션 환경에서 변경 사항을 구현하기 전에 테스트 환경에서 활동을 테스트하는 것이 모범 사례입니다.
관련 정보
AWS 권장 가이드 - Enterprise 버전에서 AWS의 Standard 버전으로 Microsoft SQL Server 다운그레이드 평가

