Share via


Azure Well-Architected Framework 검토 - Azure SQL Database

Azure SQL Database는 사용자 개입 없이 대부분 데이터베이스 관리 기능을 처리하는 완전 관리형 PaaS(Platform as a Service) 데이터베이스 엔진입니다. 관리 기능에는 업그레이드, 패치, 백업 및 모니터링이 포함됩니다.

단일 데이터베이스 리소스 유형은 자체 리소스 집합을 사용하여 Azure SQL Database에 데이터베이스를 만들고 논리 서버를 통해 관리됩니다. DTU 기반 구매 모델 또는 vCore 기반 구매 모델 중에서 선택할 수 있습니다. 탄력적 풀을 사용하여 단일 리소스 풀에 여러 데이터베이스를 만들 수 있습니다.

다음 섹션에는 Azure SQL 데이터베이스 보안과 관련된 디자인 검사 목록 및 권장 디자인 옵션이 포함되어 있습니다. 이 지침은 아키텍처 우수성의 다섯 가지 핵심 요소를 기반으로 합니다.

  • 안정성
  • 보안
  • 비용 최적화
  • 운영 우수성
  • 성능 효율성

사전 요구 사항

Azure SQL Database 및 안정성

Azure SQL Database는 사용자 개입 없이 대부분 데이터베이스 관리 기능을 처리하는 완전 관리형 PaaS(Platform as a Service) 데이터베이스 엔진입니다. 관리 기능에는 다음이 포함됩니다.

  • 업그레이드
  • 패치
  • Backup
  • 모니터링

이 서비스를 사용하면 Azure 애플리케이션 및 워크로드를 위한 고가용성 및 고성능 데이터 스토리지 계층을 만들 수 있습니다. Azure SQL Database는 항상 안정적인 최신 버전의 SQL Server 데이터베이스 엔진 및 99.99% 가용성으로 패치된 OS에서 실행됩니다.

Azure SQL Database를 통해 안정성을 높이고 중단 중에 비즈니스를 계속 운영하는 방법에 대한 자세한 내용은 가용성 기능을 참조하세요.

다음 섹션에는 Azure SQL Database 및 안정성과 관련된 디자인 고려 사항, 구성 검사 목록, 권장 구성 옵션이 포함되어 있습니다.

디자인 고려 사항

