다음을 통해 공유


Azure에서 적절한 MySQL 서버 옵션 선택

적용 대상: Azure Database for MySQL - 단일 서버 Azure Database for MySQL - 유연한 서버

Important

Azure Database for MySQL 단일 서버는 사용 중지를 향한 여정에 있습니다. Azure Database for MySQL 유연한 서버로 업그레이드하는 것이 좋습니다. Azure Database for MySQL 유연한 서버로 마이그레이션하는 방법에 대한 자세한 내용은 Azure Database for MySQL 단일 서버에 대한 현재 상황을 참조하세요.

Azure를 사용하면 MySQL 서버 워크로드를 호스트된 가상 머신 IaaS(서비스 제공 인프라) 또는 호스트된 PaaS(Platform as a Service)로 실행할 수 있습니다. PaaS에는 두 개의 배포 옵션이 있고 각 배포 옵션 내에는 여러 서비스 계층이 있습니다. IaaS와 PaaS 중에 선택할 때 데이터베이스를 관리할지, 패치, 백업, 보안, 모니터링, 스케일링을 적용할 것인지 아니면 이러한 작업을 Azure에 위임할 것인지 결정해야 합니다.

결정할 때 다음 두 가지 옵션을 고려하세요.

  • Azure Database for MySQL 이 옵션은 PaaS의 업계 범주에 속하며 안정적인 버전의 MySQL 커뮤니티 버전을 기반으로 하는 완전 관리형 MySQL 데이터베이스 엔진을 나타냅니다. PaaS 산업 범주로 분류되며, Azure 클라우드 플랫폼에서 호스트되는 관계형 DBaaS(Database as a Service)입니다. Azure에서 관리되는 MySQL 인스턴스를 사용하면 기본 제공 기능(예: 자동화된 패치 적용, 고가용성, 자동 백업, 탄력적 스케일링, 엔터프라이즈급 보안, 규정 준수 및 거버넌스, MySQL 서버가 온-프레미스 또는 Azure VM에서 추가적인 구성이 요구되는 모니터링 및 알림)을 사용할 수 있습니다. MySQL을 서비스로 사용하는 경우 사용량에 따라 비용을 지불하며 중단 없이 더 효과적으로 제어할 수 있도록 스케일 업 또는 스케일 업할 수 있는 옵션이 있습니다. Azure Database for MySQL, MySQL 커뮤니티 버전에서 제공하는 Azure Database for MySQL은 두 가지 배포 모드로 사용할 수 있습니다.

    • 유연한 서버는 데이터베이스 관리 기능 및 구성 설정에 대한 보다 세부적인 컨트롤과 유연성을 제공하도록 설계된 완전 관리형 프로덕션-레디 데이터베이스 서비스입니다. 유연한 서버 아키텍처는 사용자가 단일 가용성 영역 및 여러 가용성 영역에서 고가용성을 선택할 수 있습니다. 유연한 서버는 서버를 중지/시작하는 기능과 버스트 가능 컴퓨팅 계층을 통해 비용을 최적화할 수 있으므로 전체 컴퓨팅 용량이 지속적으로 필요하지 않는 워크로드에 적합합니다. 유연한 서버는 또한 예약 인스턴스를 지원하여 최대 63%의 비용을 절감할 수 있으며 예측 가능한 컴퓨팅 용량 요구 사항이 있는 프로덕션 워크로드에 적합합니다. 이 서비스는 MySQL 5.7 및 8.0의 커뮤니티 버전을 지원합니다. 이 서비스는 현재 다양한 Azure 지역에서 일반적으로 사용할 수 있습니다. 유연한 서버는 모든 새로운 개발 및 프로덕션 워크로드를 Azure Database for MySQL 서비스로 마이그레이션하는 데 가장 적합합니다.

    • 단일 서버는 최소한의 사용자 지정을 위해 설계된 완전 관리형 데이터베이스 서비스입니다. 단일 서버 플랫폼은 최소한의 사용자 구성과 제어를 통해 패치, 백업, 고가용성, 보안 등 대부분의 데이터베이스 관리 기능을 처리하도록 설계되었습니다. 이 아키텍처는 단일 가용성 영역에서 99.99%의 가용성을 기본 제공하도록 고가용성에 최적화되었습니다. MySQL 5.6(단종), 5.7, 8.0의 커뮤니티 버전을 지원합니다. 이 서비스는 현재 다양한 Azure 지역에서 일반적으로 사용할 수 있습니다. 단일 서버는 단일 서버를 이미 활용하는 기존 애플리케이션에만 가장 적합합니다. 모든 새 개발 또는 마이그레이션에 유연한 서버를 선택하는 것이 좋습니다.

  • Azure VM의 MySQL. 이 옵션은 IaaS 산업 범주에 속합니다. 이 서비스를 선택하면 Azure 클라우드 플랫폼의 관리형 가상 머신 내에서 MySQL 서버를 실행할 수 있습니다. 가상 머신에 MySQL의 모든 최신 버전을 설치할 수 있습니다.

