fbpx

Windows Azure Pack で IaaS を構築する:第3回 #azure #AzureStack

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

マイクロソフトは、2015年5月に実施されたIgnite 2015にてAzureをオンプレミスで構築する"Azure Stack"のリリースを発表しました。"Azure Stack"は今夏に顧客向けのプレビュー版が登場するとのことなので、クリエーションラインとしてはそのリリースを待って"Azure Stack"のリサーチ・検証も実施する予定です。本記事のシリーズについては現状の"Azure Pack"で記述をしております。

ドメインコントローラーの構築

第3回では、ドメインコントローラーの構築について説明します。
System Center Virtual Machine Manager や Hyper-V ホストは、ドメインに参加させる必要がありますので、まずはドメイン環境を構築しておきます。

本シナリオで使用するシステム構成やホスト名、全体の作業工程については、第1回の記事を参照してください
/lab/6422

ドメインコントローラーとなる仮想マシンをセットアップする

ホスト名 MASTER の Hyper-V に仮想マシンを作成し、Windows Server 2012 R2 をインストールします。インストール後、このサーバーをドメインコントローラーへ昇格させます。

仮想マシンを作成する

仮想マシンを作成するには、Hyper-V マネージャーを使用します。MASTER へログインし、[スタートメニュー] - [管理ツール] - [Hyper-V マネージャー] をクリックして Hyper-V マネージャーを開きます。また、コマンドプロンプトや「ファイル名を指定して実行」ウィンドウから、virtmgmt.msc と入力して開くこともできます。

azp_img_03_01

仮想スイッチを作成する

仮想マシンの前に、まずは仮想スイッチを作成します。仮想スイッチについてここでは詳しく述べませんが、これを作ることにより、仮想マシンがネットワークへ接続できるようになります。
Hyper-V マネージャーの操作ペイン(右側の窓)から、[仮想スイッチ マネージャー] をクリックします。仮想スイッチマネージャーウィンドウが開きます。その後、左ペインの [新しい仮想ネットワークスイッチ] をクリック後、右ペインの仮想スイッチの作成から、[外部] を選択し、[仮想スイッチ作成] をクリックします。
azp_img_03_02

続いて、下図のように [名前] を “外部仮想スイッチ” とし、[外部ネットワーク] として MASTER がインターネットに接続しているネットワークアダプターを選択します。
[管理オペレーティングシステムにこのネットワークアダプターの共有を許可する] は必ずチェックします。これをチェックしないと、MASTER がネットワークに接続できなくなります。設定が終わったら [OK] をクリックします。
azp_img_03_03

最後に、以下のような確認メッセージが表示されますので [はい] をクリックします。これで、インターネットに接続できる仮想スイッチが作成されました。
azp_img_03_04

仮想マシンを作成する

Hyper-V マネージャーの操作ペイン(右側の窓)から [新規] - [仮想マシン] をクリックします。仮想マシンの新規作成ウィザードが表示されます。

[次へ] をクリックします。
azp_img_03_05

「名前と場所の指定」では、[名前] に DomainController と入力し、[次へ] をクリックします。この名前は、ホスト名ではなく、仮想マシンを識別するための名前になります。
azp_img_03_06

「世代の指定」では、[第 1 世代] をチェックし、[次へ] をクリックします。
azp_img_03_07

「メモリの割り当て」では、[起動メモリ] に 2048 と入力し、[次へ] をクリックします。
azp_img_03_08

「ネットワークの構成」では、[接続] に先ほど作成した “外部仮想スイッチ” を選択し、[次へ] をクリックします。
azp_img_03_09

「仮想ハードディスクの接続」では、[仮想ハードディスクを作成する] をチェックし、[サイズ] に 20 と入力します。この仮想マシンはドメインコントローラーを動かすためだけに使用するので、小さいサイズで問題ありません。[次へ] をクリックします。
azp_img_03_10

「インストールオプション」では、[ブート CD/DVD-ROM からオペレーティングシステムをインストールする] をチェックし、メディアは [物理 CD/DVD ドライブ] をチェックします。その後、[次へ] をクリックします。
※ここでは、第2回の記事で作成した Windows Server 2012 R2 の DVD メディアを使用しますが、ダウンロードした ISO ファイルを MASTER へコピーし、このファイルからインストールを行うことも可能です。その場合は、[イメージファイル (.iso)] をチェックし、ISO ファイルのパスを指定してください。
第2回 /lab/6748
azp_img_03_11

「要約」では、設定内容の確認ができます。確認後、[完了] をクリックします。
azp_img_03_12

これで、仮想マシンが作成されます。Hyper-V マネージャーに、作成した仮想マシン DomainController が表示されます。
azp_img_03_13

Windows Server 2012 R2 をインストールする