Azure SQL Database는 다음과 같은 디자인 고려 사항을 포함합니다.

  • 지역에서 복제로 구성된 Azure SQL Database 중요 비즈니스용 계층에서는 배포된 시간의 100%에 대해 30초의 RTO(복구 시간 목표)가 보장됩니다.

  • 분할을 사용하여 동일하게 여러 구조적 데이터베이스에 데이터와 프로세스를 분산합니다. 분할은 비용과 탄력성을 위해 기존의 스케일 업 접근 방식에 대한 대안을 제공합니다. 분할을 사용하여 데이터베이스를 가로로 분할하는 것을 고려합니다. 분할은 오류 격리를 제공할 수 있습니다. 자세한 내용은 Azure SQL Database를 사용하여 스케일 아웃을 참조하세요.

  • 영역 중복 배포에 대해 구성되지 않은 Azure SQL Database 중요 비즈니스용 또는 프리미엄 계층, 범용, 표준 또는 기본 계층 또는 두 개 이상의 복제본이 있는 하이퍼스케일 계층에는 가용성이 보장됩니다. 가용성 보장에 대한 자세한 내용은 Azure SQL Database에 대한 SLA를 참조하세요.

  • 모든 Azure 지역에 기본 제공 지역 고가용성 및 턴키 지역에서 복제를 제공합니다. 여기에는 다음과 같은 자율 주행 기능을 지원하는 인텔리전스가 포함됩니다.

    • 성능 튜닝
    • 위협 모니터링
    • 취약성 평가
    • 코드베이스의 완전 자동화된 패치 및 업데이트
  • 애플리케이션 성능 SLA를 정의하고 경고로 모니터링합니다. 애플리케이션 성능이 허용되는 수준 아래로 의도치 않게 저하되는 경우를 빠르게 탐지하는 기능은 높은 복원력을 유지하는 데 중요합니다. 이전에 정의된 모니터링 솔루션을 사용하여 주요 쿼리 성능 메트릭에 대한 경고를 설정하면 성능이 SLA를 위반할 때 조치를 취할 수 있습니다. 자세한 내용은 데이터베이스 모니터링경고 도구 로 이동합니다.

  • 지리적 복원을 사용하여 서비스 중단에서 복구합니다. 가장 최근의 지역에서 복제된 백업에서 모든 Azure 지역의 관리형 인스턴스의 모든 SQL Database 서버나 인스턴스 데이터베이스에서 데이터베이스를 복원할 수 있습니다. 지리적 복원에서는 지역에서 복제된 백업을 원본으로 사용합니다. 중단으로 인해 데이터베이스 또는 데이터 센터에 액세스할 수 없는 경우에도 지역 복원을 요청할 수 있습니다. 지리적 복원은 지역 중복 백업에서 데이터베이스를 복원합니다. 자세한 내용은 자동화된 데이터베이스 백업을 사용하여 Azure SQL 데이터베이스 복구를 참조하세요.

  • 지역에서 복제로 구성된 중요 비즈니스용 계층을 사용합니다. 배포된 시간의 100%에 대해 5초의 RPO(복구 지점 목표)가 보장됩니다.

  • Azure SQL Database에 기본 제공되는 PaaS 기능을 사용하면 비즈니스에 중요한 도메인별 데이터베이스 관리 및 최적화 작업에 집중할 수 있습니다.

  • 지정 시간 복원을 사용하여 인적 오류에서 복구합니다. 특정 시점 복원은 데이터베이스를 이전 시점으로 되돌려 실수로 수행된 변경 내용에서 데이터를 복구합니다. 자세한 내용은 PITR(특정 시점 복원) 설명서를 참조하세요.

  • 중요 비즈니스용 또는 프리미엄 계층은 가용성이 보장되는 영역 중복 배포로 구성됩니다. 가용성 보장에 대한 자세한 내용은 Azure SQL Database에 대한 SLA를 참조하세요.

검사 목록

안정성을 염두에 두고 Azure SQL Database를 구성했나요?


  • 활성 지역 복제를 사용하여 다른 지역에 읽기 가능한 보조를 만듭니다.
  • 일반적으로 같은 애플리케이션에서 사용되는 하나 이상의 데이터베이스를 포함할 수 있는 자동 장애 조치(failover) 그룹을 사용합니다.
  • 영역 중복 데이터베이스를 사용합니다.
  • Azure SQL Database를 근 실시간으로 모니터링하여 안정성 인시던트를 탐지합니다.
  • 재시도 논리를 구현합니다.
  • 키를 백업합니다.

구성 권장 사항

안정성을 위해 Azure SQL Database 구성을 최적화하려면 다음 권장 사항 표를 살펴보세요.

