2016年11月14日月曜日

Microsoft Azure 上に Active Directory ドメインコントローラー構築

うちの会社ではいろんなものを Microsoft Azure 上に構築し始めています。

最初はバックアップ(Azure Site Recovery)から始めて、いまではドメインコントローラーや、社内サーバの一部を移行しました。

VPNを張ってしまえば社内LANと同じように扱えますし、A0サーバあたりだと2,000円以下で実質DCのバックアップが取れたりします。

すでに複数拠点をVPNでつないでいるなんて会社さんであれば、技術的にも問題なく導入できます。

災害時には Azure 上のサーバをもとに、仮復旧なんてこともできてしまいそうです。


Microsoft Azure 上に Active Directory を構築する場合、オンプレミスで構築することと比較すると、ネットワーク周りやサイト設計を配慮する必要が出てきます。

そのための構築メモ。


ネットワークの準備


まずは VPN を準備しないと始まりません。
こちらは後程まとめようかと...


サーバの準備


最初に Active Directory を構築するためのサーバを準備します。

ポータルサイトから「Virtual Machines」-「+追加」で「Windows Server」を選択します。

2016年11月現在では

・Windows Server 2016 Datacenter

が選択できるので、今回はこれで。

サーバー名やユーザー名はあとから変えるのが大変なため、よくよく考えてからつけるとよいです。今回は次のような感じで作ってみます。
  • 名前: DC01
  • VM disk type: Standard
  • リソースグループ: JPEAST_VMs
  • サイズ: A1 Basic (とりあえず)
サブスクリプションは「従量課金」になると思います。

なお、サイズは Virtual Machine を作成した後変更することができるのですが、より上位のものに変更する場合は、収容先のサーバー群が対応している必要があります。

変更できないリスクを避けるため、いったん将来的に使いたいサイズ(例えば D1 v2)で作成し、その後にサイズ変更で小さいサイズに変えると安心です。

おためしであれば A0 Basic サイズでも動作には問題ありませんが、ひとつひとつのアクションが非常に遅いです。Virtual Machine は停止することで課金対象から外すこともできるので、構築中はひと回り大きいほうが楽です。


ストレージアカウントは自動的に作成されます。
「(新規)jpeastvmsdisksXXXX」みたいな名前になります。
あまり意識しなくてもよいのですが、せっかくなので分かりやすい名前にするため、「+新規作成」からシンプルな名前(jpeastdisks)のようなものに変更しておくとよいです。
すでに作成したものがあれば、それにまとめておくのもありかと。

ネットワークは事前に作成しておいたサブネットに所属させるほうが良いです。
Virtual Machine の作成時点では
「(新規)JPEAST_VMs_vnet」みたいな名前で 10.0.0.0/24 がデフォルトで表示されていますが、実際の社内で設計されたネットワークに変えるべきです。

※サブネット周りの設定は、事前に VPN を準備するときに作っておきます。
※社内のネットワーク体系に従ったサブネットを Azure 側に作成しておくことは必須です。
(んじゃ、どう作るのかはまた別記事で)

パブリックIPアドレスは自動的に作成されるもの、
「(新規)DC01-ip」のような名前がついていると思います。

ネットワークセキュリティグループも自動で作成されるものを使います。
「(新規)DC01-nsg」のような名前がついています。
こちらは、各サーバごとに細かく分けるのであれば新規に一つ任意のもの「JPEAST_Servers」のような形で作ったほうが管理が楽かもしれません。

その他はデフォルトで。

デプロイが完了すると、自動的に起動します。



ネットワーク周りの設定


Virtual Machine が出来上がったら、まず基本的なネットワークの設定をします。

リソースグループから「dc01XXX」のような名前の「ネットワーク インターフェース」を選択し、「設定」にある「IP configurations」を選択。
表示されたウインドウに ipconfig1 のような名前が表示されるので、これをクリック。


