마이그레이션 시나리오 평가

완료됨

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 클라우드에서 SQL Server 애플리케이션에 완전 관리형 PaaS 환경을 제공하는 것입니다.

사용 가능한 모든 Azure SQL 제안을 보여 주는 다이어그램.

Azure SQL Managed Instance는 고객을 위한 리프트 앤 시프트 솔루션을 사용하도록 설계되었습니다. 관리형 인스턴스는 애플리케이션, 데이터베이스, 지원 기술을 Azure PaaS로 가져오기 위한 것입니다. 이전에 Azure SQL Managed Instance가 없을 때는 조직 애플리케이션에서 데이터베이스 외부 기술(예: SQL 에이전트 작업, 데이터베이스 간 조인, SQL Server Integration Services)에 액세스해야 하는 마이그레이션 시나리오를 클라우드로 이동할 수 없었습니다. DBA 또는 개발자가 온-프레미스 애플리케이션을 마이그레이션할 수 있는 유일한 방법은 다음 방법 중 하나를 사용하는 것이었습니다.

  • 데이터베이스 및 지원 기술을 IaaS(서비스 제공 인프라) 모델로 이동합니다.
  • 추가 개발을 통해 마이그레이션 방해 요소를 해결하여 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 수준에서도 보안 기능을 사용하도록 설정할 수 있습니다. 이러한 기능에는 취약성 평가고급 위협 방지 설정이 포함됩니다. 마지막으로, 관리되는 인스턴스 수준에서 TDE(투명한 데이터 암호화) 및 암호화에 대한 BYOK(Bring Your Own Key) 사용 여부를 구성할 수 있습니다.
보안된 네트워크 격리 관리형 인스턴스의 고유한 양상 중 하나인 네트워크 보안 격리는 관리형 인스턴스가 Azure 클라우드의 다른 모든 테넌트로부터 보안상 완전히 격리되는 것입니다. 일반적인 기본 배포 SQL 엔드포인트에서 관리형 인스턴스는 프라이빗 Azure 네트워크 또는 하이브리드 네트워크의 연결만 허용하는 개인 IP 주소를 통해서만 공개됩니다. 온-프레미스 애플리케이션이 관리형 인스턴스에 연결하려면 Azure ExpressRoute 구성이나 VPN 게이트웨이가 필요합니다.
인스턴스 장애 조치(failover) 그룹 인스턴스 장애 조치(failover) 그룹은 단일 데이터베이스 서버를 통해 관리되거나 단일 관리형 인스턴스 내에서 관리되는 데이터베이스 집합으로, 다른 지역에 하나의 단위로 장애 조치(failover)될 수 있습니다. 주 지역의 가동 중단으로 인해 주 데이터베이스 전체 또는 일부가 오프라인으로 전환된 경우 인스턴스 장애 조치(failover) 그룹을 사용합니다.

지원되는 마이그레이션 옵션

SQL Managed Instance는 온라인오프라인, 두 가지 모드로 마이그레이션할 수 있습니다. 온라인 모드는 마이그레이션 프로세스 중에 가동 중지 시간이 없거나 최소화되지만, 오프라인 모드는 가동 중지 시간이 발생합니다.

  • Log 재생 서비스. 온라인 마이그레이션 옵션이며 데이터베이스 마이그레이션 프로젝트를 더 세부적으로 제어해야 할 때 사용합니다.

  • Azure Data Studio용 Azure SQL 마이그레이션 확장 SQL Server 데이터베이스를 Azure로 마이그레이션할 준비를 할 때 도움이 되는 도구입니다. 최신 버전의 데이터 마이그레이션 서비스를 사용하여 마이그레이션 준비 상태를 평가하고, 요구 사항에 가장 적합한 Azure 리소스를 추천하고, 마이그레이션을 실행합니다. 중소 규모의 데이터베이스에 이상적이며 SQL Managed Instance로의 온라인 마이그레이션을 지원합니다.

  • Managed Instance 링크. 분산 가용성 그룹을 사용하는 Managed Instance 링크는 호스트된 SQL Server와 Azure SQL Managed Instance 간에 거의 즉시(온라인으로) 데이터를 복제하여 데이터 자산을 안전하게 확장하며, 그 반대로도 가능합니다.

  • 네이티브 백업 및 복원. 백업 및 복원은 많은 SQL Server 전문가가 선호하는 간단한 마이그레이션 방법입니다. Azure Storage에 전체 데이터베이스 백업을 제공할 수 있는 고객에게 가장 쉬운 마이그레이션 옵션입니다.

  • 트랜잭션 복제. 트랜잭션 복제는 지속적으로 연결된 데이터베이스 서버 간에 데이터를 이동하는 방법입니다. 크고 복잡한 데이터베이스의 온라인 또는 오프라인 마이그레이션에 사용하기에 가장 좋습니다.

대부분의 도구가 Azure SQL Database로의 마이그레이션도 용이하게 하지만 몇몇 도구는 SQL Managed Instance에서만 지원됩니다. 다음 단원에서는 그 중 몇 가지를 자세히 알아봅니다.

SQL Server 마이그레이션 전략 설계 방법에 관해 자세히 알아봅니다.