권장 Description
활성 지역 복제를 사용하여 다른 지역에 읽기 가능한 보조를 만듭니다. 주 데이터베이스에 장애가 발생하는 경우 보조 데이터베이스에 수동 장애 조치를 수행합니다. 장애 조치(failover)될 때까지 보조 데이터베이스는 읽기 전용으로 유지됩니다. 활성 지역 복제를 사용하면 읽기 가능한 복제본을 만들고 데이터 센터 중단 또는 애플리케이션 업그레이드가 있는 경우 복제본으로 수동 장애 조치를 수행할 수 있습니다. 동일하거나 다른 지역에서 최대 4개의 보조 데이터베이스가 지원되며 보조 데이터베이스는 읽기 전용 액세스 쿼리에 사용될 수도 있습니다. 장애 조치는 애플리케이션 또는 사용자에 의해 수동으로 시작되어야 합니다. 장애 조치 후 새 주 데이터베이스에는 다른 연결 엔드포인트가 있습니다.
일반적으로 같은 애플리케이션에서 사용되는 하나 이상의 데이터베이스를 포함할 수 있는 자동 장애 조치(failover) 그룹을 사용합니다. 읽기 가능한 보조 데이터베이스를 사용하여 읽기 전용 쿼리 워크로드를 오프로드할 수 있습니다. 자동 장애 조치 그룹에 여러 데이터베이스가 포함되기 때문에 주 서버에서 이러한 데이터베이스를 구성해야 합니다. 자동 장애 조치 그룹은 그룹의 모든 데이터베이스를 다른 지역에 있는 하나의 보조 서버 또는 인스턴스에만 복제할 수 있도록 지원합니다. 자동 장애 조치 그룹DR 디자인에 대해 자세히 알아보세요.
영역 중복 데이터베이스를 사용합니다. 기본적으로 프리미엄 가용성 모델에 대한 노드 클러스터는 동일한 데이터 센터에 만들어집니다. Azure 가용성 영역을 도입하는 경우 SQL Database에서 중요 비즈니스용 데이터베이스의 다른 복제본을 동일한 지역의 다른 가용성 영역에 배치할 수 있습니다. 단일 실패 지점을 제거하기 위해 제어 링은 세 개의 GW(게이트웨이 링)로 여러 영역에 걸쳐 복제됩니다. 특정 게이트웨이 링에 대한 라우팅은 ATM(Azure Traffic Manager)에서 제어합니다. 프리미엄 또는 중요 비즈니스용 서비스 계층의 영역 중복 구성은 추가 데이터베이스 중복을 만들지 않으므로 추가 비용 없이 사용하도록 설정할 수 있습니다. 영역 중복 데이터베이스에 대해 자세히 알아보세요.
Azure SQL Database를 근 실시간으로 모니터링하여 안정성 인시던트를 탐지합니다. 사용 가능한 솔루션 중 하나를 사용하여 SQL DB를 모니터링함으로써 잠재적인 안정성 인시던트를 조기에 탐지하고 데이터베이스를 더 안정적으로 만듭니다. 인시던트에 빠르게 대응하려면 근 실시간에 모니터링 솔루션을 선택합니다. 자세한 내용은 Azure SQL 분석을 참조하세요.
재시도 논리를 구현합니다. Azure SQL Database는 일시적인 인프라 오류에 대해 복원력이 있지만, 이러한 오류는 연결에 영향을 미칠 수 있습니다. SQL Database로 작업하는 동안 일시적인 오류가 발생할 경우 코드에서 호출을 다시 시도할 수 있는지 확인합니다. 자세한 내용은 재시도 논리 구현 방법을 참조하세요.
키를 백업합니다. Azure Key Vault에서 암호화 키를 사용하여 데이터를 보호하지 않는 경우 키를 백업합니다.

Azure SQL 데이터베이스 및 보안

SQL Database는 다양한 기본 제공 보안 및 규정 준수 기능을 제공하여 애플리케이션이 다양한 보안 및 규정 준수 요구 사항을 충족할 수 있도록 도와줍니다.

디자인 검사 목록

보안을 염두에 두고 워크로드를 설계하고 Azure SQL Database를 구성했나요?


권장 사항

