마이그레이션 시나리오 평가
Azure SQL 관리형 인스턴스는 온-프레미스 버전의 SQL Server와 거의 100% 호환성을 제공하여 클라우드에서 기존 데이터베이스를 쉽게 호스트할 수 있도록 설계되었습니다.
스포츠 의류 회사에는 전체 카탈로그에 대한 제품 세부 정보를 저장하는 데이터베이스가 있습니다. 이 웹 사이트는 데이터베이스를 사용하여 고객에게 제품 세부 정보를 표시하고, 영업 담당자의 스마트폰 앱을 통해 카탈로그에 대한 정보를 유지하고, 데이터 분석 솔루션을 통해 데이터 큐브에 제품 차원을 채웁니다. 이 데이터베이스는 이사회에서 업무상 중요한 것으로 간주됩니다. 이 데이터베이스를 클라우드로 마이그레이션하라는 요청을 받았으므로 데이터베이스에 의존하는 시스템은 최대한 적은 수정이 필요합니다. 이 프로젝트에 대한 Azure SQL Managed Instance를 평가하려고 합니다.
Azure SQL Managed Instance란?
Azure SQL PaaS(Platform as a Service) 제품군에는 Azure SQL Database 및 Azure SQL Managed Instance가 포함됩니다. Azure SQL Managed Instance의 목표는 AZURE 클라우드에서 완전히 관리되는 PaaS 환경을 SQL Server 애플리케이션에 제공하는 것입니다.
Azure SQL Managed Instance는 고객을 위한 리프트 앤 시프트 솔루션을 사용하도록 설계되었습니다. 관리되는 인스턴스는 애플리케이션, 데이터베이스 및 지원 기술을 Azure PaaS로 가져올 것으로 보입니다. 이전에는 SQL Managed Instance가 없으면 조직의 애플리케이션이 데이터베이스 외부의 모든 기술(예: SQL 에이전트 작업, 데이터베이스 간 조인 및 SQL Server Integration Services)에 액세스해야 하는 마이그레이션 시나리오가 클라우드로 이동하지 못하게 됩니다. DBA 또는 개발자가 온-프레미스 애플리케이션을 마이그레이션할 수 있는 유일한 방법은 다음 방법 중 하나를 사용하는 것입니다.
- 데이터베이스 및 지원 기술을 IaaS(Infrastructure as a Service) 모델로 이동합니다.
- 마이그레이션 차단을 해결하기 위한 추가 개발로 Azure SQL Database에서 완전히 PaaS 모델로 애플리케이션을 다시 작성합니다.
애플리케이션을 Azure로 마이그레이션하는 결정은 일반적으로 수정에 대한 공급업체 지원이 제한되므로 조직에 애플리케이션을 Azure의 PaaS 모델에 맞게 조정하고 애플리케이션 코드를 관리하는 리소스가 있는지 여부에 달려 있습니다. 따라서 많은 사람들이 기존 애플리케이션을 정비할 필요 없이 전체 SQL Server 환경을 사용하도록 IaaS의 SQL Server를 선택합니다. Azure SQL Database의 기능에도 불구하고 범위 밖의 기술에 대한 많은 애플리케이션의 의존도가 높은 경우 문제가 발생합니다. 그러나 코드명 "클라우드 리프터" 인 SQL Managed Instance는 이러한 장애물을 극복하여 애플리케이션 재설계 없이 Azure의 SQL 기반 PaaS 솔루션으로의 마이그레이션을 용이하게 하는 것을 목표로 합니다.
주요 기능 검토
SQL Managed Instance의 가장 중요한 기능은 다음과 같습니다.
주요 기능 | 설명 |
---|---|
이전 버전과의 호환성 | 관리되는 인스턴스는 SQL Server 2008 데이터베이스와 이전 버전과의 호환성을 제공합니다. SQL Server 2005 데이터베이스 서버에서 직접 마이그레이션도 지원되며 마이그레이션된 SQL Server 2005 데이터베이스의 호환성 수준이 SQL Server 2008로 업데이트됩니다. |
손쉬운 이동 및 변환 | 관리되는 인스턴스는 SQL Server와 거의 100% 호환됩니다. 이 호환성에는 핵심 SQL Server 구성 요소, 프로그래밍 기능 향상, 인스턴스 범위 기능(예: 데이터베이스 간 조인) 및 대부분의 기존 SQL 기반 애플리케이션이 올바르게 작동해야 하는 관리 도구가 포함됩니다. |
완전히 관리되는 PaaS | PaaS의 이점은 하드웨어 관리의 필요성과 SQL Server 서버에서 물리적 유지 관리를 수행할 때 발생하는 모든 오버헤드를 제거하는 것입니다. 또한 클라우드에서 리소스를 신속하게 확장 및 축소하고 리소스를 프로비전할 수 있는 이점이 있습니다. SQL Managed Instance는 SQL Server 엔진을 기반으로 하므로 최신 SQL 기능 및 기능을 항상 최신 상태로 유지합니다. |
보안 기능 | 데이터베이스 수준에서와 마찬가지로 SQL Managed Instance 수준에서 보안 기능을 사용하도록 설정할 수 있습니다. 이러한 기능에는 취약성 평가 및 Advanced Threat Protection 설정이 포함됩니다. 마지막으로 관리되는 인스턴스 수준에서 TDE(투명한 데이터 암호화) 암호화를 위해 BYOK(사용자 고유 키)를 가져올지 여부를 구성할 수 있습니다. |
보안 네트워크 격리 | 관리되는 인스턴스의 고유한 측면 중 하나인 네트워크 보안 격리는 관리되는 인스턴스가 Azure 클라우드의 다른 테넌트로부터 완전한 보안 격리를 가지는 위치입니다. 일반적인 기본 배포 SQL 엔드포인트에서 관리되는 인스턴스는 프라이빗 Azure 네트워크 또는 하이브리드 네트워크에서만 연결을 허용하는 개인 IP 주소를 통해서만 노출됩니다. 온-프레미스 애플리케이션이 관리되는 인스턴스에 연결하려면 Azure ExpressRoute 구성 또는 VPN 게이트웨이가 필요합니다. |
인스턴스 장애 조치(failover) 그룹 | 인스턴스 장애 조치(failover) 그룹은 단일 데이터베이스 서버 또는 단일 관리형 인스턴스 내에서 관리되는 데이터베이스 집합으로, 하나의 단위로 다른 지역으로 장애 조치(failover)할 수 있습니다. 주 지역의 중단으로 인해 주 데이터베이스의 전체 또는 일부가 오프라인 상태가 된 경우 인스턴스 장애 조치(failover) 그룹을 사용합니다. |
지원되는 마이그레이션 옵션
Azure SQL Managed Instance로 마이그레이션하는 두 가지 모드는 온라인 오프라인 . 온라인 모드는 마이그레이션 프로세스 중에 가동 중지 시간이 없거나 최소화되지만, 오프라인 모드는 가동 중지 시간이 발생합니다.
Log Replay Service. 온라인 마이그레이션 옵션이며 데이터베이스 마이그레이션 프로젝트를 더 세부적으로 제어해야 할 때 사용합니다.
Azure Data Studio용 Azure SQL 마이그레이션 확장. SQL Server 데이터베이스를 Azure로 마이그레이션할 준비를 할 때 도움이 되는 도구입니다. 최신 버전의 Data Migration Services를 사용하여 마이그레이션 준비 상태를 평가하고, 요구 사항에 가장 적합한 Azure 리소스를 권장하고, 마이그레이션을 실행합니다. 중소 규모의 데이터베이스에 이상적이며 SQL Managed Instance로의 온라인 마이그레이션을 지원합니다.
Managed Instance 링크. 분산 가용성 그룹을 사용하는 Managed Instance 링크는 호스트된 SQL Server와 Azure SQL Managed Instance 간에 거의 즉시(온라인으로) 데이터를 복제하여 데이터 자산을 안전하게 확장하며, 그 반대로도 가능합니다.
네이티브 백업 및 복원. 백업 및 복원은 많은 SQL Server 전문가가 선호하는 간단한 마이그레이션 방법입니다. Azure Storage에 전체 데이터베이스 백업을 제공할 수 있는 고객에게 가장 쉬운 마이그레이션 옵션입니다.
트랜잭션 복제. 트랜잭션 복제는 지속적으로 연결된 데이터베이스 서버 간에 데이터를 이동하는 방법입니다. 크고 복잡한 데이터베이스의 온라인 또는 오프라인 마이그레이션에 사용하기에 가장 좋습니다.
대부분의 도구는 Azure SQL Database 마이그레이션을 용이하게 하지만 SQL Managed Instance에서 단독으로 지원되는 도구도 있습니다. 다음 단위에서는 그 중 몇 가지에 대해 자세히 알아봅니다.