Windowsアプリケーションのモバイル化(プロジェクト設計ガイド)

キープロジェクト設計ガイド

Mobility Packを適用し、タッチフレンドリーなWindows デスクトップ

Mobility Packを適用し、タッチフレンドリーなWindows デスクトップ

利便性と生産性向上のため、モバイルデバイスのビジネス利用が促進される傾向にあります。IT部門の役割の1つは、業務の生産性向上を実現できるビジネスアプリケーションの提供です。特にタブレットやスマートフォンといったデバイスからWindowsベースの業務アプリケーションへアクセスが求められる反面、ネイティブなモバイルプラットフォームへの移行はIT部門にとって大きな負担になります。アプリケーションへのアクセスをモバイルデバイスに広げるには、企業の情報セキュリティガイドラインを遵守しつつ、従来のアプリケーションと新しいアプリケーション間の互換性対策も必要です。

設計ガイドの目的

この設計ガイドは、情報セキュリティのベストプラクティスを維持しながら、多大な時間およびコストを要するアプリケーションの書き換えを必要とすることなく、タブレットやスマートフォンなど最新のタッチ操作に対応したモバイルデバイス用に最適化されたWindowsベースのアプリケーションを配信するための効率的な方法を構築および実証することです。

World Wide Corporation(WWCO)は、民間の架空の大企業です。従業員が所有するモバイルデバイスから社内のアプリケーションにアクセスできるようにしたいというニーズを持っています。どのようなタイプやブランドのモバイルデバイスでもサポートできるようにする必要があります。また、モバイルデバイスで使用できるよう、小さいディスプレイでWindowsアプリケーションにアクセスするための効率的な方法も求められています。こうした要求に応えるため、IT部門は従業員および会社が所有するモバイルデバイスからWindowsベースが主流のビジネスアプリケーションにアクセスできるよう、Citrix® XenApp® 6.5の導入を決定しました。この新しいソリューションのロールアウトの第一段階として、ユーザー数500人の部署が選択されました。

WWCOのビジネス上の目標

  • 1人のユーザーが所有する複数のデバイスおよび複数のモバイルデバイスに対して、Windowsアプリケーションを効率的にプロビジョニングする
  • アプリケーションの書き換えや新しいアプリケーションの開発を行うコストを軽減する
  • すべてのネットワーク、すべてのデバイスへのアプリケーションやデータの配信を単一のプラットフォームに集約する
  • 最新のモバイルデバイスから簡単にアクセスできるよう、Windowsアプリケーションを迅速に再パッケージ化および最適化する
  • 従業員および会社が所有するモバイルデバイス全体で情報セキュリティを保証する

WWCOの技術面の目標

  • 数百から数千規模のユーザーに拡張可能なソリューションを構築する
  • 数週間以内でソリューションを検証し、配備準備する
  • コストや手間を軽減するためにできる限り仮想化する
  • ビジネス継続性を維持するため、“n+1”の高可用性ソリューションを導入する

XenAppによるWindowsアプリケーションのモバイル化

WWCOは、仮想化アプリケーションへの移行を管理するため、シトリックスのトップコンサルタントのベストプラクティスに基づくWebベースのオープンアプリケーションであるCitrix Project Acceleratorを利用しました。Project Acceleratorは、以下の前提条件に基づき、このキープロジェクトの評価および設計を支援しました。

前提条件

  • すべてのユーザーが、物理サーバーと仮想サーバーすべてをホストする1つのデータセンターを介して、Windowsアプリケーションにアクセスします。本設計ガイドの目的上、ブランチオフィスやWANに対する要件はなし
  • リモートアクセスは、ファイアウォールの外からWindowsアプリケーションにアクセスするために必要
  • 物理的コンポーネントに対して、N+1の高可用性が必要
  • Microsoft® Active Directory®、DNS/DHCP、Microsoft® SQL Server®に対するWWCOの既存のインフラストラクチャーを再利用
  • アプリケーションのワークロードは、通常、一部のローカルオフィス向けの生産性アプリケーション、一部のインターネットやWebベースのアプリケーションを活用し、インターネットでのビデオの視聴やローカルプリントはたまにしか行わない標準的なオフィスユーザーから形成される

ソリューションのコンポーネント