Azure에서 MySQL 배포 옵션 비교

이러한 옵션들의 주요 차이점은 다음 표에 나와 있습니다.

Attribute Azure Database for MySQL
단일 서버
Azure Database for MySQL
유연한 서버
Azure VM의 MySQL
일반
일반 공개 일반적으로 사용 가능 일반적으로 사용 가능 일반적으로 사용 가능
SLA(서비스 수준 계약) 99.99% 가용성 SLA 99.99% 가용성 영역 사용 99.99% 가용성 영역 사용
기본 운영 체제 Windows Linux 관리되는 사용자
MySQL 버전 Community Edition Community Edition Community 또는 Enterprise Edition
MySQL 버전 지원 5.6(사용 중지됨), 5.7 및 8.0 5.7 & 8.0 모든 버전
애플리케이션 공동 배치에 대한 가용성 영역 선택
연결 문자열의 사용자 이름 <user_name>@server_name. 예를 들어 mysqlusr@mypgServer 사용자 이름. 예를 들어 mysqlusr 사용자 이름. 예를 들어 mysqlusr
컴퓨팅 및 스토리지 크기 조정
컴퓨팅 계층 기본, 범용 및 메모리 최적화 버스트 가능, 범용 및 메모리 최적화 버스트 가능, 범용 및 메모리 최적화
컴퓨팅 크기 조정 지원됨(기본 계층으로의 크기 조정은 지원되지 않음) 지원됨 지원됨
스토리지 크기 5GiB~16TiB 20GiB~16TiB 32GiB~32,767GiB
온라인 스토리지 크기 조정 지원됨 지원됨 지원되지 않음
자동 스토리지 크기 조정 지원됨 지원됨 지원되지 않음
IOP 크기 조정 지원되지 않음 지원됨 지원되지 않음
비용 최적화
예약 인스턴스 가격 책정 지원됨 지원됨 지원됨
개발을 위한 서버 중지/시작 최대 7일 동안 서버를 중지할 수 있습니다. 최대 30일 동안 서버를 중지할 수 있음 지원됨
저렴한 버스트 가능 SKU 지원되지 않음 지원됨 지원됨
네트워킹/보안
네트워크 연결 - 서버 방화벽이 있는 공용 엔드포인트.
- Private Link 지원으로 프라이빗 액세스.
- 서버 방화벽이 있는 공용 엔드포인트.
- Private Link 지원으로 프라이빗 액세스.
- Virtual Network 통합을 통한 프라이빗 액세스.
- 서버 방화벽이 있는 공용 엔드포인트.
- Private Link 지원으로 프라이빗 액세스.
SSL/TLS TLS v1.2, 1.1 및 1.0에 대한 지원으로 기본적으로 사용하도록 설정됨 기본적으로 TLS v1.3, 1.2 지원으로 사용하도록 설정 TLS v1.2, 1.1 및 1.0에서 지원됨
미사용 데이터 암호화 고객 관리형 키로 지원됨(BYOK) 서비스 관리형 키로 지원됨 지원되지 않음
Microsoft Entra 인증 지원됨 지원됨 지원되지 않음
클라우드용 Microsoft Defender 지원 아니요
서버 감사 지원됨 지원됨 관리되는 사용자
패치 및 유지 관리
운영 체제 패치 자동 자동 관리되는 사용자
MySQL 부 버전 업그레이드 자동 자동 관리되는 사용자
MySQL 현재 위치 주 버전 업그레이드 5.6에서 5.7까지 지원됨 5.7에서 8.0까지 지원됨 관리되는 사용자
유지 관리 제어 시스템 관리형 고객 관리형 관리되는 사용자
유지 관리 기간 15시간 이내 언제든지 1시간 범위 관리되는 사용자
계획된 유지 관리 알림 3일 5일 관리되는 사용자
고가용성
고가용성 기본 제공 HA(상시 대기 없음) 기본 제공 HA(상시 대기 없음), 상시 대기를 사용하는 동일 영역 및 영역 중복 HA 관리되는 사용자
영역 중복 지원되지 않음 지원됨 지원됨
대기 영역 배치 지원되지 않음 지원됨 지원됨
자동 장애 조치(Failover) 예(다른 서버 회전) 관리되는 사용자
사용자가 시작한 강제 장애 조치(failover) 관리되는 사용자
투명한 애플리케이션 장애 조치(failover) 관리되는 사용자
복제
읽기 복제본 지원 관리되는 사용자
지원되는 읽기 복제본 수 5 10 관리되는 사용자
복제 모드 비동기 비동기 관리되는 사용자
읽기 복제본에 대한 Gtid 지원 지원됨 지원됨 관리되는 사용자
지역 간 지원(지역 복제) 관리되는 사용자
하이브리드 시나리오 데이터 내부 복제에서 지원됨 데이터 내부 복제에서 지원됨 관리되는 사용자
입력 데이터 복제에 대한 Gtid 지원 지원됨 지원됨 관리되는 사용자
데이터 아웃 복제 지원되지 않음 지원됨 지원됨
백업 및 복구
자동화된 백업 아니요
백업 보존 7-35일 1-35일 관리되는 사용자
백업 장기 보존 관리되는 사용자 관리되는 사용자 관리되는 사용자
백업 내보내기 논리 백업을 사용하여 지원됨 논리 백업을 사용하여 지원됨 지원됨
보존 기간 내 언제든지 특정 시점 복원 기능 관리되는 사용자
빠른 복원 지점 아니요
다른 영역에서 복원하는 기능 지원되지 않음
다른 VNet으로 복원하는 기능
다른 지역으로 복원하는 기능 예(지역 중복) 예(지역 중복) 관리되는 사용자
삭제된 서버를 복원하는 기능 아니요
재해 복구
Azure 지역에서 DR 지역 읽기 복제본, 지역 중복 백업에서 사용 지역 중복 백업 사용 관리되는 사용자
자동 장애 조치(Failover) 아니요 아니요 아니요
동일한 r/w 엔드포인트를 사용할 수 있음 아니요 지원되지 않음 아니요
Monitoring
Azure Monitor 통합 및 경고 지원됨 지원됨 관리되는 사용자
데이터베이스 작업 모니터링 지원됨 지원됨 관리되는 사용자
Query Performance Insights 지원됨 지원됨(통합 문서 사용) 관리되는 사용자
서버 로그 지원됨 지원됨(진단 로그 사용) 관리되는 사용자
감사 로그 지원됨 지원됨 지원됨
오류 로그 지원되지 않음 지원됨 지원됨
Azure Advisor 지원 지원됨 지원됨 지원되지 않음
플러그 인
validate_password 지원되지 않음 프리뷰에서 지원됨
caching_sha2_password 지원되지 않음 프리뷰에서 지원됨
개발자 생산성
차량 관리 Azure CLI, PowerShell, REST 및 Azure Resource Manager에서 지원됨 Azure CLI, PowerShell, REST 및 Azure Resource Manager에서 지원됨 Azure CLI, PowerShell, REST 및 Azure Resource Manager가 있는 VM에 지원됨
Terraform 지원 지원됨 지원됨 지원됨
GitHub Actions 지원됨 지원됨 관리되는 사용자

