ここでより広い意味での「RemoteApp」のテクノロジについて説明しておきます。Azure RemoteAppのサービスを正しく理解するために、そもそもRemoteAppとは何なのか知っておいた方がよいでしょう。
RemoteApp(旧称、TS RemoteApp)は、Windows Server 2008の「ターミナルサービス」および「リモートデスクトッププロトコル(RDP)6.0」に初めて実装されたテクノロジです。
通常のリモートデスクトップ接続は、サーバー(旧ターミナルサーバー、現在のRDセッションホスト)にリモートからサインインしたユーザーセッションのフルデスクトップに接続します。管理者はフルデスクトップの代わりに、アプリケーションに対する接続をRemoteAppプログラムとして発行してユーザーに提供できます(画面6)。
RemoteAppプログラムの実体はサーバー側で実行されているアプリケーションですが、その表示はローカルのWindowsデスクトップにシームレスに統合されます(画面7)。これまでRemoteAppといえば、このテクノロジを指していました。
最新のWindows Server 2012 R2のリモートデスクトップサービス(RDS)は、RDセッションホストが提供する「セッションベースのデスクトップ」と、RD仮想化ホストおよびHyper-Vが提供する、いわゆるVDI(Virtual Desktop Infrastructure:仮想デスクトップインフラストラクチャ)である「仮想マシンベースのデスクトップ」の2種類のデスクトップ環境をユーザーに提供し、どちらもフルデスクトップまたはRemoteAppプログラムとして公開可能です。RDSは、これらのサーバーに加えて、RD接続ブローカーを中心に複数の役割サービスで構成されます(図1)。また、ID認証基盤としてActive Directoryドメインが必須です。
RDSの環境は複雑ですが、RDSの各役割サービスはウィザードで比較的簡単に導入することができます。しかし、大量のユーザーをサポートするには大量のコンピューティングリソースをサーバー側に集中する必要があり、この場合は初期導入コストの高さが課題となります。可用性を高める冗長化には、さらに追加のハードウェア投資が必要になります。また、Windows Serverのサーバーライセンス、Windows Server CAL(クライアントアクセスライセンス)に加え、RDS CALやWindows VDA(Virtual Desktop Access)のライセンスが必要であり、コストをさらに押し上げます。
Azure RemoteAppは、RemoteAppプログラムを展開するためのRDSの環境を丸ごとクラウド上に用意して、アプリケーションの配信を可能にするサービスです。その導入方法には、「簡易作成」と「VPNで作成」の2種類の方法があります(図2)。「簡易作成」は「クラウド展開(クラウドデプロイメント)」、「VPNで作成」は「ハイブリット展開(ハイブリッドデプロイメント)」とも呼ばれます。
クラウド展開は、クライアント以外の全てをクラウド上に展開する方法です。クライアント側にインターネット接続があれば、どこからでもすぐにアプリケーションを利用できます。
ハイブリッド展開は、企業ネットワークとVPN(仮想プライベートネットワーク)でサイト間接続し、ID統合と企業内リソースへのアクセスを可能にする展開方法です。企業内のActive DirectoryとAzure Active Directoryのディレクトリデータベースが同期され、ユーザーは企業内のIDを使用してアプリケーションを実行できます。Azure RemoteAppのアプリケーションからは、VPN接続を通して企業内のリソースにドメイン資格情報でアクセスできます。
前述のように、クラウド展開は「簡易作成」のメニューからテンプレートイメージを選択する方法で素早く作成できます。一方、ハイブリッド展開はカスタムテンプレートイメージの準備、RemoteApp仮想ネットワークの作成とVPN接続、Active Directoryの統合構成など、クラウドと企業ネットワークの両方で準備作業が必要になります(画面8)。
企業内ではサーバー側にリソースを集中的に投資する必要がありますが、Azure RemoteAppの場合はクラウドの豊富なリソースをニーズに応じて動的に配置できます。Azure RemoteAppは、最小20ユーザーから最大で400ユーザー(BASIC)または250(STANDARD)ユーザーにまで対応できるスケールがあり、そのスケールは自動的に増減されます。クラウドだから初期投資なしで開始することができ、ユーザー数と使用時間に基づいた月額課金で利用できます。
実は、Azure RemoteAppを使用しなくても、Microsoft AzureのIaaS(Infrastructure as a Service)や他社クラウドを利用して、RDSのサーバーをクラウドに配置することは可能です。これは、2014年1月からRDS CALの拡張により可能になりました。
RDSのサーバーをクラウドに配置する場合は、RDセッションホストだけでなく、RD接続ブローカーやRDライセンスなどの関連する役割サービスも企業内またはクラウドのいずれかに配置して管理する必要があります。クラウドに配置したサーバーは、利用者側の責任でOSレベルで管理する必要があります。
対してAzure RemoteAppを使用する場合、管理の範囲はアプリケーションの発行とユーザーアクセスの許可、カスタムテンプレートを使用する場合はそのイメージの管理だけで済みます。Azure RemoteAppのアプリケーションを実行するために、RDS CALは必要ありません。つまり、RDSの環境を初期コストゼロで導入することができるのです。
Azure RemoteAppには、「BASIC」と「STANDARD」の二つのスケールオプションが用意されています。BASICはデータ入力など業務アプリケーションを実行するタスクワーカー向け、STANDARDはOfficeアプリケーションなど生産性アプリケーションを実行するインフォメーションワーカー向けとされています。一つのRemoteAppコレクション当たりBASICで最大400ユーザー、STANDARDで最大250ユーザーをサポートできます。
このスケールの違いがAzure RemoteAppの内部でどのように扱われているのかは情報が公開されていないため想像するしかありません。試しに、Azure RemoteAppでコマンドプロンプト(cmd.exe)を公開して、Windowsシステム情報(Msinfo32.exe)を実行してみたところ、BASICとSTANDARDのどちらも仮想マシンは4基の論理プロセッサーと7GBのメモリで動作していました。ここから想像できるのは、一つのRemoteAppコレクション当たりに用意される仮想マシンの最大数は同じであり、1台の仮想マシン当たりのユーザー収容数(密度)に違いがあるということです。
Azure RemoteAppのユーザーごとの料金には、1ユーザー当たり50GBのクラウドの記憶域が提供されます。この50GBのクラウドの記憶域は、ユーザーセッションごとに用意されるユーザープロファイル(%USERPROFILE%)の領域のことです。
Azure RemoteAppのRemoteAppコレクションは、1台のRDセッションホストではなく、RDセッションホストのプールであるため、ユーザープロファイルの領域はRDセッションホストのローカルドライブではなく、外部の記憶域が利用されています。具体的には、「Windows Azure Drive」と呼ばれるAzureストレージ上に作成された50GBのVHDを、ユーザープロファイルのパス(%USERPROFILE%)をマウントポイントとしてマウントしたものです(画面9)。
Windows Server 2012 R2のRDSには、ユーザーデータのローミングをサポートするために「ユーザープロファイルディスク」という機能があります。ユーザープロファイルディスクは、ユーザーごとに準備される共有フォルダー内のVHDXを、ユーザープロファイルのパス(%USERPROFILE%)をマウントポイントとしてマウントしたものです(画面10)。このように、Azure RemoteAppとWindows Server 2012 R2のRDSは、同じテクノロジに基づいています。
Copyright © ITmedia, Inc. All Rights Reserved.