Figure 1_new

図1. Windowsアプリケーションをモバイル化するためのネットワーク図

このソリューションは、以下のコンポーネントを使用して、Project Acceleratorから導き出されました。

  • XenApp 6.5 Feature Pack 1(Mobility Pack適用)
  • Citrix NetScaler Gateway™ 10.x
  • Citrix StoreFront Services 1.2*
  • Provisioning Services 6.1
  • Citrix Licensing Server
  • Citrix Receiver™

これらのシトリックスのコンポーネントは、企業ネットワークの内外にあるモバイルデバイスからホステッドアプリケーションへのセキュアな接続を実現するために、相互にコミュニケーションを行います。コンポーネントのコミュニケーションの詳しい技術説明については、付録1を参照してください。
*2013年9月時点StoreFrontの最新版は2.0です。2.0においてSQLデータベースは不要にりました。

http://support.citrix.com/proddocs/topic/dws-storefront-20/nl/ja/dws-about.html?locale=ja

ソリューションのアーキテクチャ

Project Acceleratorは、上記の前提条件に基づき、Windowsアプリケーションのモバイル化ソリューション全体の視覚的表現として、図2に示すアーキテクチャを提供します。

Figure2_arch

図2. WWCOのWindowsアプリケーションのモバイル化ソリューションのための概念図(Project Acceleratorより)

このアーキテクチャは、さまざまなモバイルデバイスおよびさまざまな場所からWindowsアプリケーションにセキュアにアクセスする必要がある500人のユーザーに適しています。アーキテクチャ図の各層および該当するコンポーネントについて、下記で詳しく説明します。

ユーザー層

この層には、Citrix Receiverソフトウェアクライアントを使用して仮想化アプリケーションにアクセスするユーザーが含まれます。Citrix Receiverは、ユーザーがワークスペースにアクセスするための共通のインターフェースを提供します。WWCOの500人のユーザーグループは図2では「Operators(オペレータ)」と示され、同じようなモビリティ要件を持ち、さまざまなタイプのエンドデバイスからリモートでWindowsアプリケーションにアクセスします。

  • Citrix Receiver:Citrix Receiverは、Windows、Mac®、Linux®、iOS®、Android®など、ほぼすべてのデバイスのOS上で動作するユニバーサルシンクライアントです。このクライアントさえあれば、現在最新のタブレットやスマートフォンからビジネスクリティカルなアプリケーションやデータにアクセスでき、モビリティを向上させます。Citrix Receiverは、WWCOの従業員がダウンロードし、モバイルデバイスにインストールします。

アクセス層

この層は、Citrix Receiverを介してXenApp環境への接続を提供するサーバーから構成されます。アクセス層は、デスクトップデリバリー層内の複数のプールまたはクラスタ間の接続を制御します。通常、データセンターでこの役割を果たすために必要となるのは、StoreFront Servicesサーバーの1つのプールだけです。

このソリューションでは、Windowsアプリケーションへのセキュアなリモートアクセスを提供するため、SSLデータ暗号化を利用してユーザーとWindowsアプリケーションのやり取りを保護しながら、社内のActive Directoryドメインに対して各ユーザーをセキュアに認証できるインターネット上に公衆アクセスポイントが必要でした。リモートアクセスを提供するには、以下のコンポーネントが必要です。

  • StoreFront Services:StoreFront Services(旧Web Interface)は、企業アップストアを介してデスクトップおよびアプリケーションに対しセルフサービスのサブスクリプションサービスを提供し、ユーザーは必要とするあらゆるアプリケーションに簡単にアクセスできます。また、こうしたアプリケーションはその後も使用するすべてのデバイス上で追跡され、一貫したインターフェースが維持され、エクスペリエンスが向上します。ユーザーはCitrix Receiverを介してStoreFront Servicesサーバーにアクセスします。高可用性を実現するため、StoreFront Servicesサーバーのペアが必要です。
