Moodle은 스토리지에 대한 높은 처리량, 짧은 대기 시간 액세스가 필요한 오픈 소스 학습 관리 시스템입니다. 많은 Moodle 배포에는 증가하는 수요에 맞게 쉽게 확장성이 필요합니다. 이 문서에서는 Azure Virtual Machine Scale Sets에서 Azure 서비스를 사용하여 Moodle을 배포하고 사용자가 액세스할 수 있는 학습 데이터 파일을 Azure NetApp Files에 저장하는 방법을 설명합니다. 이 문서에서는 고가용성 및 영역 간 복제를 위한 영역 배포에 대해 설명하고 단일 영역 배포의 예제도 제공합니다.
아키텍처
최상의 사용자 환경을 위해 Moodle은 서비스를 사용하는 사무실 및 가정 근로자의 요구를 충족하기 위해 확장 가능한 공유 스토리지에 대한 일관된 짧은 대기 시간 액세스가 필요합니다. 수요가 변경되면 Virtual Machine Scale Sets 및 Azure NetApp Files 용량 풀 및 볼륨의 크기를 위아래로 조정할 수 있습니다.
이 아키텍처의 Visio 파일을 다운로드합니다.
Moodle 배포 외에도 아키텍처는 Azure NetApp Files 영역 간 복제를 사용하여 데이터 볼륨을 보조 영역에 복제합니다. 영역 간 복제 는 가용성 영역을 사용하여 지역에서 고가용성을 제공하고 동일한 지역의 다른 영역으로 복제합니다. 표준 서비스 수준을 사용하는 용량 풀은 정상 작업 중에 대상 데이터 볼륨을 호스트할 수 있습니다.
이 방법을 사용하면 정상 작업 중에 컴퓨팅 및 보조 서비스와 같은 설정의 일부 구성 요소를 시작할 필요가 없습니다. 따라서 이러한 구성 요소에 대한 운영 비용이 발생하지 않습니다. 가상 머신 확장 집합을 최소로 축소할 수도 있습니다.
재해 복구 시나리오에서만 복제된 데이터 볼륨을 사용하여 서비스를 계속하기 위해 필요한 구성 요소를 시작하고 확장해야 합니다. 이때 필요한 경우 대상 Azure NetApp Files 볼륨의 서비스 수준을 프리미엄 또는 Ultra 서비스 수준으로 업그레이드할 수 있습니다.
주 영역을 복구하면 복제 방향이 반전됩니다. 기본 영역은 장애 조치(failover) 중에 적용되는 변경 내용으로 업데이트되며 서비스를 장애 복구(failback)할 수 있습니다. 사용자는 선택한 라우팅 방법에 따라 들어오는 DNS 요청을 빠르고 효율적으로 전달하도록 DNS 계층에서 작동하는 Azure Traffic Manager를 통해 장애 조치(failover) 영역으로 리디렉션됩니다.
워크플로
학생들은 Virtual Machine Scale Sets를 사용하여 사용자를 호스트하기 위해 Moodle 앱을 실행하는 확장 가능한 컴퓨팅 플랫폼을 빌드할 수 있는 Azure 애플리케이션 게이트웨이를 통해 Moodle 애플리케이션 데이터에 액세스합니다. Azure NetApp Files는 Moodle 앱에 콘텐츠 데이터를 제공합니다. 사용자 세션 캐싱, 잠금 및 키 인식에 Redis 캐시를 사용합니다. 학습 콘텐츠, 학생 진행률 및 내부 데이터를 MySQL 데이터베이스에 저장합니다.
고객 데이터 센터에서 직접 보안 VPN 게이트웨이를 통해 학습 콘텐츠를 삽입합니다.
학생들은 보안 애플리케이션 게이트웨이를 통해 Virtual Machine Scale Sets에 배포된 애플리케이션을 통해 콘텐츠에 액세스합니다.
확장 집합에서 VM(가상 머신)을 추가하거나 제거하고 Azure NetApp Files 볼륨 서비스 수준을 조정하여 수요에 따라 솔루션을 확장하거나 축소할 수 있습니다.
구성 요소
Moodle 은 가장 인기 있고 널리 채택된 무료 오픈 소스 학습 관리 시스템 중 하나입니다.
Azure Database for MySQL은 MySQL 커뮤니티 버전에서 제공하는 관계형 데이터베이스 서비스입니다. Azure Database for MySQL - 유연한 서버를 사용하여 Azure에 MySQL 데이터베이스를 호스트할 수 있습니다.
Azure Cache for Redis 는 애플리케이션의 데이터에 대한 높은 처리량, 짧은 대기 시간 액세스를 제공하는 보안 데이터 캐시 및 메시징 브로커입니다.
Azure Virtual Machine Scale Sets를 사용하여 부하가 분산된 VM 그룹을 만들고 관리합니다. 요청 또는 정의된 일정에 따라 VM 인스턴스 수를 자동으로 늘리거나 줄일 수 있습니다.
Azure NetApp Files 는 네이티브 SMBv3, NFSv3 및 NFSv4.1 파일 공유, 데이터베이스, 데이터 웨어하우스 및 고성능 컴퓨팅 애플리케이션과 같이 클라우드에서 가장 까다로운 엔터프라이즈 파일 워크로드를 마이그레이션하고 실행하는 데 사용할 수 있는 Azure 서비스입니다.
대안
대기 시간이 짧고, 입력 또는 출력 작업이 많으며, 특히 동시 사용자 수가 많은 경우 처리량에 대한 요구 사항을 충족하는 NFS 기반 공유 파일 서비스를 사용하여 Moodle 서비스를 배포할 수 있습니다. Linux VM 집합을 기반으로 빌드된 NFS 서비스를 사용할 수 있지만, 이 구성으로 인해 관리 효율성, 확장성 및 성능 문제가 발생할 수 있습니다. Azure NetApp Files는 가장 낮은 대기 시간, 최상의 성능 및 확장성 및 NFS 공유 스토리지에 대한 보안 액세스를 제공합니다.
Azure NetApp Files를 사용하여 대체 배포
이 다이어그램은 단일 지역 배포의 예를 캡처합니다.
이 단일 지역 설정은 Moodle 애플리케이션 및 구성의 다른 구성 요소에 대한 고가용성 액세스를 제공합니다.
시나리오 정보
이 솔루션은 Moodle 배포에 적용됩니다. Moodle을 사용하는 조직은 교육, 비즈니스, IT 및 재무를 비롯한 산업에 걸쳐 있습니다.
이 문서에서는 Moodle의 요구 사항을 충족하는 솔루션을 간략하게 설명합니다. 솔루션의 핵심은 Azure Storage 서비스인 Azure NetApp Files입니다. 이 서비스를 사용하여 클라우드에서 가장 까다로운 엔터프라이즈 규모의 파일 워크로드를 마이그레이션하고 실행할 수 있습니다.
- 네이티브 서버 메시지 블록(SMB) 버전 3, NFSv3 및 NFSv4.1 파일 공유
- 데이터베이스 워크로드
- 데이터 웨어하우스 워크로드
- 고성능 컴퓨팅 애플리케이션
고려 사항
이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.
안정성
안정성은 애플리케이션이 고객에 대한 약속을 충족할 수 있도록 합니다. 자세한 내용은 안정성에 대한 디자인 검토 검사 목록을 참조하세요.
Azure NetApp Files는 완전 중복 베어메탈 반도체 하드웨어를 기반으로 합니다. 서비스는 유지 관리 작업 중에도 중단 없이 작동합니다. 복원력에 대한 자세한 내용은 Azure NetApp Files의 내결함성, 고가용성 및 복원력을 참조하세요.
Azure NetApp Files는 저장된 데이터에 대한 고가용성을 제공합니다. Azure NetApp Files 가용성 보장은 Azure NetApp Files용 SLA를 참조하세요.
보안
우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안성에 대한 디자인 검토 검사 목록을 참조하세요.
모든 배포 옵션의 경우 유효한 SSH(Secure Shell) 프로토콜 2(SSH-2) RSA 퍼블릭-프라이빗 키 쌍을 제공해야 합니다. 길이는 2,048비트 이상이어야 합니다. Azure는 ED25519 및 ECDSA와 같은 다른 키 형식을 지원하지 않습니다. Azure NetApp Files는 고객 관리형 키와 플랫폼 관리형 키를 모두 지원합니다. 이러한 솔루션은 저장된 데이터에 대한 무제한 액세스를 제공하고, 규정 준수 요구 사항을 충족하며, 데이터 보안을 강화합니다. Azure NetApp Files 보안에 대한 정보 및 모범 사례는 Azure NetApp Files에 대한 보안 FAQ를 참조 하세요.
비용 최적화
비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화를 위한 디자인 검토 검사 목록을 참조하세요.
동시성 비율이 10%인 약 5,000명의 사용자를 중대형으로 배포하는 경우 권장 처리량은 약 500MB/s입니다. 이 배포는 P60 관리 디스크 8TB를 사용하는 Linux 기반 Standard_D32s_v4 VM 인프라를 기반으로 빌드할 수 있습니다.
Azure NetApp Files는 4TiB의 울트라 서비스 수준 용량을 사용하는 보다 비용 효율적인 솔루션을 제공합니다. 더 많은 Azure NetApp Files 용량이 필요한 대규모 애플리케이션의 경우 프리미엄 및 표준 서비스 수준 모두 충분한 성능을 제공합니다. 프리미엄 또는 표준 서비스 수준을 사용하여 비용 효율성을 개선합니다.
Azure 가격 계산기를 사용하여 특정 요구 사항에 대한 Azure 리소스 비용을 예측합니다. 자세한 내용은 Azure NetApp Files 비용 모델을 참조 하세요.
Azure NetApp Files 성능 및 TCO(총 소유 비용)를 계산하는 계산기는 Azure NetApp Files 성능 계산기를 참조 하세요. 이 계산기를 사용하여 용량, 성능 및 비용 간의 최적의 균형을 찾습니다.
운영 효율성
운영 우수성은 애플리케이션을 배포하고 프로덕션에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 Operational Excellence에 대한 디자인 검토 검사 목록을 참조하세요.
성능 효율성
성능 효율성은 사용자가 배치된 요구 사항을 효율적인 방식으로 충족하기 위해 워크로드의 크기를 조정할 수 있는 기능입니다. 자세한 내용은 성능 효율성에 대한 디자인 검토 검사 목록을 참조하세요.
필요에 따라 이 솔루션을 확장 또는 축소할 수 있습니다.
Virtual Machine Scale Sets는 리소스의 자동 크기 조정을 제공합니다. 자세한 내용은 Azure Virtual Machine Scale Sets를 사용한 자동 크기 조정 개요를 참조하세요.
수요를 충족하기 위해 Azure NetApp Files 용량 풀 및 볼륨을 쉽고 비침입적으로 확장할 수 있습니다. 자세한 내용은 용량 풀 또는 볼륨 크기 조정을 참조하세요.
Azure NetApp Files의 볼륨 서비스 수준을 표준, 프리미엄 또는 Ultra로 조정할 수 있습니다. 선택하는 수준은 자동 서비스 품질을 가진 볼륨의 처리량 제한에 영향을 줍니다. 자세한 내용은 Azure NetApp Files에 대한 성능 고려 사항을 참조하세요.
시나리오 배포
Azure NetApp Files의 Moodle에 대한 배포 가이드는 Moodle을 사용하는 NFS 스토리지용 Azure NetApp Files를 참조하세요.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Arnt de Gier | 기술 마케팅 엔지니어