Windows Server 2016 TP3もでてNano Serverも少し更新されたようなので試してみたいと思います。
Hyper-Vで試す
だいぶお手軽になった感があるので、Hyper-V上でまずは動作するイメージを作成してみましょう。
1.準備
Windows Server 2016 TP3のISOの中身を適当なフォルダーにコピーします。コピー後、ISOの中身\NanoServer\packagesフォルダにあるen-usフォルダをコピーしてja-jpにリネームします(OSが日本語環境の場合のみ)
あとは作成したイメージ(VHDファイル)を保存する先とワーク用のフォルダを用意しておきます。
2.イメージの作成
最初に new-nanoserverimage.ps1 を読み込んでおきます。
. .\new-nanoserverimage.ps1
※コピーしたISOフォルダーがカレントフォルダーとします
スクリプトを読み込むとNew-NanoServerImageが利用できるようになります。細かなパラメーターはヘルプでも参照してもらうとして、単純に作るには以下のようにします。
New-NanoServerImage ` -MediaPath E:\temp\Win2016TP3 ` -BasePath E:\temp\NanoServer\base ` -TargetPath E:\temp\NanoServer\vhd\buchinano ` -ComputerName buchinano ` -GuestDrivers ` -ForAzure
MediaPathはISOフォルダ、BasePathは一時的なフォルダ、TargetPathは作成するVHDの保存先、ComputerNameは作成するコンピューター名です。
GuestDriversはHyper-Vで動作させる場合に必要です。物理サーバーの場合は代わりにOEMDriversを指定します。
ForAzureはAzure上で動作させる場合に指定します。(単にGuestDriversとRemoteWinRMを有効化してるだけのようですが)
実行するとAdministratorアカウントのパスワードの入力を求められます。実行後しばらくすると40GBほどのVHDファイルが出来上がります。
基本的にはこれだけです。細かい話は公式参照。
3.イメージの起動
出来上がったVHDを使って世代1(Gen1)の仮想マシンをHyper-V上に作ります。起動すれば依然のTPとはちょっと違って多少ましなコンソールが表示されます。
設定したパスワードで認証すれば簡単な情報を見ることができます。(Tabで項目移動です)
またCtrl+F6で再起動、Ctrl+F12でシャットダウンもできますね。
コンソールでは「>」がついた項目にTabで移動してEnterすればより詳細な情報を見ることができます。Networkを選んでアダプターを選べばIPアドレスなどを参照できます。
カーソルの上下キーでスクロールできます。
ESCキーで元の画面に戻れます。(F4キーでアダプターのOn/Offができます)
あとはWinRMなどを使ってリモートからも接続できます。この辺りは同じですね。
相変わらずの軽快さです。
Azureで動かす
Azureで起動させる場合は出来上がったVHDをAdd-AzureVhdなどを使ってアップロード後、VMv1であればクラシックポータルから「ディスク」として登録します。(汎用化せずにそのまま使うので「イメージ」としては登録しない)
あとは普通に作ればいいのですが、RemotePowerShellは5985ポートが既定なのでなおしておきます。
イメージのコピーが無いのとそもそも起動が早いので、普通のVMに比べて早く立ち上がります。
ただ現状そのままだとRemoteでつながらない。(F/W周りだと思うのですがまだ解決してません)
VMAgentも入れたいしもうちょっとコネコネしないといけないかもしれません。
とりあえずのまとめ
.NET CoreのASP.NET 5なWebアプリとかならF/Wの設定してしまえば問題なく動きそうですね。とはいえWindows Containersが動いたりしてくれないと現時点ではなかなかつらいものがあるかもしれません。(アプリを動作させる基盤としては)
インフラの基盤としてHyper-Vクラスタにしたりという用途であればちゃんと評価を始めてもいいのかもしれませんね。(まだまだ大変な気もしますが)