まずはパブリックIPアドレスを使わない設定にします。
社内の Active Directory を運用するサーバなので、外部からアクセスできる必要はありません。

パブリック IP アドレスの項目を「無効」にします。

VPNが構築されている環境であれば、VPN経由でのアクセスになりますので、安全上もグローバルIPアドレスは無効にしておきます。
社内ネットワークが障害や災害で使えなくなったら、ポータルからVPNの設定追加して、どこかの拠点からVPNつなげばいいですしね。

次に、ローカルIPアドレスを変更します。

割り当てを「静的」にし、サーバに割り当てたいローカルIPアドレスを入力します。
(192.168.100.10 など)

上部の「保存」をクリックすると保存されます。

Microsoft Azure の仕様で、Virtual Machine はDHCPで運用することになっています。

実際には、ポータルサイトでそれぞれのVMに割り当てるIPアドレスを指定できるので、運用上は固定IPと同じになります。

このあたり、YAMAHAのルータにあるMACアドレスをもとにIPアドレスを割り当てるDHCP認証に近いものがあるので、ふだんYAMAHAのルータを使っている人であれば腑に落ちるのではないかと。



サーバの日本語化


やっとサーバにたどり着きました...
AD のインストールの前にサーバの基本的な設定がいくつかあります。

リモートデスクトップで接続します。
接続できないときはルートテーブルの設定があっているかを確認します。


まず最初に日本語化をしておきます。
Windows 2012 R2 とほぼ同様なので、ネット上の情報を参考に。

コントロールパネルー Clock, Language, and Region の Add a language から
Language Packをインストール。
日本語の優先順位を最上位にしておきます。

Language の画面から Change date, time, or number format をクリック 。
LocationタブからHome locationを Japanに変更
Administrativeタブから Copy Settingをクリック
Welcome and new user… では画面下部の二つのチェックを入れる
Change Display Language では Cancel
もういちど Administrative 画面に戻って下部にある Change System Locateを選択
Jpanaese(Japan)を選択
再起動 を行います。

タイムゾーンの設定は Windows Server 2016 から若干変わっていますが、見てわかる程度です。

変更したら再起動して、日本語環境に変わっていることを確認します。


ディスクの追加


Microsoft Azure Virtual Machines に最初からついているディスクは一時ストレージ扱いであり、データなどのディスクは「永続ストレージ」と呼ばれる Azure Storage サービスを利用します。

Active Directory 関連のデータは整合性が重要なため、永続ディスクに保存する必要があります。

永続ディスクはポータルからディスクを作成し、該当のVMにアタッチ(接続)すると、VM の Windows 上から扱うことができるようになります。
(単なる追加ドライブに見える)

ポータルのすべてのリソースからディスクを追加したい仮想サーバを選択します。
設定にある「ディスク」-「新しいディスクの追加」を選択します。

・名前:任意につけてください(DC01_Datadisk01 みたいにしています)
・種類: Standard
・サイズ: 127GB
・ホストキャッシュ: なし

サイズは実際に使った容量だけ課金対象になるので、デフォルトの1023GBでも問題ありませんが、DCなのでさほど大きくなくても問題ありません。
操作を間違えた際に課金が大きくなることを防ぐためにも必要なサイズくらいにしておいてもよいのではないかと。

Azure のディスクは最低でも3重化されていて、かつ使った分だけの課金のため、ディスクを2つ作成し RAID0 を組むと実質的に RAID10 になる

小規模なネットワークで DC に他の役割(WSUSなど)を兼務させる場合は少し大きめにしておいてもよいかもしれません。

いずれにしても、サイズを拡張できたり、A1以上であれば追加ディスクをアタッチできるので、それほど気にすることも無いです。


VMに接続したらサーバーマネージャーの「ファイルサービスと記憶域サービス」-「ディスク」から
該当ディスクを選択します。アタッチしたばかりのディスクはパーティションが「不明」になっているので、右クリックの「初期化」からGPT初期化を行います。

