編集

次の方法で共有


Azure NetApp Files を使用した Moodle のデプロイ

Azure Application Gateway
Azure Cache for Redis
Azure Database for MySQL
Azure NetApp Files
Azure 仮想マシン スケール セット

Moodle は、ストレージへの高スループットで待機時間の短いアクセスを必要とするオープンソースの学習管理システムです。 多くの Moodle デプロイでは、需要の増加に対応するために簡単なスケーラビリティが必要です。 この記事では、Azure Virtual Machine Scale Sets で Azure サービスを使用して Moodle をデプロイし、ユーザーがアクセスできる学習データ ファイルを Azure NetApp Files に格納する方法について説明します。 この記事では、高可用性とゾーン間のレプリケーションのためのゾーン展開について説明し、単一ゾーンのデプロイの例も示します。

Architecture

最高のユーザー エクスペリエンスを実現するために、Moodle では、サービスを使用するオフィスワーカーと自宅の従業員の要求を満たすために、スケーラブルな共有ストレージへの一貫した低待機時間アクセスが必要です。 仮想マシン スケール セットと Azure NetApp Files の容量プールとボリュームは、需要の変化に応じてスケールアップおよびスケールダウンできます。

クロスゾーン レプリケーションを使用した Moodle 用 Azure NetApp Files のアーキテクチャ図。

このアーキテクチャの Visio ファイルをダウンロードします。

Moodle デプロイに加えて、アーキテクチャでは Azure NetApp Files のクロスゾーン レプリケーションを使用して、データ ボリュームをセカンダリ ゾーンにレプリケートします。 クロスゾーン レプリケーション では、可用性ゾーンを使用してリージョン内の高可用性を提供し、同じリージョン内の別のゾーンにレプリケーションします。 Standard サービス レベルを使用する容量プールは、通常の操作中に宛先データ ボリュームをホストできます。

この方法を使用すると、通常の操作中に、コンピューティング サービスや補助サービスなど、セットアップの一部のコンポーネントを開始する必要はありません。 その結果、これらのコンポーネントの運用コストは発生しません。 仮想マシン スケール セットを最小にスケールダウンすることもできます。

ディザスター リカバリー シナリオでのみ、レプリケートされたデータ ボリュームを使用してサービスを続行するために必要なコンポーネントを開始してスケールアップする必要があります。 現時点では、必要に応じて、移行先の Azure NetApp Files ボリュームのサービス レベルを Premium または Ultra サービス レベルにアップグレードできます。

プライマリ ゾーンを復旧すると、レプリケーションの方向が逆になります。 プライマリ ゾーンは、フェールオーバー中に適用された変更で更新され、サービスをフェールバックできます。 ユーザーは、 Azure Traffic Manager 経由でフェールオーバー ゾーンにリダイレクトされます。これは DNS レイヤーで動作し、選択したルーティング方法に基づいて受信 DNS 要求をすばやく効率的に送信します。

ワークフロー

学生は、Azure アプリlication Gateway を介して Moodle アプリケーション データにアクセスします。このゲートウェイでは、仮想マシン スケール セットを使用して、Moodle アプリを実行してユーザーをホストするスケーラブルなコンピューティング プラットフォームを構築できます。 Azure NetApp Files は、Moodle アプリにコンテンツ データを提供します。 Redis Cache を使用して、ユーザー セッションのキャッシュ、ロック、およびキー認識を行います。 学習内容、学生の進捗状況、および内部データを MySQL データベースに格納します。

  1. お客様のデータセンターから直接、セキュリティで保護された VPN ゲートウェイを介して学習コンテンツを挿入します。

  2. 学生は、セキュリティで保護されたアプリケーション ゲートウェイを介して仮想マシン スケール セットにデプロイされたアプリケーションを介してコンテンツにアクセスします。

  3. スケール セット内の仮想マシン (VM) を追加または削除し、 Azure NetApp Files ボリューム サービス レベルを調整することで、需要に応じてソリューションをスケールアップまたはスケールダウンできます。