StoreFront Servicesサーバー
インスタンス StoreFront ServicesサーバーVM×2
VM構成
メモリ 4GB RAM
プロセッサ vCPU×4
ディスク 50GB
インストールするソフトウェア[1]
Webインターフェース StoreFront 1.2
Windows Server® Windows Server 2008 R2 SP1
IIS 7.5
Microsoft .NET Framework 3.5 Service Pack 1
Windows PowerShell 2.0
MSFT Management Console 3.0
SQL Serverデータベース SQL Server 2008 R2 Enterprise
使用ポート
Webインターフェース 80、443
  • NetScaler Gateway:NetScaler Gateway(旧NetScaler Access Gateway)は、ユーザーにさまざまな場所からのリモートアクセスを提供する一方で、管理者にはきめ細かなアプリケーションレベルおよびデータレベルの制御を提供するセキュアなアプリケーションアクセスおよびデータアクセスのソリューションです。IT管理者に、ユーザーIDとエンドポイントデバイスの種類に基づいてセッション内のアクセス制御と制限の管理を一元化し、より優れたアプリケーションセキュリティやデータ保護、コンプライアンスの管理を提供します。

認証が成功すると、ユーザーとNetScaler Gatewayアプライアンスの間にSSLトンネルが確立されます。ユーザーはStoreFront Servicesサイトに転送され、仮想アプリケーションを選択できます。NetScaler Gatewayでは、物理的または仮想的なCitrix NetScaler®アプライアンスが必要とされます。この使用事例では、WWCOが高可用性を必要としてないという前提に基づき、NetScaler Gateway MPXは1つだけとし、4GBメモリ内蔵のデュアルコアプロセッサを搭載した単一の1Uアプライアンスを採用しました。

シトリックスでは、NetScaler GatewayをネットワークDMZ内に配備し、ネットワークDMZでパブリックルーティング可能なIPアドレスでプライベートネットワークとインターネットの2つのネットワークに参加することを推奨します。また、NetScaler Gatewayを使用して、アクセス制御およびセキュリティのため、LAN内部をパーティション化することもできます。有線または無線ネットワーク間およびデータネットワークと音声ネットワーク間にパーティションを作成できます。

NetScaler Gateway MPXアプライアンスは、バージョン9.2、9.3、および10のNetScaler Gatewayソフトウェアをサポートします。NetScaler Gateway MPXアプライアンスの詳しい仕様については、Knowledge Centerでご確認いただけます。

デスクトップ層(アプリケーションデリバリー)

この層は、イメージ、最適化、配信メカニズムを管理します。これは、ソリューションの配備で技術的に最も複雑な層です。この層からXenAppソフトウェアを使用してホステッドアプリケーションと仮想アプリケーションが配信されます。

Mobility Pack適用後のXenApp

  • Mobility Pack適用後のXenAppは、ユーザー、アプリケーション、ネットワークに基づいてアプリケーションに配信するための最適な方法をダイナミックに選択できる柔軟なオンデマンドアプリケーション配信プラットフォームです。IT部門はこの配信方法に基づき、アプリケーションをデータセンター内にホストまたは仮想マシン(VM)上に集約し、高速なプロトコルを介してすべてのエンドポイントにアプリケーションを配信することができます。XenAppはMicrosoft® RDSH(Remote Desktop Shared Hosted)技術を採用し、複数のユーザーセッションが1つのWindows Serverインスタンスのアプリケーションやリソースを共有します。

WWCOのビジネスクリティカルなアプリケーションは、XenAppサーバー上にネイティブにインストールされました。推奨されるベストプラクティスとして、N+1構成を採用し、十分なXenAppサーバーを配備することで、損失を抑えました。

XenAppには、モバイルデバイス上でのアプリケーションの操作性を向上させるために、モビリティ最適化ポリシーが組み込まれ、Windowsベースのアプリケーションコントロールをインテリジェントにタッチ操作することができます(コントロールの拡大、およびテキストボックスをタッチしたときの自動的なキーボードのポップアップなど)。こうしたモビリティの最適化では、ソースコードの変更は一切必要ありません。

