小規模VDI環境を構築する Part2 ミドルウェア等構築編

ITインフラ系

Part1はこちら

DB・IIS・WSUSの構築

今回のパートでは、DB、IIS、WSUSを導入していきます。トントンやっていくので詳しい解説はあまりないかもしれません。。。

本来、小規模のVDI環境であればADのみでも成立します。

雑ですがイメージ図です。

Aさんが使うADアカウント(syainA@hypervdi.win)を作成し、端末をADに参加させ、Aさんのアカウントでしかログインできないようにします。そしてVMにもユーザーのADアカウントのみでログインできるようにすると、そのユーザーが使う端末でのみVMにRDPすることが出来ます。社内共有端末があり、AさんのADアカウントが使うことができれば、そこからでもRDPできます。
このような感じで、ADだけでもVDI環境は成り立ちます。しかしVMの作成や管理を人の手で行う必要があります。

そこで、管理をしやすくするために各種機能を構築します。

データベース

VMのデータ管理に役立ちます。VMのデータをDBに登録しておけば、わざわざHyper-Vマネージャーを見て操作したいVMを見つけたりする必要はありません。

Webサーバー(IIS)

IISはAPIを作成するために使用します。ユーザーがHyper-Vマネージャーを触ることなく、自分のVMを管理させたいときに役立ちます。

WSUS

WSUSはWindows Updateを管理するために役立ちます。セキュリティアップデートの配信や、脆弱性があるWindows Updateを止めるなどセキュリティ対策に役立ちます。

正直、これらは一台でVDI環境を作るだけならあまり必要でないかもしれません。ただ、ADを作るだけでVDI環境完成では面白くないのでより便利に、かつ拡張性のある環境として作成したいと思います。
ADだけで十分という方はもちろんADの構築のみでも全く問題ないと思います。

DBの構築

まずDBと統合環境であるSSMSをダウンロードします。
DBは無料で使えるdeveloperエディションを選択しました。
SQL Server ダウンロード | Microsoft
SQL Server Management Studio (SSMS) のダウンロード – SQL Server Management Studio (SSMS) | Microsoft Learn
SSMSで日本語を使用するには、使用できる言語という見出しから、日本語と書かれているところをクリックすると、日本語版のSSMSがダウンロードできます。

インストールする


DBのexeファイルをクリックしてインストールします。基本をクリックしてあとは手順通りに進めます。


SSMSも手順に進んでインストールさせるだけでOKです。

データベースとテーブル作成


開くとこんな感じの画面になるので、データベースを右クリックして新しいデータベースをクリック、お好みのデータベース名を決めてOKを押してデータベースを作成します。(僕はhypervdiとしました)

更新すると作ったデータベースが出てくるのでこれを開いて、テーブルを確認します。何もないのでテーブルを作ります。


テーブルを作成するスクリプトです。後で改変するかもしれませんが一応残しておきます
(IPアドレスの列を追加)

USE [hypervdi]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[virtual_machines](
[created_at] [datetime] NULL,
[modified_at] [datetime] NULL,
[vm_id] [int] IDENTITY(1,1) PRIMARY KEY,
[vm_name] [nvarchar](50) NULL,
[status] [nvarchar](50) NULL,
[hostname] [nvarchar](50) NULL,
[vcpu_core] [int] NULL,
[vcpu_resource] [int] NULL,
[ram] [int] NULL,
[storage] [int] NULL,
[os] [nvarchar](50) NULL,
[ipaddr] [nvarchar](50) NULL,
)
GO


作成できたので一旦DBは構築完了です。お疲れ様でした。

IISの構築

次はIISmanagerでIISを構築していきます。

IISのインストール


IISはサーバーマネージャーから機能の追加でインストールできます。


機能のページにある.NET Framework 4.7の下にあるASP.NET 4.7も入れておきます。

そのまま次へを押してインストールします。終わったら一度再起動します。

IISの動作確認

Defaultで80ポートでサイトが開いていると思うので確認しに行きます。
IIScontrollerのIPに80ポートをつけてブラウザで確認できます。(場所は物理ホストから試しました)

API作成はPart4でやるので一旦構築完了です。
デフォルトのサイトはもう使わないので削除していただいても大丈夫です。

WSUSの構築

WSUSもサーバーマネージャーからインストールできます。

インストール

IISと同じで機能と追加からインストールします。
WSUSにチェックをつけるとIISにもチェックがつきますがこれはWSUSはIISを使ってWindows Updateを配信するからです。

次へを押していくと、更新プログラムを保存するところを聞かれます。チェックを外しても問題ありませんが、一応C直下のWSUSフォルダを作ってそこに指定しておきます。

全て次へを押してインストールします。

インストールしたら再起動します。

再起動後、WSUSを起動するとこのような表示が出てくるので実行を押します


このような画面が出てきます。
次へを押していきます

Windows Updateサーバーと接続するところがあるのですが、あまりにも遅くてキャンセルしてしまいました。(数時間かかる可能性があります)
すぐ終わるなら良いですが、長くて待ってられない方はキャンセルするとWSUSが開くので、同期から同期の開始をすると同期の進行状況がわかるのでおすすめです。
ただ初期設定をやらずにキャンセルしているので次のパートで設定したいと思います。

めちゃめちゃ時間かかりましたが同期できました。

WSUSに登録

まだ登録されているコンピューターがないのでドメインに参加されたらWSUSに登録されるようにしましょう。

ADサーバーにて、ドメインのグループポリシーでWSUSの設定をします。

  • 自動更新を構成するを有効
  • インターネット上のWindows Updateに接続しないを有効
  • イントラネットのMicrosoft更新サービスの場所を指定するを有効

-オプションにあるイントラネット統計サーバーの設定と代替ダウンロードサーバーの設定を以下にする

http://WSUSのIP:8530

出来たら閉じます。次に実際にDBサーバーをWSUSに登録してみましょう。

DBサーバーのpowershellで

gpupdate -force

を入力します。これでさきほど設定したグループポリシーに更新されます。


レジストリエディターでこのように設定が入っていたらOKです。Windows Updateを実行するとWSUSに登録されます。

$AutoUpdates = New-Object -ComObject "Microsoft.Update.AutoUpdate"
$AutoUpdates.DetectNow()

また、このスクリプトでも登録できるようです。

こんな感じで各サーバーにgpupdateをしてからWindows Updateを実行してWSUSにサーバーを認識させていきます


こんな感じで表示されたらWSUSは完了です。

タイトルとURLをコピーしました