SQL Server 데이터베이스 마이그레이션 전략
높은 수준에서 보면 SQL Server 데이터베이스를 온프레미스에서 AWS 클라우드로 마이그레이션하는 두 가지 옵션이 있습니다. 하나는 SQL Server를 계속 사용하는 것(동종 마이그레이션)이고 다른 하나는 SQL Server를 사용하지 않는 것(이기종 마이그레이션)입니다. 동종 마이그레이션에서는 데이터베이스 엔진을 변경하지 않습니다. 즉, 대상 데이터베이스는 SQL Server 데이터베이스이기도 합니다. 이기종 마이그레이션에서는 SQL Server 데이터베이스를 MySQL, PostgreSQL 또는 MariaDB와 같은 오픈 소스 데이터베이스 엔진이나 Amazon Aurora, Amazon DynamoDB 또는 Amazon Redshift와 같은 AWS 클라우드 네이티브 데이터베이스로 전환합니다.
SQL Server 데이터베이스를 AWS(으)로 마이그레이션하는 데는 리호스팅, 리플랫포밍, 리아키텍트(리팩터링) 등 세 가지 일반적인 전략이 있습니다. 이는 애플리케이션 마이그레이션 전략의 7R 중 일부이며 다음 표에 설명되어 있습니다.
| Strategy | 유형 | 선택 시기 | 예시 |
|---|---|---|---|
리호스팅 |
동종 |
운영 체제, 데이터베이스 소프트웨어 또는 구성을 변경하거나 변경하지 않고 SQL Server 데이터베이스를 있는 그대로 마이그레이션하려고 합니다. |
SQL 서버에서 Amazon EC2로 |
리플랫포밍 |
동종 |
완전 관리형 데이터베이스 제품을 사용하여 데이터베이스 인스턴스 관리에 소요되는 시간을 줄이고 싶습니다. |
SQL Server for SQL Server, Amazon RDS for SQL Server |
리아키텍트(리팩터링) |
이기종 |
오픈 소스 및 클라우드 네이티브 데이터베이스 기능을 활용하기 위해 데이터베이스와 애플리케이션을 재구성, 재작성 및 재설계하려고 합니다. |
SQL 서버에서 Amazon Aurora PostgreSQL, MySQL 또는 MariaDB로 |
SQL Server 데이터베이스를 리호스팅할지 또는 리플랫포밍할지 결정하려는 경우 이 안내서의 뒷부분에 나오는 Amazon EC2와 Amazon RDS 중 하나를 선택하여 지원되는 기능을 나란히 비교하십시오.
적절한 마이그레이션 전략 선택
올바른 전략을 선택하는 것은 비즈니스 요구 사항, 리소스 제약, 마이그레이션 기간 및 비용 고려 사항에 따라 달라집니다. 다음 다이어그램은 7가지 전략을 모두 포함하여 마이그레이션과 관련된 노력과 복잡성을 보여줍니다.
SQL Server 데이터베이스를 리팩터링하고 Amazon Aurora PostgreSQL 호환 에디션 또는 Aurora MySQL 호환 에디션과 같은 오픈 소스 또는 AWS 클라우드 네이티브 데이터베이스로 마이그레이션하면 데이터베이스를 현대화하고 최적화하는 데 도움이 될 수 있습니다. 오픈 소스 데이터베이스로 전환하면 값비싼 라이선스 (비용 절감), 공급업체 종속 기간 및 감사를 피할 수 있습니다. 그러나 워크로드의 복잡성에 따라 SQL Server 데이터베이스를 리팩터링하는 작업은 복잡하고 시간이 많이 걸리며 리소스 집약적인 작업이 될 수 있습니다.
복잡성을 줄이려면 데이터베이스를 한 번에 마이그레이션하는 대신 단계적 접근 방식을 고려해 볼 수 있습니다. 첫 번째 단계에서는 핵심 데이터베이스 기능에 집중할 수 있습니다. 다음 단계에서는 추가 AWS 서비스를 클라우드 환경에 통합하여 비용을 절감하고 성능, 생산성 및 규정 준수를 최적화할 수 있습니다. 예를 들어 온프레미스 SQL Server 데이터베이스를 Aurora MySQL과 호환되는 데이터베이스로 교체하는 것이 목표라면, 첫 번째 단계에서는 데이터베이스를 Amazon EC2에 리호스팅하거나 Amazon RDS for SQL Server에서 데이터베이스를 재구축하고, 이후 단계에서는 Aurora MySQL과 호환되도록 리팩터링하는 것을 고려할 수 있습니다. 이 접근 방식은 마이그레이션 단계에서 비용, 리소스 및 위험을 줄이는 데 도움이 되며 두 번째 단계에서는 최적화 및 현대화에 중점을 둡니다.
온라인 및 오프라인 마이그레이션
마이그레이션 일정과 허용할 수 있는 가동 중지 시간에 따라 두 가지 방법, 즉 오프라인 마이그레이션 또는 온라인 마이그레이션을 사용하여 온-프레미스 또는 다른 AWS 클라우드 환경에서 클라우드로 SQL Server 데이터베이스를 마이그레이션할 수 있습니다.
-
오프라인 마이그레이션: 이 방법은 애플리케이션이 계획된 다운타임을 감당할 수 있을 때 사용됩니다. 오프라인 마이그레이션에서는 마이그레이션 기간 동안 소스 데이터베이스가 오프라인 상태가 됩니다. 소스 데이터베이스가 오프라인 상태인 동안에는 AWS에 있는 대상 데이터베이스로 마이그레이션됩니다. 마이그레이션이 완료되면 소스 데이터베이스와의 데이터 일관성을 보장하기 위해 검증 및 확인 검사가 수행됩니다. 데이터베이스가 모든 유효성 검사를 통과하면 AWS에서 애플리케이션을 대상 데이터베이스에 연결하여 AWS(으)로 전환을 수행합니다.
-
온라인 마이그레이션: 이 방법은 애플리케이션의 가동 중지 시간이 거의 없거나 최소일 때 사용됩니다. 온라인 마이그레이션에서는 소스 데이터베이스가 여러 단계에 걸쳐 AWS(으)로 마이그레이션됩니다. 초기 단계에서는 소스 데이터베이스가 계속 실행되는 동안 소스 데이터베이스의 데이터가 대상 데이터베이스에 복사됩니다. 후속 단계에서는 소스 데이터베이스에서 변경된 모든 내용이 대상 데이터베이스로 전달됩니다. 원본 및 대상 데이터베이스가 동기화되면 전환할 준비가 된 것입니다. 전환하는 동안 애플리케이션은 소스 데이터베이스에 대한 연결을 유지한 채 AWS에 있는 대상 데이터베이스로 연결을 전환합니다. 에서 사용할 수 있는 AWS Database Migration Service(AWS DMS) 또는 도구 AWS Marketplace
(예: Attunity)를 사용하여 원본 및 대상 데이터베이스를 동기화할 수 있습니다.