XenAppサーバー要件[2]
インスタンス XenAppサーバーVM×15
VM構成
メモリ 16GB RAM
プロセッサ vCPU×4
ディスク 50GB
インストールするソフトウェア
XenAppソフトウェア XenApp 6.5、AppCenter 6.5
Windows Server® Windows Server 2008 R2 SP1
IIS 7.5
Microsoft .NET Framework 3.5 Service Pack 1
Windows PowerShell 2.0
MSFT Management Console 3.0
Visual J# 2.0 Redistributable Package, Second Edition
Visual C++ 2008 Service Pack 1 Redistributable Package
SQL Serverデータベース SQL Server 2008 R2 Enterprise
アプリケーション XenAppによって配信されるWindowsアプリケーション
使用ポート
Webインターフェース 80、443
HDXポート 1494、2598
  • Provisioning Servicesはサーバーストリーミングソリューションです。つまり、サーバーとアプリケーションの全ワークロードのソフトウェアスタックはサーバーの起動時にネットワークを介して配信されます。ストリームの開始前、ストリームの進行中、またはストリームの完了後は、物理サーバーに常駐インストールはありません。Provisioning Servicesは迅速にプロビジョニングおよびスケールできるよう、XenAppサーバーを同一でありながら動的なサーバーに変えます。ベストプラクティスとしては、同じアプリケーションを配信するXenAppサーバーはすべて100パーセント同じであるべきです。これをProvisioning Servicesが実現します。

マスターイメージディスク(vDisk)の数を減らすため、すべてのターゲットデバイスがある程度類似性を持ち、正しく動作するために必要なすべてのドライバをOSが持つようにしなければなりません。一貫性を保持すべきなのはマザーボード、ネットワークカード、ビデオカードの3つの主要コンポーネントです。Provisioning Servicesのシステム要件の詳細については、シトリックスのドキュメントを参照してください。

このソリューションでは、n+1の高可用性を実現するため、2つのProvisioning Servicesサーバーが必要です。この配備では、以下の仕様に従い、Provisioning Servicesを仮想化しました。

Provisioning Server要件
インスタンス Provisioning ServicesサーバーVM×2
VM構成
メモリ 16GB RAM
プロセッサ vCPU×4
ディスク 50GB
インストールするソフトウェア
Citrix Provisioning Services Provisioning Services 6.1
Windows Server® Windows Server 2008 R2 SP1
Microsoft .NET Framework 3.5
使用ポート
Provisioning Servicesの通信 UDP 6890 – 6909、TCP 54321、54322
ネットワークカード 最低1Gbps、PXE 2.1サポート

制御層

制御層には、ホステッドアプリケーションのユーザーへの配信を制御するために必要なXenAppコンポーネントが含まれます。「アクセス層」セクションで示したAccess Controllerコンポーネントが含まれます。制御層のXenAppコンポーネントはハイパーバイザーの特定のクラスタやプールとリンクするものもあれば、構成全体を対象とするものもあります。

インフラストラクチャーコントロール – WWCOは、500人のユーザー配備用に現在のインフラストラクチャーコンポーネントの多くを利用することができました。この方式により、ソリューション全体のコストおよび手間を低減しながら、ソリューションを迅速に配信できました。このソリューションには、以下のインフラストラクチャーコンポーネントを使用しました。

  • Active Directory:XenAppは、ユーザーとデバイス両方の認証とポリシー実施にActive Directoryを利用しています。WWCOは、ソリューションの実装のために、既存のActive Directory 2008 R2環境を利用しました。
  • SQL Serverデータベース:このデータベースには構成セッションおよび使用状況に関するすべての情報が格納され、XenAppファーム全体の基盤となります。また、StoreFront Servicesもアプリケーションの同期化機能を実現するためにSQL Serverデータベースを必要とします。WWCOでは、SQL Server 2008 R2のミラーをXenAppファームおよびStoreFront Services用に使用しました。このミラーには、高可用性を実現するために、ミラーリング監視サーバーを設定しました。
  • License Server:Citrix License Serverは、XenAppのすべてのコンポーネントについてライセンスを管理します。万一サーバーが使用不能になった場合、License Serverには30日間の猶予期間が与えられています。この猶予期間により、License Serverのクラスタ化に必要となる煩雑な手間が軽減されます。WWCOのXenApp環境では、1台の仮想License Serverを使用しました。万が一このLicense Serverが使用できなくなった場合、WWCOはVMのバックアップコピーに戻ることができます。
License Server要件
インスタンス License Server VM×1
VM構成
メモリ 4GB RAM
プロセッサ vCPU×2
ディスク 50GB
インストールするソフトウェア
Citrix License Server 11.10
Windows Server® Windows Server 2008 R2
Microsoft .NET Framework 3.5
使用ポート
Citrix License Server 27000、7279