PaaS 또는 IaaS 선택을 위한 비즈니스 동기

MySQL 데이터베이스를 호스트하기 위해 PaaS 또는 IaaS를 선택하는지 여부에 영향을 미치는 몇 가지 요소가 있습니다.

비용

비용 절감은 데이터베이스 호스팅을 위한 최상의 솔루션을 결정할 때 주요 고려 사항인 경우가 많습니다. 현금이 부족한 스타트업이거나 탄탄한 회사에 속해 있지만 예산이 넉넉하지 않은 팀인 경우 특히 그렇습니다. 이 섹션에서는 Azure Database for MySQL 및 Azure VM의 MySQL에 적용되는 Azure의 청구 및 라이선스 기본 사항에 대해 설명합니다.

결제

Azure Database for MySQL은 현재 리소스 가격이 서로 다른 여러 계층의 서비스로 제공됩니다. 모든 리소스 요금은 고정 요율로 시간당 청구됩니다. 현재 지원되는 서비스 계층, 컴퓨팅 크기 및 스토리지 용량에 대한 최신 정보는 가격 책정 페이지를 참조하세요. 애플리케이션의 다양한 처리량 요구에 맞게 서비스 계층과 컴퓨팅 크기를 동적으로 조정할 수 있습니다. 발신 인터넷 트래픽은 일반 데이터 전송 요금이 청구됩니다.

Azure Database for MySQL을 선택하면 Microsoft에서 자동으로 데이터베이스 소프트웨어를 구성, 패치 및 업그레이드합니다. 이러한 작업이 자동화되어 있으므로 관리 비용이 줄어듭니다. 또한 Azure Database for MySQL에는 자동 백업 기능이 있습니다. 이러한 기능은 특히 데이터베이스가 많은 경우 상당한 비용 절감을 달성하는 데 도움이 됩니다. 반대로 Azure VM의 MySQL을 사용하면 모든 MySQL 버전을 선택하고 실행할 수 있습니다. 어떤 MySQL 버전을 사용하든 프로비전된 VM 요금과 데이터, 백업, 모니터링 데이터, 로그 스토리지와 관련된 스토리지 비용 및 사용한 특정 MySQL 라이선스 유형(있는 경우)에 대한 비용을 지불해야 합니다.

