単一リージョンでは、このソリューションは Moodle アプリやその他のコンポーネントへの可用性の高いアクセスを提供します。 可用性の詳細については、この記事で後述する「可用性」を参照してください。 2 つのリージョンを使用して、このソリューションを実装することもできます。 2 つのリージョンを使用すると、このソリューションによってディザスター リカバリーが提供されます。 Azure リージョンの障害を防ぐには、データ ボリュームを 2 番目のリージョンにレプリケートします。 そのリージョンには、Azure NetApp Files のボリュームのみが含まれている必要があります。
Apache® は、Apache Software Foundation の米国およびその他の国における登録商標または商標です。 このマークの使用は、Apache Software Foundation による保証を意味するものではありません。
アーキテクチャ
単一リージョンでの高可用性のセットアップ
このアーキテクチャの PowerPoint ファイルをダウンロードします。
- 学生が Azure Application Gateway 経由で Moodle アプリケーションのデータにアクセスします。
- Moodle は PHP で記述されています。 Moodle が、Apache HTTP Server や NGINX などの Web サーバー上の仮想マシン スケール セット内で実行されます。
- Azure NetApp Files により、コンテンツ データが Moodle で使用できるようになります。
- このソリューションでは、ユーザー セッションのキャッシュ、ロック、キー認識に Azure Cache for Redis を使用します。
- Azure Database for MySQL データベースに、学習コンテンツ、学生の進捗状況データ、内部データが格納されます。
- 学習コンテンツが、セキュリティで保護された仮想プライベート ネットワーク (VPN) ゲートウェイ経由で顧客のデータセンターから直接システムに移行されます。
デュアル リージョンでのディザスター リカバリーのセットアップ
このアーキテクチャの PowerPoint ファイルをダウンロードします。
- リージョン間レプリケーションによって、Azure NetApp Files ボリュームのレプリケーションが行われます。 このストレージベースのレプリケーション エンジンは Azure NetApp Files に組み込まれています。
- リージョン間レプリケーションを使用する場合は、通常の操作中に一部のコンポーネントをオンにする必要がありません。 したがって、それらのコンポーネントにはコストがかかりません。 フェールオーバーが発生した場合は、それらのコンポーネントを起動し、レプリケートされたデータ ボリュームと共に使用できます。
- プライマリ リージョンを復旧させると、レプリケーションの方向が逆になります。 プライマリ リージョンは、フェールオーバー中に適用されたすべての変更によって更新されます。 その後、サービスをフェールバックすることができます。
- Azure Traffic Manager によって、現在アクティブになっているリージョンにユーザーが誘導されます。
Components
Moodle は、無料のオープンソースの学習管理システムです。
Azure Database for MySQL は、オープンソースの MySQL データベース エンジンのコミュニティ エディションに基づいたフル マネージド リレーショナル データベース サービスです。
Azure Cache for Redis は、オープンソース ソフトウェア Redis に基づいたフル マネージドのインメモリ データ ストアです。
Azure Virtual Machine Scale Sets は、負荷分散された仮想マシン (VM) のグループを管理する方法を提供します。 需要または定義されたスケジュールに応じて、セット内の VM の数が自動的に増減します。
Azure NetApp Files を使用すると、コードを変更することなく、ファイルベースのアプリケーションを容易に移行して実行できます。 この共有ファイル ストレージ サービスは、Microsoft と Microsoft パートナー NetApp によって共同開発されたものです。
リージョン間レプリケーションは、あるリージョンの Azure NetApp Files ボリュームから別のリージョンにある別の Azure NetApp Files ボリュームにデータを非同期的にレプリケートする方法を提供します。 この機能により、リージョン全体の停止または障害発生時にデータを保護できます。
Azure Application Gateway は、Web アプリケーションへのトラフィックを管理するロード バランサーです。
Traffic Manager は、トラフィックをグローバル Azure リージョンにまたがるアプリケーションに分散させるロード バランサーです。 Traffic Manager ではまた、高可用性と迅速な応答性を備えたパブリック エンドポイントも提供されます。
代替
Moodle をデプロイする場合は、超低遅延、高 IOPS、高スループットの要件を満たす NFS ベースの共有ファイル サービスを使用できます。 これらの条件は、多数の同時使用ユーザーにとって特に重要です。 一連の Linux VM の上に構築されている NFS サービスを使用できます。 ただし、この方法では、管理のしやすさ、スケーラビリティ、パフォーマンスに関する課題が生じます。 これに対し、Azure NetApp Files では、NFS 共有ストレージへの高パフォーマンスかつセキュリティで保護されたアクセスを実現する、競争力のある低遅延のソリューションを提供します。
シナリオの詳細
Moodle は、広く導入されている無料のオープンソースの学習管理システムの 1 つです。 30% を超える世界市場シェアを持つ Moodle の顧客数は、世界中で 18 万を超えています。 Azure NetApp Files では、ワークロード向けの高帯域幅、低遅延のソリューションを提供することで Moodle のパフォーマンス要件を満たします。 このソリューションは柔軟性にも優れています。 必要に応じてデプロイを拡大または縮小することで、コスト効率に優れた構成を実現できます。
COVID-19 が出現して以来、Moodle は急速に成長しています。 会社は現在、学習管理システムの市場リーダーの地位を確立しています。 この成長により、Moodle ではビジネスを迅速に拡大し、顧客が Moodle インスタンスをクラウドに迅速かつ効率的にデプロイできるようにするためのオプションを検討する必要がありました。 Moodle のアーキテクチャでは、コンテンツ ストレージに Network File System (NFS) 3.0 プロトコル (NFSv3) が使用されています。
Moodle では、在宅勤務者の要望を満たし、最適なユーザー エクスペリエンスを提供するよう努めています。 その結果、Moodle には次のものが必要です。
- 共有ストレージへの一貫した高スループット、低遅延のアクセス。
- 同時使用ユーザー数の増加に合わせてソリューションをスケールアップする方法。 顧客が好むのは自動スケーリング構成です。
この記事では、Moodle のニーズを満たすソリューションの概要について説明します。 ソリューションの中核となるのは、ファーストパーティのストレージ サービスである Azure NetApp Files です。 このサービスを使用すると、クラウド内で最も要求の厳しいエンタープライズ規模のファイル ワークロードを移行して実行できます。
- ネイティブなサーバー メッセージ ブロック (SMB) バージョン 3、NFSv3、および NFSv4.1 ファイル共有
- データベースのワークロード
- データ ウェアハウスのワークロード
- ハイ パフォーマンス コンピューティング アプリケーション
考えられるユース ケース
このソリューションは、Moodle のデプロイに適用されます。 Moodle を使用する組織は、教育、ビジネス、IT、金融など、多くの業界にまたがっています。
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
このソリューションを実装する場合は、次の点に留意してください。
スケーラビリティ
このソリューションは、必要に応じてスケールアップまたはスケールダウンします。
- Virtual Machine Scale Sets は、リソースの自動スケーリングを提供します。 詳細については、「Azure 仮想マシン スケール セットでの自動スケールの概要」を参照してください。
- Azure NetApp Files の容量プールとボリュームを需要に合わせて簡単かつ非対話型でスケールアップおよびスケールダウンすることができます。 詳細については、「容量プールまたはボリュームをサイズ変更する」を参照してください。
- Azure NetApp Files ボリュームのサービス レベル (Standard、Premium、Ultra のいずれか) を調整できます。 選択したレベルは、自動サービス品質 (QoS) を使用するボリュームのスループット制限に影響します。 詳細については、「Azure NetApp Files のパフォーマンスに関する考慮事項」を参照してください。
可用性
Azure NetApp Files の可用性の保証については、「Azure NetApp Files の SLA」を参照してください。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。
すべてのデプロイ オプションについて、有効な Secure Shell (SSH) プロトコル 2 (SSH-2) の RSA 公開および秘密キーのペアを指定する必要があります。 その長さは、2,048 ビット以上である必要があります。 Azure では、その他のキーの形式 (ED25519 や ECDSA など) はサポートされていません。 Azure NetApp Files のセキュリティについて詳しくは、「Azure NetApp Files のセキュリティに関するよくあるご質問」を参照してください。
回復性
Azure NetApp Files は、冗長なソリッドステート ハードウェアのベアメタル フリートに基づいて構築されています。 メンテナンス操作中でも、サービスは中断されることなく動作します。 回復性の詳細については、Azure NetApp Files でのフォールト トレランス、高可用性、および回復性に関するページを参照してください。
障害復旧
この記事の「アーキテクチャ」で前述したように、ソリューションの回復性を高めることができます。 ディザスター リカバリーを実現するには、セカンダリ リージョンを追加し、Azure NetApp Files のリージョン間レプリケーションを使用します。 この機能により、NFS ボリュームがセカンダリ パッシブ リージョンに効率的にレプリケートされます。 リージョン全体で障害が発生した場合は、そのセカンダリ リージョンでアプリケーションが実行されます。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。
コンカレンシーの割合が 10% である約 5,000 人のユーザーを対象とした中規模から大規模の Moodle のデプロイについて考えてみましょう。 この場合の推奨されるスループットは約 500 MBps です。 この種類のシステムは、8 TB の P60 マネージド ディスクを使用する Linux ベースの Standard_D32s_v4 VM 上にビルドできます。
Azure NetApp Files により、コスト効率の高いソリューションが提供されます。 推奨される 500 MBps のスループットを達成しますが、使用するのは Ultra サービス レベルの 4 TB の容量のみです。 Premium や Standard のサービス レベルでも十分であることが多く、その場合はコスト効率がさらに向上します。 アプリケーションの規模が大きく、アプリケーションでより多くの Azure NetApp Files 容量が必要とされる場合でも、これらのサービス レベルで推奨スループットが実現する可能性があります。
Azure 料金計算ツールを使用すると、実装に必要な Azure リソースのコストを見積もることができます。 Azure NetApp Files のコスト モデリングについて詳しくは、「Azure NetApp Files のコスト モデル」を参照してください。
Azure NetApp Files のパフォーマンスと総保有コスト (TCO) を計算する計算ツールについては、Azure NetApp Files パフォーマンス計算ツールに関するページを参照してください。 この計算ツールを使用すると、容量、パフォーマンス、コストの最適なバランスを見つけることができます。
このシナリオのデプロイ
Azure NetApp Files 上の Moodle のデプロイ ガイドについては、Moodle を使用した NFS ストレージ用の Azure NetApp Files に関するブログ記事を参照してください。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Arnt de Gier | テクニカル マーケティング エンジニア
次のステップ
- MoodleCloud モデル (典型的な開始モデル)
- Azure で迅速かつ効率的に Moodle をスケールアップまたはデプロイするための手順
[ Azure NetApp Files を使用したソリューション アーキテクチャ](azure-netapp-files-solution-architectures.md) - Redis キャッシュ ストア
- Moodle を使用した NFS ストレージ用の Azure NetApp Files
- パブリック プレビュー: Azure Virtual Machine Scale Sets のフレキシブル オーケストレーション モードによる自動スケーリング
製品ドキュメント:
- Azure Virtual Machine Scale Sets とは
- Azure Database for MySQL とは -
- Azure Cache for Redis とは
- Azure Virtual Machine Scale Sets とは
- Azure NetApp Files とは
- Azure Application Gateway とは
- Azure Traffic Manager とは