가용성 구성 및 모니터링
모든 가능성을 알아보았으므로 Azure SQL 데이터베이스 또는 Azure SQL 관리되는 인스턴스의 일부인 특정 워크로드에 대한 전략을 수립해야 합니다.
올바르게 선택하기
전략 수립 과정에서 큰 부분은 한 걸음 물러서서 워크로드 요구 사항에 관해 생각해 보는 것입니다. 고려해야 할 질문은 다음과 같습니다.
- 장기 백업이 필요합니까? 또는 1~35일이면 충분합니까?
- RTO 및 RPO에는 무엇이 필요합니까?
- SLA를 기준으로, 가장 적합한 서비스 계층은 무엇입니까?
- 가용성 영역이 필요합니까?
- 지역 복제 HADR 또는 장애 조치(failover) 그룹이 필요합니까?
- 애플리케이션이 준비되었습니까?
위의 질문에 답하면 가용성 요구 사항을 충족하기 위해 배포해야 하는 구성의 범위를 좁힐 수 있습니다.
마지막 질문인 애플리케이션이 준비되었나요?는 데이터 전문가가 간과하는 경우가 많습니다. 이 고려 사항은 원하는 SLA를 달성하는 데 중요합니다.
데이터베이스가 가용성 요구 사항을 충족하는지 확인해야 하지만 애플리케이션이 이러한 요구 사항을 충족하는지 확인해야 합니다. 또한 데이터와 애플리케이션 간의 연결이 요구 사항을 충족하는지 확인해야 합니다. 예를 들어 애플리케이션과 데이터베이스가 서로 다른 영역에 있도록 배치하면 네트워크 대기 시간이 길어집니다. 애플리케이션과 데이터를 최대한 가깝게 배치하세요. 애플리케이션에서 재시도 논리를 구현하는 것이 가용성 유지 관리에 얼마나 중요한지 모듈 전체에서 알아보았습니다.
가용성 모니터링
Azure SQL은 가용성의 특정 측면을 모니터링하기 위한 여러 가지 도구와 기능을 제공합니다. 이러한 도구에는 Azure Portal, T-SQL 및 인터페이스(예: PowerShell, az CLI 및 REST API)가 포함됩니다.
해당 도구를 사용하여 가용성을 모니터링하는 몇 가지 예제는 다음 섹션에서 설명합니다.
영역 및 데이터 센터 가용성
영역 및 데이터 센터의 가용성은 관리되는 인스턴스 또는 데이터베이스 배포의 가용성에 매우 중요합니다. ‘Azure 상태’ 및 ‘Azure Service Health’는 Azure SQL 같은 특정 서비스를 포함하여 데이터 센터 또는 영역의 중단을 파악하는 단서입니다.
Azure 상태는 Azure 전역 영역에서 문제를 야기하는 서비스를 보여 주는 대시보드입니다. RSS 피드를 사용하여 Azure 상태 변경에 대한 알림을 받을 수 있습니다.
Azure Portal에서 Azure Service Health를 볼 수 있습니다. Azure Service Health는 서비스 문제, 계획된 유지 관리 이벤트, 상태 공지, 상태 기록에 대한 정보를 제공합니다. 또한 가용성에 영향을 줄 수 있는 이벤트에 대해 메일 또는 SMS를 통해 알리는 경고를 설정할 수 있습니다.
인스턴스, 서버 및 데이터베이스 가용성
Azure 서비스 이벤트 외에, Azure SQL Managed Instance 또는 Azure SQL Database 데이터베이스의 가용성 또한 Azure Portal에서 볼 수 있습니다.
관리되는 인스턴스나 데이터베이스를 사용할 수 없는 가능한 이유를 확인하는 한 가지 방법은 Azure Portal이나 REST API를 사용하여 리소스 상태를 검사하는 것입니다.
언제든지 SSMS(SQL Server Management Studio) 같은 표준 SQL Server 도구를 사용하여 관리되는 인스턴스 또는 데이터베이스 서버에 연결하고 해당 리소스의 상태를 확인할 수 있습니다. 도구나 T-SQL 쿼리를 사용할 수 있습니다.
Azure CLI와 같은 인터페이스는 Azure SQL의 상태를 표시할 수 있습니다. 예시:
az sql mi list
는 관리되는 인스턴스의 상태를 나열합니다.az sql db list
는 Azure SQL 데이터베이스의 상태를 나열합니다.
PowerShell 명령을 사용하여 Azure SQL 데이터베이스의 가용성을 확인할 수도 있습니다. 예를 들면 다음과 같습니다.
Get-AzSQLDatabase
는 서버의 모든 데이터베이스 및 상태를 포함한 관련 세부 정보를 가져옵니다.- REST API는 사용 용이성이 약간 떨어지지만 관리되는 인스턴스 및 데이터베이스의 상태를 가져오는 데 사용할 수 있습니다.
백업 및 복원 기록
Azure SQL은 데이터베이스 및 트랜잭션 로그를 자동으로 백업합니다. 표준 백업 기록을 사용할 수는 없지만 Azure Portal이나 CLI 인터페이스를 사용하여 장기 백업 보존 기록을 볼 수 있습니다. 또한 Azure SQL Managed Instance에서 XEvents를 사용하여 백업 기록을 추적할 수 있습니다.
특정 시점 복원을 사용하는 데이터베이스 복원에서는 새 데이터베이스를 만듭니다. Azure 활동 로그를 사용하여 데이터베이스를 만드는 작업을 볼 수 있습니다.
복제본 상태
복제본은 중요 비즈니스용 서비스 계층에 사용됩니다. DMV sys.dm_database_replica_states를 사용하여 복제본의 상태를 볼 수 있습니다.
장애 조치의 원인
Azure SQL Managed Instance 또는 데이터베이스 배포에서 장애 조치 이벤트의 원인을 확인하려면 Azure Portal이나 REST API를 사용하여 리소스 상태를 확인합니다.
Azure SQL용 System Center 관리 팩
System Center는 Azure SQL Managed Instance 및 Azure SQL Database를 모니터링하는 관리 팩을 제공합니다. 요구 사항 및 세부 정보는 관리 팩 설명서를 참조하세요.