制御ホスト – ハードウェアコストの削減、フェイルオーバー保護の向上、システム管理の容易化といったリソースの効率性を実現するには、WWCOのソリューション設計のすべてのコンポーネントの仮想化が不可欠でした。Microsoft® Hyper-V®、Citrix XenServer®、VMware® vSphere®の3つすべての主要ハイパーバイザー上でXenAppがサポートされます。WWCOはHyper-Vを選択し、インフラストラクチャーコンポーネントをサポートするために、データセンター内に2つのHyper-Vクラスタを構築しました。1つはインフラストラクチャーサーバー用で、もう1つはXenAppサーバー用です。

ハードウェア層

WWCOは、XenAppおよび関連インフラストラクチャーコンポーネントをサポートするために、以下のサーバー構成およびハードウェア仕様を選択しました。

この使用事例に選択したサーバーごとのVM

クラスタ1:インフラストラクチャーサーバー

クラスタ2:制御サーバー

サーバー1 サーバー2 サーバー1 サーバー2 サーバー2
StoreFront VM1 StoreFront VM1 XenApp VM(1~5) XenApp VM(5~10) XenApp VM(10~15)
PVS VM1 PVS VM2
License Server VM

 

図3.Project Acceleratorのサイジングおよび配備計画

Hyper-Vサーバー要件(クラスタ1:インフラストラクチャー)
サーバーホスト 2
サーバーごとのハードウェア仕様
メモリ 32GB RAM
プロセッサ Intel E5600シリーズのデュアル6コアプロセッサ
ストレージ 4x146GB 15K RPM SASドライブ
ストレージRAID RAID 5 (407GB使用可能スペース)
Hyper-Vソフトウェア
Windows Server Windows Server 2008 R2 SP1
Hyper-Vストレージ 40GB

 

Hyper-Vサーバー要件(クラスタ2:制御サーバー)
サーバーホスト 3
サーバーごとのハードウェア仕様
メモリ 128GB RAM
プロセッサ Intel E5600シリーズのデュアル6コアプロセッサ
ストレージ 146GB 15K RPM SASドライブ×4
ストレージRAID RAID 5(407GB使用可能スペース)
Hyper-Vソフトウェア
Windows Server Windows Server 2008 R2 SP1
Hyper-Vストレージ 40GB

管理と運用

シトリックスは、サーバー、ファーム、公開アプリケーション、接続を管理するための包括的なツールを提供しています。管理コンソールは、数千人規模のユーザーにまで拡張できることがテスト済みです。WWCOでは、XenAppサーバーの[スタート]メニューでシトリックスのプログラムグループにアクセスすることで、すべてのツールを起動できます。

  • デリバリーサービスコンソール:デリバリーサービスコンソールはMMC(Microsoft Management Console)に統合され、WWCOはこのツールを使用することでサーバー、サーバーファーム、公開リソース、セッションをセットアップおよび監視できます。また、ITチームはポリシーやプリンタをセットアップしたり、Citrix Receiverクライアントアプリケーションアクセスを設定したり、トラブルシューティング情報を検索することもできます。さらに、WWCOは負荷分散の管理、ファーム内の問題の診断、シトリックス製品のホットフィックス情報の表示、管理上の変更の追跡を行うことができます。
  • ライセンス管理コンソール:WWCOはこのコンソールを使用して、Citrixソフトウェアライセンスを管理および追跡します。
  • Citrix SSLリレー構成ツール:WWCOはこのツールを使用して、StoreFront Servicesを実行するサーバーとそのXenAppファーム間の通信のセキュリティを確保します。
  • シャドウタスクバー:シャドウ機能により、他のユーザーのセッションをリモートから表示および制御できます。WWCOのITチームはシャドウタスクバーを使用して、セッションをシャドウしたり、シャドウされた複数のセッションを切り替えます。
  • SpeedScreen管理ツール:このツールを使用することで、ローカルテキストエコー、その他低速ネットワーク上のユーザーエクスペリエンスを向上させる機能を設定できます。
  • XenAppトラブルシューティングツール:Citrix Auto Supportは、シトリックス環境を対象とした無料のオンライントラブルシューティングプラットフォームです。Citrix Auto Supportはログファイルをすばやく解析し、環境をプロファイル化して、既知の問題を走査し、問題の解決のためのカスタマイズされたアドバイスを提供します。Citrix Auto Supportにはここからアクセスし、ログファイルをアップロードします。