권장 이점
최소 TLS 버전을 검토합니다. 이전 TLS 또는 암호화되지 않은 연결이 필요한 레거시 애플리케이션이 있는지 확인합니다. TLS 버전을 적용한 후에는 기본값으로 되돌릴 수 없습니다. Azure Portal 통해 SQL Database 연결에 대한 최소 TLS 버전을 검토하고 구성합니다. 그렇지 않은 경우 최신 TLS 버전을 최소로 설정합니다.
원장 모든 데이터 변경 내용에 대한 감사, 변조 증거 및 신뢰를 제공하도록 원장을 기반으로 데이터베이스 테이블을 디자인하는 것이 좋습니다.
Always Encrypted 암호화 키에 대한 데이터 액세스를 위임하여 애플리케이션 내의 중요한 데이터를 보호하기 위해 Always Encrypted 기반으로 애플리케이션 액세스를 설계하는 것이 좋습니다.
프라이빗 엔드포인트 및 프라이빗 링크 프라이빗 엔드포인트 연결은 Azure SQL Database에 대한 프라이빗 연결을 사용하도록 설정하여 보안 통신을 적용합니다. 프라이빗 엔드포인트를 사용하여 연결을 보호하고 기본적으로 공용 네트워크 액세스를 거부할 수 있습니다. Azure SQL Database에 대한 Azure Private Link Azure SQL Database에 권장되는 프라이빗 엔드포인트 유형입니다.
자동화된 취약성 평가 취약성 평가 검사 결과 및 데이터베이스 취약성을 해결하는 방법에 대한 권장 사항을 모니터링합니다.
Advanced Threat Protection Azure SQL Database용 Advanced Threat Protection을 사용하여 데이터베이스에 액세스하거나 악용하려는 비정상적이고 잠재적으로 유해한 시도를 나타내는 비정상적인 활동을 검색합니다. Advanced Threat Protection은 경고를 Microsoft Defender for Cloud와 통합합니다.
감사 Azure SQL Database에 대한 감사를 사용하여 데이터베이스 이벤트를 추적합니다.
관리 ID UMI(사용자 할당 관리 ID)를 구성하는 것이 좋습니다. Azure 리소스에 대한 관리 ID는 코드에서 자격 증명을 관리할 필요가 없습니다.
Microsoft Entra 전용 인증 SQL 기반 인증을 사용하지 않도록 설정하여 Microsoft Entra 인증에서만 허용하는 것이 좋습니다.

정책 정의

Azure SQL Database 및 Azure Policy 기본 제공 정의에대한 Azure 보안 기준을 검토합니다.

Azure SQL 관련된 모든 기본 제공 정책 정의는 기본 제공 정책에 나열됩니다.

자습서: Azure SQL Database에서 데이터베이스 보호 를 검토합니다.

Azure SQL Database 및 비용 최적화

Azure SQL Database는 사용자 개입 없이 대부분 데이터베이스 관리 기능을 처리하는 완전 관리형 PaaS(Platform as a Service) 데이터베이스 엔진입니다. 관리 기능에는 다음이 포함됩니다.

  • 업그레이드
  • 패치
  • Backup
  • 모니터링

이 서비스를 사용하면 Azure 애플리케이션 및 워크로드를 위한 고가용성 및 고성능 데이터 스토리지 계층을 만들 수 있습니다. SQL Database에는 자동 성능 모니터링 및 튜닝을 통해 데이터베이스를 실행하고 관리하는 비용을 크게 줄이는 데 도움이 되는 기본 제공 인텔리전스가 포함되어 있습니다.

Azure SQL Database가 비용 절감 기능을 제공하는 방법에 대한 자세한 내용은 Azure SQL Database 비용 계획 및 관리를 참조하세요.

다음 섹션에는 Azure SQL Database 및 비용 최적화와 관련된 구성 검사 목록 및 권장 구성 옵션이 포함되어 있습니다.

검사 목록

비용 최적화를 염두에 두고 Azure SQL Database를 구성했나요?


구성 권장 사항

비용 최적화를 위해 Azure SQL Database 구성을 최적화하려면 다음 권장 사항 표를 살펴보세요.