MASTER の DVD ドライブに Windows Server 2012 R2 のメディアを入れます。続いて、Hyper-V マネージャーの仮想マシンから、DomainController をダブルクリックし、仮想マシン接続ウィンドウを開きます。
azp_img_03_14

ウィンドウのツールバーから起動アイコンazp_img_03_16をクリックし、仮想マシンを起動します。Windows セットアップの画面が表示されますので、Windows Server 2012 R2 をインストールします。インストールについては、第2回記事中の「Windows Server 2012 R2 をインストールする」を参考にしてください。
第2回 /lab/6748

インストールが完了すると、以下の画面になります。ツールバーの左端にあるazp_img_03_17をクリックするとログオン画面になりますので、Administrator でログオンします。
azp_img_03_15

ネットワークに関係する設定を行う

以下のようにネットワーク設定を行います。ネットワーク設定については、第2回記事中の「ネットワーク設定と Hyper-V のインストールを行う」を参考にしてください。
第2回 /lab/6748

  • ホスト名:DC
  • ネットワーク
    • IPアドレス:192.168.1.101
    • サブネットマスク:255.255.255.0
    • デフォルトゲートウェイ:192.168.1.1
    • プライマリDNS:127.0.0.1

ドメインコントローラーの役割を与える

ドメインコントローラーの役割を与えるには、Active Directory ドメイン サービスをインストールする必要があります。GUI のサーバーマネージャーから行う方法が一般的ですが、ここでは Power Shell を使用して行ってみます。

サーバーの役割追加は Install-WindowsFeature を使用しますが、-Name パラメーターには、役割ごとに決められた値を指定しなければなりません。まずはその値を Get-WindowsFeature で調べます。

PS C:\> Get-WindowsFeature | Select-Object DisplayName, Name | Select-String 'ドメイン サービス'
@{DisplayName=Active Directory ドメイン サービス; Name=AD-Domain-Services}

Name は AD-Domain-Services ということが分かりました。これを指定して、インストールを行います。

