リモートビジュアライゼーションは、Azure仮想マシン(VM)上でグラフィカルアプリケーションを実行し、アプリケーションの表示をユーザーのデバイスにストリーミングします。 アプリケーションは使用している高性能計算(HPC)リソースとデータに近接しています。 大規模な結果セットをワークステーションに移動する代わりに、リモートディスプレイプロトコルはレンダリングされたピクセルをユーザーに送信し、キーボードとポインタの入力をアプリケーションに返します。
リモートビジュアライゼーションはアクセスパターンであり、単一のAzureサービスではありません。 完全なソリューションは、Azureインフラストラクチャとリモートディスプレイソフトウェア、アイデンティティ、ネットワーク、ストレージ、そしてクラスター統合型展開のためのHPCスケジューラやウェブポータルを組み合わせています。 完全なLinuxデスクトップを提供するリモートビジュアライゼーションは、一般的にLinux仮想デスクトップインフラストラクチャ(VDI)とも呼ばれます。
なぜ可視化がデータに移るのか
HPCシミュレーションは、各ユーザーのデバイスにコピーするのが高価または実用的でないデータセットを生成することがあります。 データの近くに可視化を置くことで、次のようなことができます:
- 大規模モデル、メッシュ、画像、シミュレーション結果の転送を削減します。
- 管理されたデータはAzure環境内に保管してください。
- ユーザーにローカルデバイスでは利用できないGPUリソースへのアクセスを許可しましょう。
- アプリケーションとその依存関係の別ローカルコピーを維持するのは避けてください。
この設計はネットワーク要件をなくすわけではありません。 ユーザー体験は依然として往復遅延、利用可能な帯域幅、表示解像度、画質、リモート表示プロトコルに依存します。 各期待されるユーザー位置から完全な経路をテストします。
HPCリモートビジュアライゼーションが一般的なVDIとの違い
汎用仮想デスクトップインフラストラクチャ(VDI)は通常、生産性向上のデスクトップと中央管理型アプリケーションを提供します。 HPCリモート可視化には追加の要件があります:
- グラフィカルアプリケーションは、共有HPCストレージから大規模なデータセットを読み取ることがよくあります。
- セッションには専用GPUやフラクショナルGPUやアプリケーション固有のドライバーが必要になることがあります。
- インタラクティブ作業は、スケジュールされたバッチジョブの前後に行われることがあります。
- 一部のセッションでは、固定されたデスクトップVMではなく、スケジューラ割り当てされた計算リソースが必要です。
- アプリケーションおよびリモートディスプレイライセンスは、VMサイズ、セッション密度、スケーリングを制限することがあります。
一般的なデスクトップ要件にはVDIサービスをご利用ください。 グラフィカルセッションがHPCアプリケーション、ストレージ、またはスケジューラ管理リソースの近くにある必要がある場合は、HPCリモートビジュアライゼーション設計を活用してください。
リモートビジュアライゼーションの活用時期
ユーザーが以下のような用途を必要とする場合、リモートビジュアライゼーションを検討しましょう:
- 大規模なシミュレーション結果をローカルワークステーションにコピーせずに検査できます。
- Linuxのエンジニアリング、科学的、または三次元アプリケーションをインタラクティブに活用しましょう。
- GPUをHPCデータとコンピュートリソースと共置してレンダリングします。
- 永続的なクラウドワークステーションを維持するか、長期間実行中のグラフィカルセッションに再接続してください。
- バッチジョブと同じアイデンティティ、ストレージ、スケジューラ環境を通じてインタラクティブ作業を開始します。
リモートビジュアライゼーションは、ワークロードが非インタラクティブに結果をレンダリングできる場合や、ウェブネイティブアプリケーションが要件を満たしている場合、またはネットワーク遅延が許容できるインタラクティブな体験を妨げている場合、最適な選択肢とは言えないかもしれません。 本番設計を選ぶ前に、代表的なユーザー、データセット、アプリケーションでテストしてください。
アーキテクチャ
リモートビジュアライゼーションソリューションには、通常以下のコンポーネントが含まれます:
- ユーザーエントリーポイント: ネイティブのリモートディスプレイクライアントまたはブラウザベースのポータル。
- セッションホスト: デスクトップまたはグラフィカルアプリケーションとリモートディスプレイソフトウェアをホストするLinuxのVMです。
- レンダリングリソース:軽量ワークロード向けのCPUレンダリング、ハードウェアアクセラレーショングラフィックス向けのAzure GPU仮想マシンなどです。
- HPC統合: 動的に割り当てられたクラスタリソースを必要とするインタラクティブジョブ向けのオプションのスケジューラおよびポータル統合。
- ストレージ: ホームディレクトリ、アプリケーションデータ、HPC結果をセッションに利用可能にするマネージドディスクまたは共有ストレージ。
- アイデンティティ: Linuxのアイデンティティおよびアクセス制御、または選択したソフトウェアが対応している場合の組織アイデンティティプロバイダーとの統合。
- ネットワーク: ユーザーからセッションエントリーポイントへのプライベート接続と、計算およびストレージリソースへの制御された接続性。
レンダリングされたアプリケーションとそのソースデータを可能な限り同じAzureリージョン内に保ちましょう。 リモートディスプレイプロトコルはピクセルやユーザー入力をネットワーク上で送信し、大きなアプリケーションデータセットはAzureに残ります。
直接レンダリングと分割レンダリング
ダイレクトレンダリングでは、アプリケーションとXサーバーまたはデスクトップセッションが同じGPUを使用します。 分割レンダリング設計では、VirtualGLのようなソフトウェアがアプリケーションのOpenGLレンダリングをGPUにリダイレクトし、その結果得られた画像を別のリモートディスプレイセッションに送ります。 分割レンダリングは、リモート表示プロトコル自体がアプリケーションのレンダリングAPIを実装する必要がなく、アプリケーションのハードウェアアクセラレーションを可能にします。
正確な構成は、アプリケーション、ディスプレイサーバー、GPUドライバー、デスクトップ環境、リモートディスプレイ製品によって異なります。 ソフトウェアベンダーが完全な組み合わせをサポートしているか確認してください。 成功したOpenGLデモンストレーションは、本番アプリケーションのサポートやパフォーマンスを確立するものではありません。
デプロイ モデル
HPCのリモートビジュアライゼーションでは、一般的に2つの展開モデルのいずれかを使用します。
- スタンドアロンの可視化: 1つ以上の永続的なセッションホストVMは、HPCスケジューラとは独立してデスクトップやアプリケーションを提供します。 このモデルは、個々のワークステーション、小規模なチーム、スケジュールされた計算リソースを必要としないアプリケーションに適しています。
- クラスター統合可視化: ポータルまたはアクセスノードがHPCスケジューラを通じてインタラクティブセッションを開始します。 このセッションはクラスタと共有のアイデンティティとストレージを使用し、動的にプロビジョニングされた計算資源を使用できます。
一部のワークロードはどちらのモデルも必要としません。 ブラウザネイティブノートブック、アプリケーション固有のウェブインターフェース、非インタラクティブなレンダリングは、より簡単な入り口を提供するかもしれません。 詳細な比較については、「Azure HPCのリモート可視化展開モデルを選択する」をご覧ください。
実装ガイダンスについては、単体モデルとして「Deploy GPU accelerated Linux virtual desktops with ThinLinc on Azure」または、クラスター統合モデルとして「Cycle Cloud Workspace for Slurm で Configure ThinLinc with Open OnDemand」をご覧ください。
GPUに関する考慮事項
アプリケーションのサポートGPUベンダーとドライバー、グラフィックメモリ、CPUとメモリの要件、ストレージスループット、セッション密度、地域別の利用可能性に基づいてVMを選択します。 すべてのAzure GPUのVMファミリーが同じGPUベンダーやドライバースタックを使っているとは限りません。
例えば、NVadsA10_v5 VMはNVIDIA A10 GPUを使い、NVadsのV710 v5 VMはAMD Radeon PRO V710 GPUを使用しています。 ドライバーとレンダリングの設定は互換性がありません。 アプリケーションの互換性をVMサイズ、オペレーティングシステム、リモートディスプレイソフトウェア、ドライバーの組み合わせと確認してください。 現在の選択肢については、 NVファミリーのGPU加速VMサイズをご覧ください。
NVadsA10_v5 のサイズ
NVadsA10_v5サイズはフラクショナルまたはフルのNVIDIA A10 GPUを提供します。 分数は利用可能なフレームバッファメモリを決定します。
| VM サイズ | vCPUs | メモリ (GiB) | A10 GPU群 | GPU メモリ (GiB) |
|---|---|---|---|---|
| Standard_NV6ads_A10_v5 | 6 | 55 | 1/6 | 4 |
| Standard_NV12ads_A10_v5 | 12 | 110 | 1/3 | 8 |
| Standard_NV18ads_A10_v5 | 18 | 220 | 1/2 | 12 |
| Standard_NV36ads_A10_v5 | 36 | 440 | 1 | 24 |
| Standard_NV36adms_A10_v5 | 36 | 880 | 1 | 24 |
| Standard_NV72ads_A10_v5 | 72 | 880 | 2 | 48 |
テーブルはセッション密度の保証ではなく、初期容量の参照として使用してください。 アプリケーションのCPU、システムメモリ、GPUメモリ、ストレージ需要をベンチマークしてください。 現在の仕様については、 NVadsA10_v5サイズを参照してください。
GPUドライバー
VMファミリーとワークロードの両方に対応しているドライバータイプをインストールしてください:
- NVIDIA:NVadsA10_v5バーチャルワークステーションおよびバーチャルアプリケーションのワークロードは、Azure対応のNVIDIA GRIDドライバーを使用します。 GRIDのインストールにはSecure Bootと仮想Trusted Platform Module(vTPM)を無効化する必要があります。 従順に、現在のドライバーおよび対応OSの Linuxを搭載したNシリーズVMにNVIDIAのGPUドライバーをインストールし てください。
- AMD:NVads V710 v5 VMは、AMD GPUドライバー拡張、事前設定されたAzure Marketplaceイメージ、または対応するUbuntuバージョン向けのドキュメント化された手動インストールをサポートしています。 グラフィックスワークロードについては、 NVads V710シリーズLinux仮想マシンにAMD GPUドライバーをインストールする方法に従ってください。
アプリケーションがGPU計算も使っているからといって、グラフィックドライバーの代わりにコンピュートドライバーを使わないでください。 アプリケーションのレンダリングと計算要件を一緒に検証しましょう。
新しい設計では、すでに廃止された、または廃止予定の VM ファミリーは避けてください。 NVv3とNVv4は2026年9月30日に引退します。 NVファミリーGPUで加速されたVMサイズを確認し、退職日前に移行計画を立てましょう。
セッション技術を選択する
セッション技術は異なるユーザー体験とサポートの境界を提供します。
| 技術パターン | ユーザー エクスペリエンス | 一般的なHPCへの適合性 | Considerations |
|---|---|---|---|
| ネイティブリモートディスプレイクライアント | 専用のデスクトップまたはアプリケーションクライアント | 持続的エンジニアリングワークステーション | クライアント展開、プロトコルポート、ライセンス、再接続動作、周辺機器制御 |
| ブラウザベースのリモートデスクトップ | ウェブブラウザを通じたデスクトップストリーミング | ネイティブクライアントを使わない管理アクセス | ウェブゲートウェイのセキュリティ、証明書、ブラウザ互換性、セッション制限 |
| HPCウェブポータル | ファイル、ジョブ、シェル、ノートブック、またはインタラクティブアプリを一つのポータルから | スケジューラ統合共有クラスタ | ポータルおよびスケジューラーの設定、アプリの定義、アクセスノードの容量、リリース固有の機能 |
| VNCベースのセッション | VNCクライアントまたはウェブゲートウェイを通じたリモートLinuxデスクトップ | 制御環境と概念実証 | 暗号化、認証、GPUアクセラレーション、ベンダーサポートは実装によって異なります |
Open OnDemandはHPCウェブポータルの一例です。 Azure CycleCloud Workspace for Slurmは、Slurm環境のウェブエントリーポイントとしてOpen OnDemandをデプロイできます。 ThinLincは、Slurm経由でスケジューリングされるブラウザベースのLinux VDIセッションのアプリケーションオプションの一つです。 Microsoftはパッケージ統合に対して限定的なサポートを提供していますが、CendioはThinLinc製品とそのライセンスをサポートしています。 展開手順については、 SlurmのCycleCloud Workspaceで「Open OnDemandでThinLincの設定」をご覧ください。
保存とデータアクセス
HPCワークフローと同じ権威あるデータを利用できる場所に可視化ホストを配置しましょう。 展開モデルによっては、セッションはマネージドディスク、Azure Files、Azure NetApp Files、Azure Managed Lustre、またはアプリケーションとクラスタ設計でサポートされている他の共有ファイルシステムを使用できます。
プラン:
- セッションホストや共有ストレージ間で一貫したユーザーおよびグループの識別子を確保。
- ホームディレクトリ、プロジェクトディレクトリ、スクラッチスペースの動作
- メタデータや小ファイルのパフォーマンス、順次スループットの評価も重要です。
- 再起動やノード交換後のマウント復元。
- データライフサイクル、バックアップ、スナップショット、アクセス監査。
セッションホストの一時ディスクをユーザーやプロジェクトデータの唯一のコピーとして使わないでください。
ネットワーク設計
可能な限りセッションホスト、データ、依存する計算リソースを同じAzureリージョン内に置いてください。 本番環境では、可視化リソースをプライベートネットワークに配置し、ポイント・トゥ・サイトVPNやAzure ExpressRouteなどの承認されたユーザーアクセスパスを提供します。
Azure BastionはVM管理のためのブラウザベースのSSHまたはRDPを提供できます。 リモートディスプレイ製品やOpen OnDemandアプリケーショントラフィックの汎用プロキシではありません。 選択したセッション技術のエンドユーザーパスを設計し、必要なエンドポイントのみを公開します。
各ユーザー集団のレイテンシを測定します。 ネットワーク帯域幅は画質やフレームレートに影響を与えますが、レイテンシーはしばしばインタラクティブな回転、ズーム、選択の応答感を左右します。
セキュリティに関する考慮事項
本番展開ではデフォルトとしてプライベートネットワークアクセスを使いましょう。 ポイント・トゥ・サイトVPNやAzure ExpressRouteなどの承認されたプライベートアクセスパスを通じてユーザーを接続し、ネットワークセキュリティグループのルールは必要なソースとポートに制限します。
また、以下の管理も適用してください:
- デスクトップサービスや管理インターフェースを公共のインターネットに直接公開しないでください。
- 選択したID統合が多要素認証をサポートする場合は、多要素認証を使用してください。
- 管理者アクセスにはSSH公開鍵認証と最小権限を使いましょう。
- ブラウザベースのエントリポイントには信頼できる証明書を使用してください。
- データ処理要件に応じてクリップボード、ファイル転送、ドライブマッピング、デバイスリダイレクトを制限します。
- オペレーティングシステム、GPUドライバー、リモートディスプレイソフトウェア、アプリケーションをテスト済みの画像ライフサイクルでパッチ適用してください。
- サインイン回数、VMの健康状態、ディスク容量、GPU使用率、ライセンス消費状況を監視します。
共有ポータルの場合は、管理者アクセスとユーザーアクセスを分け、展開前にポータルのアプリケーション定義を確認してください。 インタラクティブアプリケーションは、共有ストレージやスケジュールされたリソースへのアクセスをユーザーの権利を引き継ぐことができます。
リモートビジュアライゼーションが適さない場合
次の場合に別のアクセスパターンを使う:
- ユーザーはネットワークパスでは提供できない高フレームレートまたは遅延に敏感なインタラクションを求めています。
- アプリケーションやライセンス契約にはリモート利用、仮想化、選択したGPUはサポートされていません。
- ウェブネイティブのアプリケーションやノートブックは、運用上の負荷を抑えつつ必要な操作を提供します。
- 非インタラクティブレンダリングは、スケジュールされたジョブとして必要な画像やアニメーションを生成することができます。
- Azureで結果を削減または変換し、安全にローカル分析のために転送できます。
設計と検証の考慮事項
本番環境展開前に、以下の部分を検証してください:
| Area | 回答する質問 |
|---|---|
| Application | ソフトウェアベンダーは選択したオペレーティングシステム、GPU、ドライバー、リモート表示方法をサポートしていますか? |
| ユーザー エクスペリエンス | ユーザーの位置から、レイテンシ、画質、表示解像度、入力デバイス、再接続の挙動は許容できますか? |
| Capacity | 各VMは代表的なモデルやデータセットで何回の同時セッションをサポートできますか? |
| データ | セッションホストは正しいIDと権限で必要なストレージにアクセスできますか? |
| Operations | 画像はどのようにパッチ適用され、セッションは復元され、容量は拡大され、ライセンスはどのように監視されていますか? |
| セキュリティ | アクセスはプライベートで認証され、暗号化されており、承認されたデータ転送機能に限定されているのでしょうか? |
単純なグラフィックデモンストレーションでは、アプリケーションのサポートや本番のパフォーマンスを示すことはできません。 実際のアプリケーションと代表的なデータセットを使って検証してください。
サポートの範囲
MicrosoftはこのソリューションでAzureのインフラストラクチャおよびMicrosoft製品をサポートしています。 リモートディスプレイ製品やアプリケーション固有の統合は、ベンダーによるサポートおよびライセンス条件が別々に設定されることがあります。 ベンダーが管理するインストールガイダンスとサポートされた統合を活用してください。 検証されていないコミュニティプロジェクトを、Microsoftのサポート機能のように展開しないでください。