コンポーネント

  • Moodle は、最も人気があり、広く採用されている無料のオープンソースの学習管理システムの 1 つです。

  • Azure Database for MySQL は、MySQL コミュニティ エディションを利用したリレーショナル データベース サービスです。 Azure Database for MySQL - フレキシブル サーバーを使って、Azure で MySQL データベースをホストできます。

  • Azure Cache for Redis は、アプリケーションのデータへの高スループットで待機時間の短いアクセスを提供する、セキュリティで保護されたデータ キャッシュおよびメッセージング ブローカーです。

  • Azure 仮想マシン スケール セットを使用して、負荷分散された VM のグループを作成および管理します。 需要または定義されたスケジュールに応じて、VM インスタンスの数を自動的に増減できます。

  • Azure NetApp Files は、ネイティブ SMBv3、NFSv3、NFSv4.1 ファイル共有、データベース、データ ウェアハウス、ハイ パフォーマンス コンピューティング アプリケーションなど、クラウドで最も要求の厳しいエンタープライズ ファイル ワークロードを移行して実行するために使用できる Azure サービスです。

代替

Moodle サービスは、待機時間が短く、1 秒あたりの入力操作または出力操作数が多く、スループット (特に同時ユーザー数が多い場合) の要件を満たす NFS ベースの共有ファイル サービスを使用してデプロイできます。 一連の Linux VM に基づいて構築された NFS サービスを使用できますが、この構成により、管理性、スケーラビリティ、パフォーマンスの問題が発生する可能性があります。 Azure NetApp Files は、最も短い待機時間、最高のパフォーマンスとスケーラビリティ、NFS 共有ストレージへのセキュリティで保護されたアクセスを提供します。

Azure NetApp Files を使用した代替デプロイ

次の図は、単一リージョンデプロイの例を示しています。

Moodle 用 Azure NetApp Files のアーキテクチャ図。

この単一リージョンのセットアップにより、Moodle アプリケーションと構成の他のコンポーネントへの高可用性アクセスが提供されます。

シナリオの詳細

このソリューションは、Moodle のデプロイに適用されます。 Moodle を使用する組織は、教育、ビジネス、IT、財務などの業界にまたがっています。

この記事では、Moodle のニーズを満たすソリューションの概要について説明します。 ソリューションの中核となるのは Azure NetApp Files です。これは Azure ストレージ サービスです。 このサービスを使用すると、クラウド内で最も要求の厳しいエンタープライズ規模のファイル ワークロードを移行して実行できます。

  • ネイティブなサーバー メッセージ ブロック (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」を参照してください。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。

すべてのデプロイ オプションについて、有効な Secure Shell (SSH) プロトコル 2 (SSH-2) の RSA 公開および秘密キーのペアを指定する必要があります。 長さは少なくとも 2,048 ビットである必要があります。 Azure では、その他のキーの形式 (ED25519 や ECDSA など) はサポートされていません。 Azure NetApp Files では、カスタマー マネージド キーとプラットフォームマネージド キーの両方がサポートされます。 これらのソリューションは、保存されたデータへの無制限のアクセスを提供し、コンプライアンス要件を満たし、データセキュリティを強化します。 Azure NetApp Files のセキュリティに関する情報とベスト プラクティスについては、「Azure NetApp Files の セキュリティに関する FAQを参照してください。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。

コンカレンシー比率が 10% の約 5,000 ユーザーの中規模から大規模の Moodle デプロイの場合、推奨スループットは約 500 MB/秒です。 このデプロイは、8 TB の P60 マネージド ディスクを使用する Linux ベースのStandard_D32s_v4 VM インフラストラクチャ上に構築できます。

Azure NetApp Files は、4 TiB の Ultra サービス レベルの容量を使用する、よりコスト効率の高いソリューションを提供します。 より多くの Azure NetApp Files 容量を必要とする大規模なアプリケーションでは、Premium サービス レベルと Standard サービス レベルの両方で十分なパフォーマンスが提供されます。 コスト効率を向上させるには、Premium または Standard サービス レベルを使用します。

Azure 料金計算ツールを使用して、特定の要件の Azure リソースのコストを見積もります。 詳細については、「 Azure NetApp Files コスト モデルを参照してください。

Azure NetApp Files のパフォーマンスと総保有コスト (TCO) を計算する計算ツールについては、「 Azure NetApp Files パフォーマンス計算ツールを参照してください。 この計算ツールを使用すると、容量、パフォーマンス、コストの最適なバランスを見つけることができます。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。

パフォーマンス効率

パフォーマンス効率とは、ユーザーからの要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。

このソリューションは、必要に応じてスケールアップまたはスケールダウンできます。

このシナリオのデプロイ

Azure NetApp Files 上の Moodle のデプロイ ガイドについては、Moodle を使用した NFS ストレージ用の Azure NetApp Files に関するブログ記事を参照してください。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Arnt de Gier | テクニカル マーケティング エンジニア

次のステップ