PS C:\> Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {Active Directory ドメイン サービス, リモ...
警告: Windows
自動更新が有効になっていません。新しくインストールした役割または機能が自動的に更新されるようにするには、[Windows Update] を有効にしてください。

警告が表示されますが、無視して構いません。これでインストールは完了です。ただし、ドメイン名などの設定はまだ行っていないので、まだこの段階ではドメインコントローラーとしては機能しません。

本シナリオでのドメインは、単純なひとつのドメイン(ドメイン名:mydomain.local)で構成されます。構成を行うには Install-ADDSForest を使用します。-DomainName にドメイン名を指定します。DNSサーバーの役割のインストールと設定も同時に行われます。
セーフモードの管理者パスワードに任意の値を指定し、最後の確認メッセージで Y を指定すると、処理が開始されます。完了後、自動で OS が再起動されます。

PS C:\> Install-ADDSForest -DomainName "mycloud.local"
SafeModeAdministratorPassword: ********
SafeModeAdministratorPassword を確認してください: ********
ターゲット サーバーは、ドメイン コントローラーとして構成され、この操作が完了すると再起動されます。
この操作を続行しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y

再起動後、Administrator でログオンし、インストールされたことを確認します。

PS C:\> Get-WindowsFeature -Name AD-Domain-Services, DNS
Display Name                                            Name                       Install State
------------                                            ----                       -------------
[X] Active Directory ドメイン サービス                  AD-Domain-Services             Installed
[X] DNS サーバー                                        DNS                            Installed
PS C:\> $env:COMPUTERNAME
DC
PS C:\> $env:USERDNSDOMAIN
MYCLOUD.LOCAL

これで、mycloud.local ドメインのドメインコントローラーとして動作するようになりました。

Hyper-V ホスト (HV1) を mycloud.local ドメインへ参加させる

DNS サーバーを設定する

HV1 に Administrator でログオンします。まずは、ドメインコントローラーの名前解決を行えるようにするため、DNS サーバーの設定を行います。sconfig のオプション番号 8 を入力し、Enter を押下します。
azp_img_03_18

ネットワークアダプターのインデックス番号を指定します。この例では 12 になります。
azp_img_03_19

DNS サーバーを設定するため、2 を入力し、Enter を押下します。
azp_img_03_20

優先 DNS サーバーの値として 192.168.1.101(ドメインコントローラー DC の IPアドレス)を入力し、Enter を押下します。代替 DNS サーバーは指定しないので、値を入力せずに Enter を押下します。
azp_img_03_21

これで DNS サーバーの設定が完了しましたので、メインメニューに戻ります。

コマンドプロンプトで、ドメインコントローラーの名前解決ができるか確認します。

C:\>nslookup dc.mycloud.local
サーバー:  UnKnown
Address:  192.168.1.101
名前:    dc.mycloud.local
Address:  192.168.1.101

mycloud.local ドメインに参加する

続いて、sconfig のオプション番号 1 を入力し、Enter を押下します。
azp_img_03_22

ドメインに参加するため、D を入力し、Enter を押下します。
azp_img_03_23

参加するドメインの名前に mycloud.local と入力し、Enter を押下します。
承認済みのドメイン\ユーザーに mycloud\administrator と入力し、Enter を押下します。
azp_img_03_24

mycloud\administrator のパスワードが求められるので、パスワードを入力します。パスワードの値は、ドメインコントローラー DC の、administrator のパスワードになります。
azp_img_03_25

コンピューター名の変更ダイアログが表示されるので、[いいえ] をクリックします。
azp_img_03_26

最後に、再起動を促すメッセージが表示されるので、[はい] をクリックして再起動します。
azp_img_03_27

再起動後、ドメイン管理者 mycloud\administrator でログオンします。sconfig から、ドメイン mycloud.local へ参加したことを確認します。
azp_img_03_28

以上で、設定は完了です。

付録:Windows リモート管理 (WinRM) を試してみる

System Center Virtual Machine Manager (SCVMM) と、その管理 Hyper-V ホストとの相互運用 (リモート操作) にはWinRM を使用します。WinRM の詳細については、以下を参照してください。
https://technet.microsoft.com/ja-jp/library/dn265971.aspx

HV1 を mycloud.local ドメインへ追加したことにより、同じドメイン内のコンピューターから、お互いに WinRM でのリモート操作が可能になります。ドメイン管理者などの権限のあるユーザーでログオンしている場合は、リモートコマンド実行時に、明示的なクレデンシャルの指定も不要になります。

試しに HV1 から DC に対してコマンドを実行してみましょう。さきほど HV1 へドメイン管理者でログオンしたので、HV1 から DC のリモート操作が可能です。

今回は、リモートコマンドを実行するために、PowerShell の Invoke-Command を使用します。Invoke-Command 横の { } 内にリモートホストで実行するコマンドを入力し、-ComputerName パラメーターに対象のリモートホスト (この例では DC ) を指定します。

それでは、HV1 のコマンドプロンプトから PowerShell を起動し、ドメインユーザー一覧を取得してみます。

PS C:\Users\administrator.MYCLOUD> powershell
Windows PowerShell
Copyright (C) 2013 Microsoft Corporation. All rights reserved.
PS C:\Users\administrator.MYCLOUD> Invoke-Command { Get-ADUser -Filter * } -ComputerName DC | Select-Object Name | Sort-Object Name
Name
----
Administrator
Guest
krbtgt

このように、簡単にリモートコマンドを実行することができます。
参考までに、権限がない場合は、以下のようなエラーが表示されます。主にワークグループ環境でホスト間に信頼関係がない場合によく見られるエラーです。

PS C:\> Invoke-Command { ipconfig } -ComputerName DC
[DC] リモート サーバー DC への接続に失敗し、次のエラー メッセージが返されました
: WinRM は要求を処理できません。Kerberos 認証の使用中にエラー (errorcode 0x8009030e) が発生しました: 指定されたログオン セッションは存在しません。そのセッションは既に終了している可能性があります。
考えられる原因:
-指定されたユーザー名またはパスワードが無効。
-認証方法とユーザー名が指定されていないときに Kerberos が使用された。
-Kerberos がドメイン ユーザー名は受け付けるがローカル ユーザー名を受け付けない。
-リモート コンピューターの名前とポートに対応するサービス プリンシパル名 (SPN) が存在しない。
-クライアント コンピューターとリモート コンピューターが別々のドメインにあり、2 つのドメイン間に信頼関係がない。
これらの問題をチェックした後、次の操作を試してください。
-イベント ビューアーを表示して、認証に関するイベントを確認します。
-認証方法を変更します。宛先コンピューターを WinRM の TrustedHosts 構成設定に追加するか、または HTTPS トランスポートを使用します。
TrustedHosts 一覧に含まれるコンピューターは認証されていない可能性があります。
-winrm help config コマンドを実行すると、WinRM 構成に関する詳細が表示されます。詳細については、about_Remote_Troubleshooting のヘルプ トピックを参照してください。

次回は...

フェーズ3:アプリケーションサーバーの構築 (前編)  について説明します。ここまでの回は下準備という感じでしたが、次回からは Azure Pack で IaaS を構築するための根幹部分に入っていきます。
なお、本シナリオの全体の作業工程については、第1回の記事を参照してください。
/lab/6422

参考文献

Install-ADDSForest
https://technet.microsoft.com/en-us/library/hh974717.aspx
Windows リモート管理 (WinRM) の概要
https://technet.microsoft.com/ja-jp/library/dn265971.aspx
Webサービス・マネジメント(WS-MAN
http://dmtf.org/jp/standards/wsman
リモートコマンドの実行
https://technet.microsoft.com/ja-jp/library/dd819505.aspx

新規CTA