권장 Description
쿼리를 최적화합니다. 쿼리 성능 인사이트성능 권장 사항을 사용하여 쿼리, 테이블 및 데이터베이스를 최적화하여 리소스 소비를 줄이고 적절한 구성에 도달합니다.
리소스 사용량을 평가합니다. 모든 데이터베이스의 리소스 사용량을 평가하고 크기가 조정되고 올바르게 프로비전되었는지 확인합니다. 비프로덕션 데이터베이스의 경우 해당하는 경우 리소스를 축소하는 것이 좋습니다. 예를 들어 부하 테스트 또는 사용자 승인 테스트를 실행할 때 데이터베이스에 대한 DTU 또는 vCore를 필요에 따라 확장할 수 있습니다.
백업 스토리지 사용량 미세 조정 Azure SQL Database에 있는 vCore 데이터베이스의 경우 각 백업 유형(전체, 차등 및 로그)에서 사용하는 스토리지는 데이터베이스 모니터링 창에 별도의 메트릭으로 보고됩니다. 데이터베이스의 최대 데이터 크기까지는 백업 스토리지 사용 요금이 부과되지 않습니다. 백업 스토리지 초과 사용량은 개별 데이터베이스의 워크로드 및 최대 크기에 따라 달라집니다. 자세한 내용은 백업 스토리지 사용을 참조하세요.
Azure SQL Database 서버리스를 평가합니다. 프로비저닝된 컴퓨팅 계층을 통해 Azure SQL Database 서버리스를 사용하는 것이 좋습니다. 서버리스는 워크로드 수요 및 초당 사용된 컴퓨팅 양에 대한 청구서를 기반으로 컴퓨팅 규모를 자동으로 조정하는 단일 데이터베이스의 컴퓨팅 계층입니다. 또한 서버리스 컴퓨팅 계층은 비활성 기간(스토리지만 청구됨) 동안 데이터베이스를 자동으로 일시 중지합니다. 작업이 반환되면 데이터베이스를 자동으로 다시 시작합니다. Azure SQL Database 서버리스가 모든 시나리오에 적합하지는 않습니다. 예측할 수 없거나 버스트된 사용 패턴이 낮거나 유휴 상태인 기간과 혼합된 데이터베이스가 있는 경우 서버리스는 가격 성능을 최적화하는 데 도움이 될 수 있는 솔루션입니다.
Azure SQL Database에 대해 예약된 용량을 고려합니다. 예약 할인을 사용하면 Azure SQL Database와 관련된 컴퓨팅 비용을 줄일 수 있습니다. 지역의 Azure SQL 데이터베이스에 대한 총 컴퓨팅 용량 및 성능 계층을 결정한 후에는 이 정보를 사용하여 용량을 예약할 수 있습니다. 예약 기간은 1~3년으로 할 수 있습니다. 자세한 내용은 예약된 용량으로 리소스 비용 절감을 참조하세요.
탄력적 풀이 Azure SQL Database의 여러 데이터베이스를 관리하고 크기를 조정하는 데 도움을 주는 방식 Azure SQL Database 탄력적 풀은 사용량 요구가 다양하고 예측하기 어려운 여러 데이터베이스를 관리하고 스케일링하기 위한 간단하고 비용 효율적인 솔루션입니다. 탄력적 풀의 데이터베이스는 단일 서버에 있으며 설정된 가격에 일정한 수의 리소스를 공유합니다. 자세한 내용은 여러 데이터베이스를 관리하고 크기 조정하기 위한 탄력적 풀을 참조하세요.

자세한 내용은 Azure SQL 데이터베이스에 대한 비용 계획 및 관리를 참조하세요.

Azure SQL Database 및 운영 효율성

Azure SQL Database는 사용자 개입 없이 대부분의 데이터베이스 관리 기능을 처리하는 완전 관리형 PaaS(Platform as a Service) 데이터베이스 엔진입니다. 관리 기능에는 다음이 포함됩니다.

  • 업그레이드
  • 패치
  • Backup
  • 모니터링

이 서비스를 사용하면 Azure 애플리케이션 및 워크로드를 위한 고가용성 및 고성능 데이터 스토리지 계층을 만들 수 있습니다. Azure SQL Database는 인공 지능이 뒷받침하는 고급 모니터링 및 튜닝 기능을 제공하여 데이터베이스 및 솔루션의 문제를 해결하고 성능을 극대화하는 데 도움이 됩니다.

Azure SQL Database가 운영 효율성을 높이고 중단 중에도 비즈니스를 계속 운영할 수 있도록 하는 방법에 대한 자세한 내용은 Azure SQL Database의 모니터링 및 성능 튜닝을 참조하세요.

다음 섹션에는 설계 고려 사항, 구성 검사 목록, Azure SQL Database와 관련된 권장 구성 옵션 및 운영 효율성이 포함됩니다.

디자인 고려 사항