再度右クリックをすると「新しいボリューム」作成メニューが出てくるのでデフォルトでボリュームを作成します。
(※最後の「ファイルシステム設定」でボリュームラベルをわかりやすいものにしたほうが良いかもしれません)


Active Directory サービスのインストール


Active Directory をインストールする前に次の内容を確認しておきます。

・サーバ名が正しくなっているか
・コマンドプロンプトから ipconfig などを使いネットワークアドレスが正しいか確認

Azure のポータルから正しく設定されていれば、Windows Server 上に問題なく反映されているはずです。(Windows Server 上で変更する必要がない)

Windows Update で最新の状態にしておきます。
※これは一晩くらいかかるかもしれません。


いよいよ Active Directory を入れることができるようになりました。

サーバーマネージャーから「2.役割と機能の追加」を選択
「役割ベースまたは機能ベースのインストール」を選択
対象サーバーが正しく選択されている(インストールしようとしているサーバーになっている)ことを確認し、次へ。

対象サーバの選択では対象サーバ名が正しくなっているか、IPアドレスが正しいかを確認します。

サーバーの役割の選択では「Active Directory ドメイン サービス」にチェックをつけます。
「Active Directory ドメイン サービスに必要な機能を追加しますか?」というウインドウが表示されるので、「はい」を選択して閉じます。

その後は「次へ」をクリックしていくと進みます。

最後の「インストールオプションの確認」画面では
「必要に応じてサーバーを自動的に再起動する」にチェックをつけておくと便利かもしれません。

最後に「インストール」ボタンをクリックします。
ちなみに、A1 Basic だとインストールが完了するのに20分以上かかります。

このことからも、構築まではハイスペックなサイズにしておいて、構築後にサイズダウンすることが現実的かもしれません。


ドメインコントローラーへの昇格作業


ドメインコントローラーのインストールが終わると、ウインドウの真ん中あたりに青字で「このサーバーをドメインコントローラーに昇格する」との表示が出るので、クリックする。

配置構成の画面では「新しいフォレストを追加する」(新規にドメインを構築する場合)または、「既存のドメインにドメインコントローラーを追加する」を選択。

今回はイチから構築し、Azure 上のサーバーをFSMOにするパターンなので前者にします。

ちなみに、追加するのであれば、単純に追加した後、サイトの設定を見直すだけでADのバックアップとしてすぐに利用できます。

ドメインコントローラーオプションはなぜかデフォルトが「Windows Server Technical Preview」になっています。
今回は、手持ちのサーバーをオンプレミス側でAD複製するため、フォレストの機能レベル、ドメインの機能レベルともに「Windows Server 2012 R2」にしています。

ドメインコントローラーの機能として
・ドメインネームシステムサーバー(DNS)
・グローバルカタログ(GC)
にデフォルトでチェックがついているのでそのままにし、パスワードを設定して次に進みます。

DNSオプションの画面で警告が表示されますが無視します。
ADで一般的に使われる SAMPLE.local などで使われる .local は当然にインターネットで使われていないドメインであり、親ゾーンが存在しません。

NetBIOS名もそのまま次に進みます。

パスの設定は最重要です。
Azure VMではC、Dドライブは一時ディスク扱いのため、必ず永続ディスク上のフォルダを指定する必要があります。

アタッチした永続ディスク上のフォルダにします。
(私はEドライブに同じフォルダ構成にしたものを作成しています。)

・データベースフォルダー:E:\Windows\NTDS
・ログファイルフォルダー:E:\Windows\NTDS
・SYSVOLフォルダー:E:\Windows\SYSVOL

あとは前提条件のチェックで問題がなければインストールします。
Windows Update の再起動待ちなど、サーバ側で前提条件の失敗があればメッセージに従い修正します。

特に問題なければインストールをして再起動すると Active Directory が有効になります。


再起動後は基本的な設定をしなければなりませんが、次回以降で。