Azure Database for MySQL은 서비스의 99.99% SLA 보장을 유지하면서 모든 노드 수준 중단에 대한 기본 제공 고가용성을 제공합니다. 그러나 VM 내에 있는 데이터베이스의 고가용성을 유지하려면 MySQL 데이터베이스에서 사용할 수 있는 MySQL 복제 같은 고가용성 옵션을 사용하세요. 지원되는 고가용성 옵션을 사용하면 추가 SLA가 제공되지 않습니다. 그러나 추가 비용과 관리 오버헤드로 99.99% 이상의 데이터베이스 가용성을 달성할 수 있습니다.

가격 책정에 대한 자세한 내용은 다음 문서를 참조하세요.

관리

대부분의 비즈니스에서 클라우드 서비스로 전환을 결정한다면 비용뿐 아니라 관리 복잡성을 오프로드하기 위한 것입니다.

IaaS를 선택하면 Microsoft에서 다음 작업을 처리합니다.

  • 기본 인프라를 관리합니다.
  • 기본 하드웨어 및 OS의 자동화된 패치를 제공합니다.

PaaS를 선택하면 Microsoft에서 다음 작업을 처리합니다.

  • 기본 인프라를 관리합니다.
  • 기본 하드웨어, OS 및 데이터베이스 엔진의 자동화된 패치를 제공합니다.
  • 데이터베이스의 고가용성을 관리합니다.
  • 자동으로 백업을 수행하고 모든 데이터를 복제하여 재해 복구를 제공합니다.
  • 기본적으로 미사용 데이터 및 사용 중인 데이터를 암호화합니다.
  • 서버를 모니터링하고 쿼리 성능 Insight 및 성능 권장 사항에 대한 기능을 제공합니다.

다음 목록에서는 각 옵션에 대한 관리 고려 사항을 설명합니다.

  • Azure Database for MySQL을 사용하면 데이터베이스 관리를 계속할 수 있습니다. 하지만 더 이상 데이터베이스 엔진, 운영 체제 또는 하드웨어를 관리할 필요가 없습니다. 계속해서 직접 관리할 수 있는 항목은 다음과 같습니다.

    • 데이터베이스
    • 로그인
    • 인덱스 튜닝
    • 쿼리 튜닝
    • 감사
    • 보안

    또한 다른 데이터 센터에 고가용성을 구성하는 데 필요한 구성 및 관리가 최소화됩니다.

  • Azure VM의 MySQL을 사용하여 운영 체제 및 MySQL 서버 인스턴스 구성을 제어할 수 있습니다. VM과 함께 운영 체제 및 데이터베이스 소프트웨어를 업데이트 또는 업그레이드할 시기와 적용할 패치를 결정합니다. 바이러스 백신 애플리케이션과 같은 추가 소프트웨어를 설치할 시기도 선택합니다. 패칭, 백업, 고가용성을 크게 간소화하기 위해 일부 자동화 기능이 제공됩니다. VM 크기, 디스크 수 및 해당 스토리지 구성을 제어할 수 있습니다. 자세한 내용은 Azure를 위한 가상 머신 및 클라우드 서비스 크기를 참조하세요.

Azure로 이동해야 하는 경우

  • 새로운 솔루션에 대한 개발자 생산성과 빠른 출시 시간이 중요한 경우 클라우드용으로 설계된 애플리케이션에 적합한 솔루션은 Azure Database for MySQL입니다. DBA 같은 프로그래밍 방식 기능을 제공하는 이 서비스는 기본 운영 체제 및 데이터베이스 관리 부담을 덜어 주기 때문에 클라우드 설계자와 개발자에게 적합합니다.

  • 새로운 온-프레미스 하드웨어를 획득하는 데 드는 시간과 비용을 줄이려면 서비스에서 지원하지 않는 MySQL 엔진을 세밀하게 제어하고 사용자 지정할 수 있어야 하는 애플리케이션 또는 기본 OS에 대한 액세스가 필요한 애플리케이션에 적합한 솔루션은 Azure VM의 MySQL입니다. 또한 이 솔루션은 Azure Database for MySQL이 잘못된 경우 기존 온-프레미스 애플리케이션 및 데이터베이스를 Azure에 그대로 마이그레이션하는 데 적합합니다.

프레젠테이션, 애플리케이션 및 데이터 계층을 변경할 필요가 없으므로 기존 솔루션 재설계에 따른 비용과 예산이 절감됩니다. 대신 모든 솔루션을 Azure에 마이그레이션하고 Azure 플랫폼에 필요할 수 있는 일부 성능 최적화를 수행하는 데 집중할 수 있습니다.

다음 단계