Azure SQL Database는 다음과 같은 디자인 고려 사항을 포함합니다.

  • 지역에서 복제로 구성된 Azure SQL Database 중요 비즈니스용 계층에서는 배포된 시간의 100%에 대해 30초의 RTO(복구 시간 목표)가 보장됩니다.

  • 분할을 사용하여 동일하게 여러 구조적 데이터베이스에 데이터와 프로세스를 분산합니다. 분할은 비용과 탄력성을 위해 기존의 스케일 업 접근 방식에 대한 대안을 제공합니다. 분할을 사용하여 데이터베이스를 가로로 분할하는 것을 고려합니다. 분할은 오류 격리를 제공할 수 있습니다. 자세한 내용은 Azure SQL Database를 사용하여 스케일 아웃을 참조하세요.

  • 영역 중복 배포에 대해 구성되지 않은 Azure SQL Database 중요 비즈니스용 또는 프리미엄 계층, 범용, 표준 또는 기본 계층 또는 두 개 이상의 복제본이 있는 하이퍼스케일 계층에는 가용성이 보장됩니다. 자세한 내용은 Azure SQL Database에 대한 SLA를 참조하세요.

  • 모든 Azure 지역에 기본 제공 지역 고가용성 및 턴키 지역 복제를 제공합니다. 여기에는 다음과 같은 자율 주행 기능을 지원하는 인텔리전스가 포함됩니다.

    • 성능 튜닝
    • 위협 모니터링
    • 취약성 평가
    • 코드베이스의 완전 자동화된 패치 및 업데이트
  • 애플리케이션 성능 SLA를 정의하고 경고로 모니터링합니다. 애플리케이션 성능이 허용되는 수준 아래로 의도치 않게 저하되는 경우를 빠르게 탐지하는 기능은 높은 복원력을 유지하는 데 중요합니다. 이전에 정의된 모니터링 솔루션을 사용하여 주요 쿼리 성능 메트릭에 대한 경고를 설정하면 성능이 SLA를 위반할 때 조치를 취할 수 있습니다. 자세한 내용은 데이터베이스 모니터링을 참조하세요.

  • 지리적 복원을 사용하여 서비스 중단에서 복구합니다. 가장 최근의 지역에서 복제된 백업에서 모든 Azure 지역의 관리형 인스턴스의 모든 SQL Database 서버나 인스턴스 데이터베이스에서 데이터베이스를 복원할 수 있습니다. 지리적 복원에서는 지역에서 복제된 백업을 원본으로 사용합니다. 중단으로 인해 데이터베이스 또는 데이터 센터에 액세스할 수 없는 경우에도 지역 복원을 요청할 수 있습니다. 지리적 복원은 지역 중복 백업에서 데이터베이스를 복원합니다. 자세한 내용은 자동화된 데이터베이스 백업을 사용하여 Azure SQL 데이터베이스 복구를 참조하세요.

  • 지역에서 복제로 구성된 중요 비즈니스용 계층을 사용합니다. 배포된 시간의 100%에 대해 5초의 RPO(복구 지점 목표)가 보장됩니다.

  • Azure SQL Database에 기본 제공되는 PaaS 기능을 사용하면 비즈니스에 중요한 도메인별 데이터베이스 관리 및 최적화 작업에 집중할 수 있습니다.

  • 지정 시간 복원을 사용하여 인적 오류에서 복구합니다. 특정 시점 복원은 데이터베이스를 이전 시점으로 되돌려 실수로 수행된 변경 내용에서 데이터를 복구합니다. 자세한 내용은 PITR(특정 시점 복원) 설명서를 참조하세요.

  • 중요 비즈니스용 또는 프리미엄 계층은 영역 중복 배포로 구성됩니다. 가용성 보장에 대한 자세한 내용은 Azure SQL Database에 대한 SLA를 참조하세요.

검사 목록

운영 효율성을 염두에 두고 Azure SQL Database를 구성했나요?


  • 활성 지역 복제를 사용하여 다른 지역에서 읽기 가능한 보조를 만듭니다.
  • 일반적으로 같은 애플리케이션에서 사용되는 하나 이상의 데이터베이스를 포함할 수 있는 자동 장애 조치(failover) 그룹을 사용합니다.
  • 영역 중복 데이터베이스를 사용합니다.
  • Azure SQL Database를 근 실시간으로 모니터링하여 안정성 인시던트를 탐지합니다.
  • 다시 시도 논리를 구현합니다.
  • 키를 백업합니다.

