Azure Database Migration Service
1. 개요
1. 개요
Azure Database Migration Service는 마이크로소프트가 제공하는 완전 관리형 클라우드 서비스이다. 이 서비스의 주요 용도는 기업이 운영 중인 다양한 온프레미스 또는 클라우드 데이터베이스를 마이크로소프트 애저의 데이터 플랫폼으로 원활하게 이전하는 것을 지원하는 것이다. 사용자는 복잡한 마이그레이션 스크립트나 도구를 직접 관리할 필요 없이 이 서비스를 통해 마이그레이션 작업을 간소화하고 가속화할 수 있다.
이 서비스는 광범위한 데이터베이스 소스를 지원하는 것이 특징이다. 주요 지원 소스에는 SQL Server, Oracle, MySQL, PostgreSQL, MongoDB 등이 포함된다. 이러한 소스 데이터베이스는 Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL, Azure Cosmos DB와 같은 애저의 관리형 데이터 서비스로 마이그레이션할 수 있다.
마이그레이션 유형 측면에서 서비스는 두 가지 방식을 제공한다. 애플리케이션 다운타임을 최소화해야 하는 경우 데이터 복제를 지속하며 최종 전환 시점까지 소스와 대상 간 동기화를 유지하는 온라인 마이그레이션을 선택할 수 있다. 반면, 허용 가능한 다운타임 동안 빠르게 데이터를 이전하는 오프라인 마이그레이션도 지원하여 유연성을 제공한다. 이를 통해 기업은 비즈니스 요구사항과 시스템 환경에 가장 적합한 마이그레이션 경로를 설계할 수 있다.
2. 주요 기능
2. 주요 기능
Azure Database Migration Service는 데이터베이스 마이그레이션 작업을 단순화하고 자동화하기 위한 몇 가지 핵심 기능을 제공한다. 이 서비스는 마이그레이션 프로젝트의 복잡성을 줄이고, 다운타임을 최소화하며, 마이그레이션의 안정성과 성공률을 높이는 데 중점을 둔다.
서비스의 주요 기능으로는 오프라인 마이그레이션과 온라인 마이그레이션을 모두 지원하는 점이 있다. 오프라인 마이그레이션은 애플리케이션 다운타임이 허용되는 시나리오에 적합하며, 비교적 단순하고 빠르게 완료할 수 있다. 반면, 온라인 마이그레이션은 마이그레이션 중에도 소스 데이터베이스의 가동 중단을 최소화해야 하는 비즈니스에 필수적이다. 이 기능을 통해 소스에서 대상으로의 초기 데이터 복사 후, 지속적인 변경 내용 동기화가 이루어져 애플리케이션의 전환 시간을 극히 짧게 유지할 수 있다.
또한, 이 서비스는 마이그레이션 프로세스의 평가, 권장 사항 제공, 실제 전환 작업을 통합된 환경에서 관리할 수 있게 한다. 사용자는 서비스 내에서 소스 데이터베이스의 호환성을 평가하고, 잠재적인 문제를 사전에 식별하며, 마이그레이션 단계를 모니터링할 수 있다. 이는 Microsoft Azure 포털을 통해 직관적으로 관리되며, PowerShell이나 Azure CLI를 이용한 스크립트 자동화도 지원한다.
지원되는 데이터베이스의 다양성도 중요한 기능이다. SQL Server, Oracle, MySQL, PostgreSQL, MongoDB 등 주요 온프레미스 또는 클라우드 데이터베이스 소스로부터 Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL 등의 완전 관리형 PaaS 서비스나 Azure Cosmos DB로의 마이그레이션 경로를 제공한다. 이를 통해 기업은 다양한 데이터 자산을 클라우드 컴퓨팅 환경으로 통합 이전하는 전략을 수립할 수 있다.
3. 지원되는 마이그레이션 원본 및 대상
3. 지원되는 마이그레이션 원본 및 대상
Azure Database Migration Service는 여러 주요 온프레미스 및 클라우드 데이터베이스 소스에서 Azure의 다양한 관리형 데이터 플랫폼으로의 마이그레이션을 지원한다. 지원되는 원본 데이터베이스에는 Microsoft SQL Server, Oracle Database, MySQL, PostgreSQL, MongoDB 등이 포함된다. 이는 기업이 기존에 널리 사용되는 상용 및 오픈소스 데이터베이스 시스템에서 클라우드 컴퓨팅 환경으로 전환할 수 있는 폭넓은 호환성을 제공한다.
서비스의 주요 마이그레이션 대상은 Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL, Azure Cosmos DB와 같은 완전 관리형 Azure 데이터 서비스들이다. 특히 Azure SQL Managed Instance는 온프레미스 SQL Server 환경과의 높은 호환성을 유지하면서 관리 부담을 줄여주는 인기 있는 마이그레이션 대상이다.
마이그레이션은 오프라인과 온라인 두 가지 유형으로 수행할 수 있다. 오프라인 마이그레이션은 애플리케이션 가동 중단 시간이 허용되는 시나리오에 적합하며, 마이그레이션 동안 데이터베이스에 대한 연결이 차단된다. 반면 온라인 마이그레이션은 마이그레이션 프로세스 중에도 원본 데이터베이스의 변경 사항을 지속적으로 동기화하여 최소한의 가동 중단 시간으로 전환을 완료할 수 있어 비즈니스 연속성이 중요한 경우에 필수적이다.
지원되는 원본과 대상의 조합은 데이터베이스 엔진과 마이그레이션 유형에 따라 다르다. 예를 들어, Oracle Database에서 Azure SQL Managed Instance로의 마이그레이션이나 MongoDB에서 Azure Cosmos DB의 MongoDB API로의 마이그레이션을 지원한다. 사용자는 Azure Portal 내의 서비스 인터페이스를 통해 자신의 특정 원본-대상 쌍에 대한 지원 여부와 권장 마이그레이션 방법을 확인할 수 있다.
4. 마이그레이션 프로세스
4. 마이그레이션 프로세스
Azure Database Migration Service를 통한 마이그레이션은 일반적으로 몇 가지 주요 단계를 거쳐 진행된다. 먼저, 마이그레이션 프로젝트를 생성하고 평가 단계를 수행한다. 이 단계에서는 원본 데이터베이스의 호환성을 분석하고 잠재적인 문제를 식별하여 마이그레이션 전략을 수립한다. 특히 SQL Server에서 Azure SQL Database로의 마이그레이션 시 T-SQL 차이점이나 기능 지원 여부를 점검한다.
다음으로, 마이그레이션 활동을 구성한다. 사용자는 Azure Portal에서 서비스 인스턴스를 생성한 후, 원본과 대상의 연결 정보를 입력하고 마이그레이션 유형을 선택한다. 지원되는 유형은 오프라인(원자성) 마이그레이션과 온라인(연속 동기화) 마이그레이션이다. 오프라인 방식은 애플리케이션 가동 중지 시간이 허용될 때 사용하며, 온라인 방식은 최소한의 다운타임으로 데이터를 지속적으로 동기화한다.
마이그레이션 실행 단계에서는 스키마와 데이터가 전송된다. 서비스는 먼저 데이터베이스 스키마를 대상 플랫폼에 맞게 변환하여 배포한 후, 데이터 복사를 시작한다. 온라인 마이그레이션의 경우, 초기 전체 로드 후 변경 데이터 캡처 기술을 활용해 원본의 모든 증분 변경 사항을 캡처하여 대상에 지속적으로 적용한다. 이 과정은 사용자가 애플리케이션을 전환할 준비가 될 때까지 계속된다.
마지막으로, 애플리케이션 전환 및 마이그레이션 완료 단계를 거친다. 모든 데이터가 동기화된 상태에서 애플리케이션의 연결 문자열을 새로운 Azure 대상 데이터베이스로 변경한다. 온라인 마이그레이션의 경우, 전환 후 최종 데이터 동기화를 수행한 후 마이그레이션 작업을 종료함으로써 프로세스가 완료된다. 이 구조화된 프로세스를 통해 복잡한 데이터베이스 마이그레이션 작업을 단순화하고 위험을 줄일 수 있다.
5. 가격 모델
5. 가격 모델
Azure Database Migration Service의 가격 모델은 사용한 컴퓨팅 리소스와 마이그레이션 유형에 기반한다. 서비스 자체는 무료로 제공되지만, 마이그레이션 작업을 실행하는 데 사용되는 Azure 컴퓨팅 인스턴스와 관련된 비용이 발생한다. 이는 서비스가 완전 관리형이므로 사용자가 직접 서버를 프로비저닝하거나 관리할 필요 없이, 마이그레이션 작업 수행 시 자동으로 배포되는 전용 인스턴스에 대한 비용을 지불하는 구조이다.
비용은 주로 선택한 인스턴스의 크기와 마이그레이션 작업이 실행된 시간에 따라 결정된다. Microsoft는 일반적으로 표준 계층의 가상 머신 요금제를 적용한다. 사용자는 Azure Portal을 통해 인스턴스 크기(예: 1코어, 2코어, 4코어 등)를 선택할 수 있으며, 이는 마이그레이션의 규모와 성능 요구 사항에 맞춰 조정된다. 작업이 완료되면 인스턴스가 자동으로 종료되어 비용 발생이 중단된다.
마이그레이션 유형(오프라인 또는 온라인)에 따른 별도의 서비스 요금은 없다. 그러나 온라인 마이그레이션의 경우, 원본 데이터베이스와 Azure 사이의 데이터 동기화 기간이 더 길어질 수 있어 인스턴스 실행 시간이 증가할 수 있다는 점이 간접적인 비용 차이로 작용한다. 또한, 마이그레이션 중 사용되는 Azure Storage나 원본/대상 데이터베이스에 대한 트래픽 비용은 별도로 청구될 수 있다.
정확한 가격은 Azure 지역 및 당시의 가격 정책에 따라 변동될 수 있으므로, 사용 전 공식 Azure 가격 계산기를 이용해 예상 비용을 산출하는 것이 권장된다. 이 서비스는 종량제 모델로 운영되어 실제 사용한 리소스에 대해서만 비용을 지불하는 유연성을 제공한다.
6. 사용 사례
6. 사용 사례
Azure Database Migration Service는 기업이 온프레미스 또는 클라우드 환경에 있는 기존 데이터베이스를 마이크로소프트의 Azure 데이터 플랫폼으로 전환할 때 널리 활용된다. 대표적인 사용 사례로는 SQL Server의 Azure SQL Database 또는 Azure SQL Managed Instance로의 마이그레이션이 있다. 이는 리소스 관리 부담을 줄이고, 확장성을 높이며, 최신 클라우드 컴퓨팅 기능을 활용하기 위한 목적으로 수행된다. 특히 온라인 마이그레이션 방식을 통해 장애 시간을 최소화하면서 실시간으로 데이터를 동기화할 수 있어, 24시간 운영이 필요한 핵심 비즈니스 애플리케이션의 데이터베이스 이전에 적합하다.
또한 오픈 소스 데이터베이스의 클라우드 전환에도 많이 사용된다. 예를 들어, 온프레미스의 MySQL 또는 PostgreSQL 데이터베이스를 각각 Azure Database for MySQL 및 Azure Database for PostgreSQL로 마이그레이션할 수 있다. 이를 통해 기업은 데이터베이스 인프라의 유지보수, 패치, 백업에 대한 운영 부담을 덜고, 완전 관리형 서비스의 이점을 누리게 된다. 이 서비스는 데이터베이스 스키마와 데이터를 자동으로 평가 및 변환하여 마이그레이션 과정을 단순화한다.
NoSQL 데이터베이스 환경의 현대화도 중요한 사용 사례다. MongoDB와 같은 문서 데이터베이스를 Azure Cosmos DB의 MongoDB API로 마이그레이션함으로써, 글로벌 규모의 분산 데이터베이스 서비스의 장점을 빠르게 도입할 수 있다. 이는 애플리케이션의 글로벌 사용자에게 낮은 지연 시간으로 데이터를 제공해야 하는 시나리오에 유용하다. 마지막으로, 하이브리드 클라우드 전략의 일환으로 또는 데이터 센터 정리 목적으로 여러 종류의 데이터베이스를 한 번에 Azure로 통합 이전할 때도 효율적으로 사용된다.
7. 장단점
7. 장단점
Azure Database Migration Service는 완전 관리형 서비스로서 사용자가 인프라를 직접 관리할 필요 없이 마이그레이션 작업에 집중할 수 있게 해준다. 이 서비스는 SQL Server, Oracle, MySQL, PostgreSQL, MongoDB 등 다양한 온프레미스 또는 클라우드 데이터베이스 소스를 Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL, Azure Cosmos DB와 같은 Microsoft Azure의 완전 관리형 데이터 플랫폼으로 이동시키는 과정을 단순화한다. 특히 오프라인과 온라인 마이그레이션을 모두 지원하여 다운타임을 최소화하면서 데이터 이전이 가능하다는 점이 큰 장점이다. 또한 서비스 자체가 무료로 제공되며, 마이그레이션 중 사용되는 Azure 컴퓨팅 리소스와 대상 데이터베이스 비용만 지불하면 된다.
그러나 몇 가지 제한사항과 단점도 존재한다. 서비스가 지원하는 소스와 대상 데이터베이스의 버전과 에디션에 제약이 있을 수 있으며, 모든 종류의 데이터베이스 객체나 복잡한 사용자 정의 코드를 완벽하게 마이그레이션하지 못할 수도 있다. 특히 대규모 데이터베이스를 마이그레이션할 때는 네트워크 대역폭과 대기 시간이 성능에 중요한 영향을 미칠 수 있다. 또한 마이그레이션 프로세스는 대부분 자동화되어 있지만, 사전 평가와 스키마 변환, 마이그레이션 후 검증 등 일부 작업은 여전히 수동 개입이 필요하거나 추가 도구를 활용해야 할 수 있다.
8. 관련 서비스 및 도구
8. 관련 서비스 및 도구
Azure Database Migration Service는 마이그레이션 작업을 수행할 때 다른 Microsoft Azure 서비스 및 도구와 긴밀하게 연동되거나, 특정 단계에서 대체 또는 보완적으로 사용될 수 있는 관련 서비스들이 존재한다. 이 서비스들은 마이그레이션의 평가, 준비, 실행, 모니터링 단계 전반을 지원하는 생태계를 구성한다.
마이그레이션 전 평가 및 계획 단계에서는 Azure Migrate 서비스가 핵심적 역할을 한다. Azure Migrate는 온-프레미스 환경의 서버, 애플리케이션, 데이터를 평가하여 Azure 적합성을 분석하고 마이그레이션 계획을 수립하는 중앙 허브 역할을 한다. 특히 데이터베이스 마이그레이션을 위해 Data Migration Assistant 도구를 통합 제공하여, 소스 데이터베이스의 호환성 문제를 사전에 발견하고 수정 권장 사항을 제시한다. 마이그레이션 실행 후에는 Azure Database Advisor와 같은 관리 서비스를 활용하여 대상 데이터베이스의 성능 튜닝 및 최적화 권장 사항을 얻을 수 있다.
특정 데이터베이스 종류나 고급 시나리오에는 전용 도구가 사용되기도 한다. 예를 들어, 광범위한 SQL Server 마이그레이션을 위해 Azure SQL Migration Extension for Azure Data Studio를 사용할 수 있으며, 대규모 Oracle에서 Azure로의 마이그레이션에는 Oracle GoldenGate와 같은 타사 복제 도구와의 연동이 고려된다. 또한, Azure Data Factory는 복잡한 ETL 변환이 필요하거나 정기적인 데이터 이동이 수반되는 하이브리드 마이그레이션 시나리오에서 데이터 복사 활동을 오케스트레이션하는 데 활용될 수 있다.
