先日発表された、Azure Active Directory Domain Services (AADDS) の Azure Active Directory Domain Controller (AADDC) を使って、AlwaysOn 可用性グループ (AAG) が構築できるかを試してみました。
AADDS については、No.1 の Azure Active Directory Domain Services (Public Preview) を見ていただければと。
AADDS を触ってみる
No.1 のブログを見がてら自分で調べた内容を。
AADDS は仮想ネットワークに対して割り当てを行い、一つの AAD は一つの VNET にのみ関連付けることができます。
ドメインサービスの DNS ドメイン名については、プルダウンで、関連付けられている DNS ドメイン名を選択することができますが、手動で入力することも可能ですので、以下のような「testdomain.local」というようなドメイン名も指定することが可能です。
IP アドレスが AADDC の IP アドレスになりますので、この IP アドレスを DNS に設定するようにして、VNET を設定します。
IP アドレスは基本複数割り当てられますので、二つの IP アドレスを DNS に設定することになるかと。
AAD のグループとして「AAD DC Administrators」を作成し、その中にユーザーを追加することで、そのユーザーが AADDS でユーザーが可能な操作についての管理者権限を持つことになります。
AAD から AADDS に対してユーザーが同期されますが、同期されるのは、AAD のユーザー情報となるようで、「Microsoft アカウント」や、オンプレミスから同期された「ローカル Active Directory」については、AADDS を有効にした場合の同期からは対象外となるみたいですね。
AADDS を有効にすることで、設定した VNET でドメインコントローラーが使用できるようになりますt。
「testdomain.local」を作成した場合は、「TESTDOMAIN\ユーザー名」か「ユーザー名@testdomain.local」というようなユーザーが使えるようになるかと。
「AAD DC Administrators」に登録したユーザーで、ドメインに参加し、AD 関連の管理ツールを使うことで、AADDC に接続することができます。
OU としては以下が作成されます。
- AADDC Computers (コンピューターアカウント格納用)
- AADDC Users (ユーザー格納用)
ドメインに参加したコンピューターは「AADDC Computers」に登録がされ、AAD に作成したユーザー/グループについては、「AADDC Users」に登録がされるという感じのようです。
これらの OU を操作するのが「AAD DC Administrators」に登録したユーザーとなります。
ユーザーの作成は AAD 側で実施する必要があるため、ユーザー用の OU に新規のユーザーを作成することはできません。
コンピューターアカウント用の OU については、新規のコンピューターアカウントを作成することができますので、WSFC で使用するようなコンピューターアカウントを作成することができます。
また、AADDS では GPO のサポートがうたわれています。
以下が設定されている GPO です。
この中でユーザーが操作できるものは、
- AADDC Computers GPO
- AADDC Users GPO
の二種類になるようですね。
現状、新規の GPO は作成できないようで、この二つの GPO を使用して管理をする必要があるようです。
また、「Default Domain Policy」では、パスワードの有効期間が「42 日」に設定されています。
ざっくり試してみたのですが、AAD 側のユーザーのパスワードを無制限にしても、AADDC 側のユーザーのパスワード有効期限を無制限にすることができませんでした。
この辺りは注意しておく必要がありそうですね。
また、「AAD DC Administrators」ですが、このグループはドメイン参加時に各コンピューターの「Administrators」グループに登録が行われるような GPO が設定されていました。
AADDS の AADDC で AAG を構築する
こちらですが、AADDS を使うからと言って特殊なことはありませでした。
通常の Azure 上に AlwaysOn を構築する手順で問題ありませんでした。
- 3 台の仮想マシンを VNET にデプロイする (SQL Server × 2 / ファイル共有クォーラム用 ×1)
- 各コンピューターをドメインに参加させる
- AD 関連の管理ツールをインストールし「AAD DC Administrators」のユーザーでログイン
- AAD に SQL Server のサービスアカウントで使用するユーザーを登録し、AADDC の「AADDC Users」に連携されるまで待つ
- 「AADDC Computers」にクラスター名オブジェクトで使用するコンピューターアカウントを作成し、WSFC 構築時に使用する「AAD DC Administrators」のユーザーのフルコントロールを設定し、コンピューターアカウントを無効化
- 「AADDC Computers」にリスナーで使用するコンピューターアカ
ウントを作成し、クラスター名オブジェクトのコンピューターアカウントのフルコントロールを設定し、コンピューターアカウントを無効化 - 「AAD DC Administrators」のユーザーでログインし、WSFC を構築
- SQL Server をインストール
- SQL Server のサービス起動アカウントをドメインユーザーに設定し、SQL Server 構成マネージャーから AlwaysOn を有効化
- AlwaysOn 可用性グループを作成
で構築はできるかと。
Azure 上で AlwaysOn を構築する場合のクラスター側の対応として、ProbePort の設定やクラスター IP アドレスの固定化は実施する必要があります。
Get-ClusterResource -Name "IP Address" | Set-ClusterParameter -Multiple @{Network="Cluster Network 1";Address="169.254.1.1";SubnetMask ="255.224.0.0";OverrideAddressMatch=1 } Get-ClusterResource -name AG01_10.0.0.200 | Set-ClusterParameter -Multiple @{Address="xxx.xxx.xxx.xxx;OverrideAddressMatch=1;ProbePort=59999} Get-ClusterResource -name AG01_10.0.0.200 | Get-ClusterParameter | ft * New-NetFirewallRule -Name "SQL Server ProbePort" -DisplayName "SQL Server ProbePort" -Protocol TCP -LocalPort 59999
これらを実施すれば、クラスターや AlwasyOn は構築が可能です。
Windows Server 2016 になるとワークグループクラスターやクラウドウィットネスが入りますので、ADDDS を使用しない / 2 台で 3 票の投票を持つクラスター環境の構築が可能になるかと。
Windows Server 2012 R2 のクラスター構築については ADDDS で賄えそうですね。
# ユーザーのパスワード有効期限がちょっと悩みですが。