SQL Managed Instance 검사
많은 조직이 처음에 IaaS 제품을 사용하여 Azure로 마이그레이션하지만 PaaS(Platform as a Service)는 추가적인 이점을 제공합니다. PaaS를 사용하면 서비스에서 SQL Server 설치 및 패치를 처리하므로 더 이상 이러한 작업을 수행할 필요가 없습니다. 일관성 검사, 백업, 보안 및 성능 도구도 관리되는 서비스의 일부로 포함됩니다.
Azure SQL Managed Instance 는 온-프레미스 에코시스템과 거의 100개% 호환되는 완벽하게 작동하는 SQL Server 인스턴스입니다. 여기에는 SQL 에이전트, tempdb에 대한 액세스, 데이터베이스 간 쿼리 및 CLR(공용 언어 런타임)과 같은 기능이 포함됩니다. 이 서비스는 Azure SQL Database와 동일한 인프라를 사용하며 자동 백업, 자동 패치, 기본 제공 고가용성 등 PaaS의 모든 이점을 제공합니다.
Azure SQL Managed Instance 기능
Azure SQL Managed Instance는 온-프레미스 백업에서 복원을 사용하도록 설정하여 기존 애플리케이션에 대한 원활한 마이그레이션 경로를 제공합니다. 단일 데이터베이스 구조를 위해 설계된 Azure SQL Database와 달리 SQL Managed Instance는 최대 100개의 데이터베이스를 지원하고 시스템 데이터베이스에 대한 액세스 권한을 부여하는 전체 SQL Server 인스턴스를 제공합니다. 또한 데이터베이스 간 쿼리, CLR(공용 언어 런타임) 및 msdb 시스템 데이터베이스를 통한 SQL 에이전트 사용과 같은 Azure SQL Database에서 사용할 수 없는 기능도 포함됩니다.
Azure SQL Managed Instance를 만들 때 중요 비즈니스용 및 범용의 두 서비스 계층 중에서 선택할 수 있습니다. 이러한 계층은 이 모델을 사용하여 SQL Managed Instance를 구매하므로 Azure SQL Database vCore 모델과 일치합니다. 두 계층 간의 주요 차이점은 중요 비즈니스용이 In-Memory OLTP를 포함하고 범용 계층에서 사용할 수 없는 읽기 가능한 보조 기능을 제공한다는 점입니다. 두 계층 모두 고가용성을 제공하며, 더 높은 복원력을 위해 Always On 가용성 그룹을 사용하는 중요 비즈니스용 계층이 있습니다. 또한 두 계층 모두 스토리지 및 컴퓨팅 리소스의 독립적인 구성을 허용합니다.
관리 인스턴스 링크
링크 기능은 SQL Server 인스턴스에서 Azure SQL Managed Instance로 데이터베이스를 복제하여 하이브리드 기능을 제공합니다. Always On 가용성 그룹 기술의 일부인 분산 가용성 그룹을 사용하여 데이터를 복제합니다. 트랜잭션 로그 레코드는 이러한 분산 가용성 그룹의 일부로 복제됩니다.
주 인스턴스의 트랜잭션 로그 레코드는 보조 인스턴스에 복제될 때까지 절단될 수 없습니다. 일반 트랜잭션 로그 백업은 주 인스턴스에서 공간이 부족할 위험을 줄이는 데 도움이 됩니다.
링크 기능은 하이브리드 재해 복구 솔루션으로도 사용할 수 있으므로 어디서나 호스트되는 SQL Server 데이터베이스를 SQL Managed Instance에서 실행되는 데이터베이스로 장애 조치(failover)할 수 있습니다. 또한 링크 기능을 사용하여 SQL Managed Instance에서 읽기 전용 보조 데이터베이스를 제공하여 집중적인 읽기 전용 작업을 오프로드할 수 있습니다.
Azure SQL Managed Instance에 대한 링크 기능을 구성하는 방법에 대한 자세한 내용은 링크 기능을 위한 환경 준비 - Azure SQL Managed Instance를 참조하세요.
인스턴스 풀
인스턴스 풀은 더 작은 SQL Server 인스턴스를 클라우드로 마이그레이션하는 비용 효율적인 방법을 제공합니다. 더 작은 데이터베이스를 더 큰 관리형 인스턴스로 통합하는 대신, 추가 거버넌스 및 보안 계획이 필요한 인스턴스 풀을 사용하면 총 마이그레이션 요구 사항 및 요구 사항에 따라 리소스를 미리 프로비전할 수 있습니다.
인스턴스 풀 기능은 최대 10분의 빠른 배포 시간을 제공하므로 배포 기간이 중요한 시나리오에 적합합니다. 또한 풀의 모든 인스턴스는 동일한 가상 머신을 공유하며 총 IP 할당은 배포된 인스턴스 수와 독립적입니다.
SQL Managed Instance 인스턴스 풀을 배포하는 방법을 알아보려면 인스턴스 풀에 Azure SQL Managed Instance 배포를 참조하세요.
고가용성 및 재해 복구
Azure SQL Managed Instance는 PaaS 서비스로서 기본적으로 고가용성을 제공합니다. 독립 실행형 SQL Managed Instance는 99.99% SLA(서비스 수준 약정)를 제공하여 연간 최대 52.60분의 가동 중지 시간을 보장합니다. 아키텍처는 Azure SQL Database의 아키텍처를 미러링합니다. 범용 계층은 가용성을 위해 스토리지 복제를 사용하는 반면, 중요 비즈니스용 계층은 향상된 복원력을 위해 여러 복제본을 사용합니다.
Azure SQL Managed Instance는 재해 복구를 위한 자동 장애 조치(failover) 그룹을 제공하여 전체 관리되는 인스턴스와 모든 해당 데이터베이스를 보호합니다. 이 기능은 주 Azure SQL Managed Instance에서 보조 인스턴스로 데이터를 비동기적으로 복제하지만, 현재는 하나의 복제본만 허용되는 주 인스턴스의 쌍을 이루는 Azure 지역으로 제한됩니다.
Azure SQL Database와 마찬가지로 자동 장애 조치(failover) 그룹은 읽기-쓰기 및 읽기 전용 수신기 엔드포인트를 제공하여 연결 문자열 관리를 간소화합니다. 장애 조치(failover)가 있는 경우 애플리케이션 연결 문자열이 자동으로 적절한 인스턴스로 라우팅됩니다. 그러나 이러한 엔드포인트는 약간 다른 형식 <fog-name>.zone_id.database.windows.net 을 따릅니다. SQL Managed Instance <fog-name>.zone_id.database.windows.net 의 경우 Azure SQL Database는 Azure SQL Database에 <fog-name>.secondary.database.windows.net 있습니다.
주 인스턴스와 보조 관리되는 인스턴스는 모두 동일한 DNS 영역 내에 있어야 합니다. 이렇게 하면 장애 조치(failover) 그룹의 인스턴스 간 클라이언트 연결 인증에 동일한 다중 도메인 인증서를 사용할 수 있습니다. Azure Portal, PowerShell 또는 Azure CLI를 통해 "DNS 영역 파트너"를 지정할 수 있습니다.
Backup
자동 백업은 기본적으로 Azure SQL Managed Instance에 대해 구성됩니다. Azure SQL Managed Instance와 Azure SQL Database의 주요 차이점은 SQL Managed Instance를 사용하여 데이터베이스의 복사 전용 백업을 수동으로 만들 수 있다는 것입니다. 로컬 스토리지 액세스가 허용되지 않으므로 이러한 백업을 URL에 저장해야 합니다. 또한 지역 중복 Azure Blob Storage에서 최대 10년 동안 자동 백업을 유지하도록 LTR(장기 보존)을 구성할 수 있습니다.
데이터베이스 백업은 Azure SQL Database와 동일한 일정을 따르며 이러한 일정을 조정할 수 없습니다.
- 전체 – 일주일에 한 번
- 차등 – 12시간마다
- 트랜잭션 로그 – 트랜잭션 로그 사용에 따라 5-10분마다
데이터베이스를 Azure SQL Managed Instance로 복원하는 것은 Azure SQL Database를 사용하는 프로세스와 유사합니다. Azure Portal, PowerShell 또는 Azure CLI를 사용할 수 있습니다. 한 인스턴스에서 다른 인스턴스로 복원하려면 두 인스턴스가 동일한 Azure 구독 및 지역 내에 있어야 합니다. 또한 전체 관리되는 인스턴스를 복원할 수 없으며 SQL Managed Instance 내의 개별 데이터베이스만 복원할 수 있습니다.
Azure SQL Database와 마찬가지로 기존 데이터베이스를 복원할 수 없습니다. 백업에서 복원하기 전에 기존 데이터베이스를 삭제하거나 이름을 바꿔야 합니다. SQL Managed Instance는 완벽하게 작동하는 SQL Server 인스턴스이므로 Azure SQL Database에서는 사용할 수 없는 명령을 실행할 RESTORE 수 있습니다. 그러나 PaaS 서비스로는 몇 가지 제한 사항이 있습니다.
- 로컬 드라이브에 액세스할 수 없으므로 URL 엔드포인트에서 복원해야 합니다.
- 데이터베이스를 지정하는 옵션 외에도 다음 옵션을 사용할 수 있습니다.
- FILELISTONLY
- HEADERONLY
- LABELONLY
- VERIFYONLY
- 여러 로그 파일이 있는 백업 파일은 복원할 수 없음
- 여러 백업 세트가 있는 백업 파일은 복원할 수 없음
- 메모리 내/FILESTREAM을 포함하는 백업은 복원할 수 없음
기본적으로 관리되는 인스턴스의 데이터베이스는 Microsoft 관리형 키와 함께 TDE(투명한 데이터 암호화) 를 사용하여 암호화됩니다. 사용자가 시작한 복사 전용 백업을 수행하려면 특정 데이터베이스에 대해 TDE를 사용하지 않도록 설정해야 합니다. 데이터베이스가 암호화된 경우 복원할 수 있지만 암호화에 사용되는 인증서 또는 비대칭 키에 액세스해야 합니다. 이러한 항목이 없으면 데이터베이스를 SQL Managed Instance로 복원할 수 없습니다.
Azure SQL Managed Instance에 대한 새로운 기능을 알아보려면 Azure SQL Managed Instance의 새로운 기능을 참조하세요.