구성 권장 사항

운영 효율성을 위해 Azure SQL Database 구성을 최적화하기 위한 다음 권장 사항 표를 살펴보세요.

권장 Description
활성 지역 복제를 사용하여 다른 지역에 읽기 가능한 보조를 만듭니다. 주 데이터베이스에 장애가 발생하는 경우 보조 데이터베이스에 수동 장애 조치를 수행합니다. 장애 조치(failover)될 때까지 보조 데이터베이스는 읽기 전용으로 유지됩니다. 활성 지역 복제를 사용하면 읽기 가능한 복제본을 만들고 데이터 센터 중단 또는 애플리케이션 업그레이드가 있는 경우 복제본으로 수동 장애 조치를 수행할 수 있습니다. 동일하거나 다른 지역에서 최대 4개의 보조 데이터베이스가 지원되며 보조 데이터베이스는 읽기 전용 액세스 쿼리에 사용될 수도 있습니다. 장애 조치는 애플리케이션 또는 사용자에 의해 수동으로 시작되어야 합니다. 장애 조치 후 새 주 데이터베이스에는 다른 연결 엔드포인트가 있습니다.
일반적으로 같은 애플리케이션에서 사용되는 하나 이상의 데이터베이스를 포함할 수 있는 자동 장애 조치(failover) 그룹을 사용합니다. 읽기 가능한 보조 데이터베이스를 사용하여 읽기 전용 쿼리 워크로드를 오프로드할 수 있습니다. 자동 장애 조치 그룹에 여러 데이터베이스가 포함되기 때문에 주 서버에서 이러한 데이터베이스를 구성해야 합니다. 자동 장애 조치 그룹은 그룹의 모든 데이터베이스를 다른 지역에 있는 하나의 보조 서버 또는 인스턴스로만 복제할 수 있도록 지원합니다. 자동 장애 조치(failover) 그룹DR 설계에 대해 자세히 알아봅니다.
영역 중복 데이터베이스를 사용합니다. 기본적으로 프리미엄 가용성 모델에 대한 노드 클러스터는 동일한 데이터 센터에 만들어집니다. Azure 가용성 영역을 도입하는 경우 SQL Database에서 중요 비즈니스용 데이터베이스의 다른 복제본을 동일한 지역의 다른 가용성 영역에 배치할 수 있습니다. 단일 실패 지점을 제거하기 위해 제어 링은 세 개의 GW(게이트웨이 링)로 여러 영역에 걸쳐 복제됩니다. 특정 게이트웨이 링에 대한 라우팅은 ATM(Azure Traffic Manager)에서 제어합니다. 프리미엄 또는 중요 비즈니스용 서비스 계층의 영역 중복 구성은 추가 데이터베이스 중복을 만들지 않으므로 추가 비용 없이 사용하도록 설정할 수 있습니다. 영역 중복 데이터베이스에 대해 자세히 알아보세요.
Azure SQL Database를 근 실시간으로 모니터링하여 안정성 인시던트를 탐지합니다. 사용 가능한 솔루션 중 하나를 사용하여 SQL DB를 모니터링함으로써 잠재적인 안정성 인시던트를 조기에 탐지하고 데이터베이스를 더 안정적으로 만듭니다. 인시던트에 빠르게 대응하려면 근 실시간에 모니터링 솔루션을 선택합니다. 자세한 내용은 Azure SQL 분석을 참조하세요.
재시도 논리를 구현합니다. Azure SQL Database는 일시적인 인프라 오류에 대해 복원력이 있지만, 이러한 오류는 연결에 영향을 미칠 수 있습니다. SQL Database로 작업하는 동안 일시적인 오류가 발생할 경우 코드에서 호출을 다시 시도할 수 있는지 확인합니다. 자세한 내용은 SqlClient 소개에서 재시도 논리구성 가능한 다시 시도 논리를 구현하는 방법을 참조하세요.
키를 백업합니다. Azure Key Vault에서 암호화 키를 사용하여 데이터를 보호하지 않는 경우 키를 백업합니다.

