2018/05/09

Azure上の仮想マシン、どの物理マシン上で動いているのかなー


下記レジストリ下で、調べられます。
同様に、ホストOSのバージョンとかもあります。

■レジストリ
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Virtual Machine¥Guest¥Parameters

■キー
PhysicalHostName


これが regedt32.exeでも見られるし、reg.exeでも
===
reg query "HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Virtual Machine¥Guest¥Parameters" /v PhysicalHostName
===
取れるし、PowerShellでも取れる。

なのに、C#のプログラムから取れない・・・。

色々試行錯誤しました。レジストリのパーミッション調べたりして。

結果、VisualStudioの"Platform Target(プラットフォーム ターゲット)"を"Any CPU"にしていても、"Prefer 32-bit(32 ビットの優先)"というチェックボックスにチェックが入っていると、32bitアプリとして動いてしまうことが原因、と判明。このチェックボックス、デフォルトでチェックが付いているのです。。

64 bit Windows OS下では、レジストリは32bitアプリと64bitアプリとで見にいくところが違っているから注意して、ってのは見ていたのですが"Platform Target"が"Any CPU"なんだから、64bit OS上で動かしているわけだし64bitアプリとして動いているに決まってんだろ、としていたのが敗因でした。。


2016/12/17

nvidia on Azure、PCoIP接続 その6




ホストアドレスにAzure上の仮想マシンのアドレスを入力し[次へ]



と出ますがめげずに[安全で無い接続の開始]


仮想マシンに設定した情報で[ログイン]

デスクトップを選択、ここでは NVTEST を選択し[接続]



無事、PCoIPクライアントから仮想マシンに接続!

nvidia on Azure、PCoIP接続編 おしまい。

nvidia on Azure、PCoIP接続 その5


Azure上のNSG (Network Security Group) で PCoIP を通せるようにします。



具体的には、NSGの Inbound security rule に2つのルールを追加します。
上図で赤丸した箇所をクリック。


上図で赤丸した箇所をクリックすると、ルールの記述ができます。

2つのルールの順番はどっちが最初でも後でも大丈夫です。
1つめが画面転送プロトコルのPCoIP自体。
TCP/UDP 両方とも Port番号 4172 を通過させます。


2つめがPCoIPが認証時に利用するhttpsを通過させます。

ここまででAzure上の設定はオシマイ。

続く・・・

nvidia on Azure、PCoIP接続 その4




(下記作業を継続するためのアイコンが表示されなていなかったら)c:¥Program Files (x86)¥Teradici¥PCoIP Agent¥bin¥pcoip_control_panel.exe を起動します。



緑っぽいPCoIPアイコンを右クリック。


Licensingを選択。



ここで、試用版申込みでメアド宛に送られてきたActivation Codeを入力します。
※入力の仕方にコツがいるようです。筆者環境では、tab キーを使うとうまく入力ができませんでした。

[Activate]ボタンを押せたらCloud Access Software Graphics Agent、いわゆるPCoIP Agentのインストールが完了です。

次に、PCoIPクライアントをインストールします。
PCoIPの真の威力を発揮するためには、専用のハードウェアを使ったゼロクライアントが優れているのですがその話はまた別途。専用のハードウェアといっても1台数万円で買えます。

http://www.teradici.com/product-finder/product-details?productid=1be37e19-64a0-69f0-a533-ff0000f45ce7

http://www.teradici.com/product-finder/product-details?productid=bde37e19-64a0-69f0-a533-ff0000f45ce7

Windows, Mac OS, Chrome OS, Android, iOS 用があります。

どれか好きなのをご用意ください。
ここでは Mac OS 版を使います。

続く・・・

nvidia on Azure、PCoIP接続 その3




ドライバーのインストールが成功すると、デバイスマネージャーで NVIDIA Tesla M60 が確認できます。

もうこれで、Microsoft Remote Desktopから、つまり画面転送がRDPであれば、この仮想マシン上で、DirectXやらOpenGLやらOpenCLで遊ぶことができます。



さて、PCoIPで遊ぶ準備をしましょうか。

teradici社の Cloud Access Softwareを使います。ここでは試用版で。
http://connect.teradici.com/cas-trial

Which version of ... の箇所で
[Graphics Edition for Windows]を選択。あとは適切に情報を入れでGo!



すると、指定したメアド宛にバイナリーのダウンロードURLやら試用のためのキーが送られてきます。



Cloud Access Software Graphics Agent、上記ファイル群だと S-GRA-Win_2.6.2.zip が該当、をAzure上のnvidiaのドライバーをインストールした仮想マシンにインストールします。



なんとなく念のため Run as administrator で実行。



無事インストール完了でリブートです。

続く・・・

nvidia on Azure、PCoIP接続 その2




この順序で仮想マシンに割り当てられるPublic IPを固定します。
この作業は必須ではありませんが、当用途では固定したほうが便利です。


まずは、仮想マシンの初期設定を行いましょう。



Windows OSだったらOS標準のものを。
Mac OSだったら、App Storeからコレを使います。



今までの情報を元に、各種情報を。



[Start]ボタンで仮想マシンに接続しにいきます。




仮想マシンに接続したら、仮想マシンの中からブラウザで
https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-n-series-driver-setup
を開き、nvidiaのドライバーをダウンロードおよびインストールします。



続く・・・

nvidia on Azure、PCoIP接続 その1

Azure VM NVシリーズ展開。NV series deploy

まずは下準備。


仮想マシンを作ります。
ここではWindows Server 2016 Datacenter を選びます。






(そのうちこの注意点は不要になると思われますが)VM disk typeはHDD
Locationは、ここでは Southeast Asia を選びます。

※ご参考 Locationごとに使えるサービスの一覧はここで見られます。
https://azure.microsoft.com/ja-jp/regions/services/




NVシリーズのどれかを選びます。
[Select]をポチッと。



特に注意点はありません。
ここでは適当に入れています。ご自分の趣味に応じて味付けください。




[Ok]ポチしてしばらくすると仮想マシンができあがります。
続く・・・