まとめ

XenAppには、場所を問わないデスクトップやノートPCのすべてのデバイスへのアプリケーションの配信に対して長い成功の歴史があります。現在、この技術はさらに拡張され、モバイルデバイスへのアプリケーションの配信を容易にするために使用されています。XenAppをベースとしたWindowsアプリケーションのモバイル化ソリューションは、包括的なアプリケーション配信プラットフォームとユニバーサルクライアントを統合させ、アプリケーションをデータセンター内でホストすることにより情報のセキュリティを確保しながら、モバイルデバイスがWindowsベースのアプリケーションにアクセスするための最適なユーザーインターフェースをインテリジェントに提供します。

付録1

プロセスの概要

XenAppサーバーファーム上での公開アプリケーションへのユーザーアクセスのコミュニケーションフロー:

Figure3_sizing_v2

手順 送り手 受け手 ポート 説明

1

クライアントデバイス –Citrix Receiver

NetScaler Gateway

TCP HTTPS/SSL 443

リモートユーザーが、NetScaler Gatewayのアドレス(https://www.ag.companyname.comなど)をWebブラウザのアドレスフィールドに入力する。ユーザーデバイスは、このSSL接続をポート443上で試行する。この接続が成功するには、このポートがファイアウォールでオープンになっていなければならない。

TCP/HTTP 80

2

NetScaler Gateway

StoreFront

(認証)

TCP HTTPS/SSL 443

(2a)NetScaler Gatewayが接続要求を受信し、ユーザーに認証情報を要求する。(2b)認証情報がNetScaler Gatewayから戻され、ユーザーが認証され、StoreFrontに接続が渡される。

Kerberos TCP 88

LDAP:

TCP 389 TCP/

SSL 636

RADIUS:

UDP 1812

3

StoreFront Services

XML Service

TCP/HTTP

80/8080

TCP/SSL 443

StoreFrontが、サーバーファームで動作するXML Serviceにユーザーの認証情報を送信する。
4

XML Service

StoreFront

TCP/HTTP

80/8080

XML Serviceがユーザーの認証情報を認証し、ユーザーがアクセスできる公開アプリケーションやデスクトップのリストをStoreFrontに送信する。
TCP/SSL 443
5

StoreFront

クライアントデバイス – Citrix Receiver for Web

ICA/HDX 1494

StoreFrontが、ユーザーがアクセスできる公開リソース(アプリケーションやデスクトップ)のリストをWebページに設定し、このWebページをユーザーに送信する。
6

クライアントデバイス –Citrix Receiver

StoreFront

TCP/HTTP

80/8080

TCP/SSL 443

ユーザーが公開アプリケーションまたはデスクトップリンクをクリックする。ユーザーがクリックした公開リソースを指定するHTTP要求がStoreFrontに送信される。
7

StoreFront

XML Service

(XenApp)

TCP HTTP/XML 8080

TCP HTTPS/SSL

443

StoreFrontがXML Serviceと情報をやり取りして、公開リソースが動作しているサーバーを示すチケットを受信する。
8

STA (Secure Ticket Authority)サービス(XenApp)

StoreFront

TCP HTTP/XML

8080

TCP HTTPS/SSL

443

StoreFrontが、公開リソースが動作するサーバーのIPアドレスを指定するセッションチケット要求をSTAサービスに送信する。STAはこのIPアドレスを保存し、要求されたセッションチケットをStoreFrontに送信する。
9

StoreFront

クライアントデバイス – Citrix Receiver for Web

ICA/HDX 1494

StoreFrontが、STAから発行されたチケットを含むICA®ファイルを生成し、このファイルをユーザーデバイス上のWebブラウザに送信する。StoreFrontが生成したICAファイルには、NetScaler Gatewayの完全修飾ドメイン名(FQDN)またはドメイン名システム(DNS)名が含まれる。なお、要求されたリソースを実行するサーバーのIPアドレスがユーザーに示されることは決してない。