Azure SQL 데이터베이스 및 성능 효율성

Azure SQL Database는 사용자 개입 없이 대부분 데이터베이스 관리 기능을 처리하는 완전 관리형 PaaS(Platform as a Service) 데이터베이스 엔진입니다. 관리 기능에는 다음이 포함됩니다.

  • 업그레이드
  • 패치
  • Backup
  • 모니터링

다음 섹션에는 Azure SQL 데이터베이스 성능 효율성과 관련된 디자인 검사 목록 및 권장 디자인 옵션이 포함되어 있습니다.

디자인 검사 목록

성능 효율성을 염두에 두고 워크로드를 설계하고 Azure SQL Database를 구성했나요?


권장 사항

권장 이점
높은 CPU 사용률을 진단하고 문제를 해결합니다. Azure SQL Database는 높은 CPU 사용량의 원인을 식별하고 워크로드 성능을 최적화하는 기본 제공 도구를 제공합니다.
차단 및 교착 상태 문제를 이해합니다. 교착 상태로 인한 동시성종료된 세션으로 인한 차단에는 다른 원인과 결과가 있습니다.
성능을 위해 애플리케이션 및 데이터베이스를 조정합니다. 애플리케이션 및 데이터베이스를 조정하여 성능을 향상시킵니다. 모범 사례를 검토합니다.
Azure Portal 사용률 보고를 검토하고 적절하게 크기를 조정합니다. 배포 후 Azure Portal 기본 제공 보고를 사용하여 최대 및 평균 데이터베이스 사용률과 적절한 크기 조정 또는 축소를 정기적으로 검토합니다. 데이터 손실 없이 가동 중지 시간을 최소화하면서 단일 데이터베이스 또는 탄력적 풀의 크기를 쉽게 조정할 수 있습니다.
성능 권장 사항을 검토합니다. Azure Portal 데이터베이스 페이지의 지능형 성능 메뉴에서성능 권장 사항에 대한 작업을 검토하고 고려하고 인덱스, 스키마 및 매개 변수화 문제를 구현합니다.
Query Performance Insight를 검토합니다. Azure SQL 데이터베이스 보고서에 대한 Query Performance Insight를 검토하여 리소스를 많이 사용하는 쿼리, 장기 실행 쿼리 등을 식별합니다.
자동 튜닝을 구성합니다. AI 및 기계 학습을 기반으로 지속적인 성능 조정을 통해 최대 성능과 안정적인 워크로드를 제공합니다. Azure Automation 사용하여 자동 튜닝을 위한 메일 알림 구성하는 것이 좋습니다.
메모리 내 데이터베이스 개체의 잠재적 사용을 평가합니다. 메모리 내 기술을 사용하면 애플리케이션의 성능을 개선하고 데이터베이스 비용을 줄일 수 있습니다. 대용량 OLTP 애플리케이션에서 일부 데이터베이스 개체를 디자인하는 것이 좋습니다.
쿼리 저장소 활용합니다. Azure SQL Database에서 기본적으로 사용하도록 설정된 이 쿼리 저장소 다양한 쿼리 성능 및 리소스 사용량 데이터뿐만 아니라 쿼리 저장소 힌트자동 계획 수정과 같은 고급 튜닝 기능을 포함합니다. Azure SQL Database에서 쿼리 저장소 기본값을 검토합니다.
일시적인 오류에 대한 재시도 논리를 구현합니다. 애플리케이션에는 일반적인 연결 오류를 포함하여 일시적인 오류에 대한 자동 트랜잭션 재시도 논리 가 포함되어야 합니다. 지수 재시도 간격 논리를 활용합니다.

추가 리소스

지원되는 기능에 대한 자세한 내용은 SQL Database 마이그레이션하는 동안의 기능 및 Transact-SQL 차이점 해결을 참조하세요.

Azure SQL Database로 마이그레이션하시겠습니까? Azure Database 마이그레이션 가이드를 검토합니다.

Azure SQL topics 등을 다루는 데이터 노출 에피소드를 시청하세요.

다음 단계