Upload
masayuki-ozawa
View
1.535
Download
2
Embed Size (px)
Citation preview
VM ロールで仮想デスクトップ環境を作ってみよう
小澤 真之 (@Masayuki_Ozawa)
自己紹介
• 名前
– 小澤 真之
• 参加コミュニティ
– JAZUG / SQLTO に参加させていただいています
• お仕事
– 都内の SIer で主に Microsoft 製品の社内支援をしています
2
VM ロールをサーバー用途以外でも使えないか?
• この 2 つを組み合わせて、どこからでも利用できる仮想デスクトップ環境 (ぽいもの) を作れないか試してみました
3
VM ロールは OS のイメージを自分で準備 できるためカスタマイズ可能な範囲が広い
Azure はインターネットにつながれば どこからでも利用することが可能
今回試したのはこの 2 つ
• デスクトップ全体ではなく VM ロール上にインス
トールした特定のアプリケーションだけをクライア
ントに表示
特定のアプリケーションだけをクライアントで使用
• インスタンスの初期化が発生しても消えない
My documents や お気に入り
ユーザープロファイルを永続化
4
このような環境になっています
5
Azure
VM ロール
インターネット接続環境
Azureドライブ
①インスタンス起動時に Azure ドライブをマウント
②リモートデスクトップ用 ユーザーのプロファイルのパスを
Azure ドライブに指定 (ユーザープロファイルの永続化)
③VM ロールで起動した IE だけをリダイレクト
リモート デスクトップ
接続用ユーザー
①インスタンス起動時に Azure Drive をマウント
• インスタンス起動時に実行したい処理は VM ロールアダプターで
実装
VM ロールではスタートアップタスクがない
• Windows Azure API を使用してWindows Azure のランタイム
情報を使用する Windows サービス
• と書きましたが作成方法は通常の Windows サービスと同じ
• PowerShell + タスクスケジューラーで代替することも
VM ロールアダプターってなにもの??
6
①インスタンス起動時に Azure Drive をマウント
7
VM ロールアダプターとして作成したサービス インスタンス起動時に自動実行される
マウントされた Azure Drive
②プロファイルのパスに Azure ドライブ を指定
• リモートデスクトップのユーザーの移動ユーザープロファイルのパスにAzure ドライブを設定 – VM ロールアダプター内に処理を組み込めると思いますが、
今回はイメージアップロード前に手動でプロファイルのパスを設定しています
8
プロファイルのパスに Azure Drive を指定
Azure ドライブ上に保存された 移動ユーザープロファイル
(ログオン/ログオフ時に同期される)
③VM ロールで起動した IE をリダイレクト
• Remote Desktop で Remote App の機能を使用 – 以下のレジストリを変更することでリモートデスクトップ
接続先の特定のアプリケーションだけをリダイレクト可能 • HKLM¥SOFTWARE¥Microsoft¥Windows
NT¥CurrentVersion¥Terminal Server¥TsAppAllowList • fDisabledAllowList (REG_DWORD) : 1
– 特定のアプリケーションに限定してリダイレクトを許可することも可能
• 管理ポータルからダウンロードした RDP ファイルを修正し、起動したいアプリケーションの情報を設定することでアプリケーションの画面だけ表示可能
9
- 以下の記述を追加 - remoteapplicationmode:i:1 remoteapplicationname:s:Internet Explorer remoteapplicationprogram:s:C:¥Program Files¥Internet Explorer¥iexplore.exe
他にもこんなことができます
• リモート オーディオでインスタンス上で再生した音声をクライアントにリダイレクト
– 動画の再生は厳しいですが音声だけであれば聞くことが可能なレベル
10
VM ロールはカスタマイズ可能な範囲が 広いので可能性がいろいろ。
なにか面白い使い方がありましたら、 ぜひぜひ教えてください!!
参考
11
参考)VM ロール アダプターの作り方
• MSDN ≫ Windows Azure の VM ロールのアダプターの開発方法 – http://msdn.microsoft.com/ja-jp/library/gg466226.aspx
※ [アダプターのインストーラーを作成するには] の [Account プロパティ] は [Local System] を設定しないとうまく動きませんでした
• 64 Blog ≫ VMロール アダプターでドライブレター固定のWindows Azureドライブをマウントする – http://blogs.gine.jp/kusa/archives/1575
12
参考)sysprep 時の注意事項
• SID は要注意 – Generalize (一般化) したイメージだとローカルに作成したリ
モートデスクトップ用ユーザーの SID (セキュリティ識別子) が初期化のたびに変更され、初期化後は Azure Drive 上のユーザープロファイルが読めなくなります (同姓同名の他人となってしまうため)
– 今回は Generalize しないイメージを使用していますがサポート対象外になるかもしれないので自己責任で…
• Azure Connect でドメイン参加させ、リモートデスクトップの接続にはドメインユーザーを使用するのが良いかもしれません – ドメインユーザーは初期化後も SID 変更の影響なしなので
Generalize 可能 • ユーザー情報は Active Directory に保存されているため
– 参考) ロールがドメインに結合されている場合の Windows Azure Connect の概要 • http://msdn.microsoft.com/ja-jp/library/gg454720.aspx
13
参考)アプリケーションだけをリダイレクトする
- レジストリをコマンドで変更 -
reg add "HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Terminal Server¥TsAppAllowList" /v fDisabledAllowList /t REG_DWORD /d 1 /f
- RDP ファイルの修正例 -
full address:s:xxxxxxx.cloudapp.net
username:s:xxxxxx
LoadBalanceInfo:s:Cookie: mstshash=xxxxx#xxxxx_IN_0
remoteapplicationmode:i:1
remoteapplicationname:s:Internet Explorer
remoteapplicationprogram:s:C:¥Program Files¥Internet Explorer¥iexplore.exe
14
参考)オーディオをリダイレクト
• [Start] → [Administrative Tools] → [Remote Desktop Services] → [Remote Desktop Session Host Configuration] を実行して、[RDP-Tcp] のプロパティを開く
• [Audio and video playback][Audio recording] のチェックを外す
15
チェックを外す