Windows Azure Connect を使用することでオンプレミス環境との連携をすることが可能になります。
VM Role (他のロールも該当するようですが) のサービスモデルにいくつか設定をすることで VM Role のインスタンスを Active Directory ドメインに参加させることが可能となりますのでその手順をまとめていきたいと思います。
以下の情報がとても参考になります。
Overview of Windows Azure Connect When Roles Are Joined to a Domain
Troubleshooting Windows Azure Connect
Domain Joining Windows Azure roles
Windows Azure Connect – Domain Join Issue
Contents
■Active Directory 側の準備
VM Role を Active Directory ドメインに参加させるにあたって、参加させるドメインのドメインコントローラーに [Windows Azure Connect Endpoint] をインストールしておく必要があります。
現在の Windows Azure Connect Endpoint は英語 OS にしかインストールできませんので、AD DS のサーバーも英語 OS で準備する必要があります。
今回は [vmrole.local] というドメインを作成して、AD DS に Windows Azure Connect Endpoint をインストールしました。
インストール直後の状態では、Windows Azure Connect は切断状態になっていますので、Management Portal でグループを作成して接続が可能な状態にしておきます。
# 以下の画像の状態までは持っていけます。
■VM Role のインスタンスのデプロイ
次に、ドメインに参加させる設定をしていない通常の VM Role のインスタンスをデプロイして起動しておきたいと思います。
ブログだと、Virtual Network の Group の [Connect to] に登録をするタイミングを明記するのが難しかったもので…。
# Virtual Network の Activated Endpoints にインスタンスが表示されたタイミングで、[Connect to] に指定ができるようになるのですが、手順があちらこちらに行ってしまいそうだったもので。
今回は、通常の Windows Azure Connect で接続ができる状態にしてから、[Upgrade] でドメイン参加させるための設定を追加したパッケージで更新を行い、ドメインに参加させたいと思います。
VM Role のインスタンスと AD DS サーバーが Management Portal の [Activated Endpoints] に表示された事を確認して以下の作業を実施します。
# AD DS のサーバーは FQDN で表示されます。
- [Virtual Network] をクリックします。
- [Groups and Roles] をクリックします。
- [Create Group] をクリックします。
- [Group name] を入力して、[Connect from] の [Add] をクリックします。
- AD DS サーバーを選択して、[OK] をクリックします。
- [Connect to] の [Add] をクリックします。
- VM Role のグループを選択して、[OK] をクリックします。
- [Create] をクリックします。
- [Close] をクリックします。
これで AD DS サーバーと VM Role が接続できる状態になりました。
以下は AD DS サーバーの画面キャプチャですが、Connect 状態となっているのが確認できます。
この状態では VM Role にドメイン参加の設定はしていませんので、ワークグループ環境となっています。
■AD DS の DNS 要求受付 IP の設定確認
VM Role がドメインに参加する際には通常のドメイン参加と同様 DNS による SRV レコード等の検索が必要となります。
AD DS サーバーで DNS の要求が全 IP アドレスで受け付けられるようになっているかを確認します。
# デフォルトは [All IP addresses] になっているはずですが。
今回は AD DS サーバーが DNS サーバーの役割も兼任しています。
- DNS Manager を起動します。
- サーバー名を右クリックして [Properties] をクリックします。
- [Interfaces] をクリックして [All IP addresses] が選択されていることを確認します。
[2101:~] が [Windows Azure Connect Relay2] で使用されている IPv6 アドレスになります。
AD DS のこのインタフェースを介して VM Role はアクセスをしてくると思いますので、DNS の要求をこの IPv6 アドレスで受け付けられる設定にしておく必要があると思います。
■VM Role のサービスモデルの設定変更
VM Role を Active Directory ドメインに参加させるためにはサービスモデルの以下の項目を最低限設定する必要があります。
# ソリューション エクスプローラーのロールのプロパティから設定することが可能です。
今回は以下のように設定を行っています。
# OU やサイト、Administrators グループに含めるアカウントの指定もできるのですが今回は割愛しています。各設定の詳細は、Overview of Windows Azure Connect When Roles Are Joined to a Domain をご参照ください。
設定項目 | 設定値 |
Microsoft.WindowsAzure.Plugins.Connect.EnableDomainJoin | true |
Microsoft.WindowsAzure.Plugins.Connect.DomainFQDN | ドメインの FQDN vmrole.local |
Microsoft.WindowsAzure.Plugins.Connect.DomainControllerFQDN | ドメインコントローラーの FQDN WIN-KNN35CGUAL4.vmrole.local |
Microsoft.WindowsAzure.Plugins.Connect.DomainAccountName | ドメイン名ユーザー名 vmroleAdministrator |
Microsoft.WindowsAzure.Plugins.Connect.DomainPassword | 暗号化されたパスワード |
Microsoft.WindowsAzure.Plugins.Connect.DNSServers | DNS サーバーの FQDN WIN-KNN35CGUAL4.vmrole.local |
これらの設定を行うことで VM Role をドメインに参加させることが可能です。
ドメインに参加させる際のアカウントのパスワードは暗号化する必要があります。
暗号化したパスワードの作成方法は以下の技術情報に記載されているPowerShell で生成することが可能です。
How to Encrypt a Pas
sword
この技術情報に記載されている以下のスクリプトを実行することでパスワードを生成することが可能です。
[Reflection.Assembly]::LoadWithPartialName("System.Security") |
この際に <Thumbprint> 証明書の拇印を指定する必要があります。
この際に使用する証明書ですが、Management Portal の以下の証明書になります。
リモートデスクトップの接続にも使っている証明書ですね。
この証明書の Thumbprint を使用することでパスワードを生成することができます。
そのためパスワードを生成する PowerShell を実行する端末にはこの証明書がインストールされている必要があります。
通常であれば、VWD をインストールしている端末で実行するのが手っ取り早いかと。
もし、PowerShell を使うのが苦手という方がいらっしゃいましたら VWD を使うことでもパスワードを生成することが可能です。
ソリューションエクスプローラーからプロジェクトを右クリックして、[発行] をクリックし
この際に入力したパスワードは Management Portal の Hosted Service Certificate で暗号化されます。
一度ドメイン参加に使用するアカウントのパスワードを設定して、VM ロールのプロパティから、[Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword] の値を [Microsoft.WindowsAzure.Plugins.Connect.DomainPassword] にコピーすることで VWD で暗号化したパスワードを生成して使うことが可能です。
リモートデスクトップで使用するアカウントのパスワードは[Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword] に保存され、暗号化のルールは [Microsoft.WindowsAzure.Plugins.Connect.DomainPassword] と同じですので。
パスワードの設定が終わったらリモートデスクトップのアカウントパスワードは正規の値を指定しておきます。
以上でサービスモデルの設定変更は終了です。
発行から [サービス パッケージだけを作成] を選択してパッケージを作成します。
■VM Role の設定変更
作成したパッケージを使用して VM Role の設定変更を行います。
Management Portal の [Hosted Services] から対象の VM Role を選択して [Configure] をクリックします。
1 インスタンスで起動しているので SLA の警告が出ましたが [Yes] をクリックしています。
しばらくすると VM Role の Windows Azure Connect Endpoint で設定が読み込まれ VM Role が再起動 (ドメイン参加時の再起動が自動で実施) します。
# 1 分間隔ぐらいで Azure Connect Endpoint が設定をリフレッシュしているみたいですね。
インスタンスが起動してきたらリモートデスクトップで確認をしてみます。
VM Role のインスタンスがオンプレミス環境のドメインに参加していることが確認できますね。
AD DS からもコンピューターアカウントが登録されていることが確認できます。
■Windows Azure Connect Endpoint のログについて
Windows Azure Connect Endpoint でドメイン参加させる際のログですが以下のログから確認ができます。
[%ProgramFiles%Windows Azure ConnectEndpointLogsIntegrator.log]
今回の検証であれば以下のようなログが出力されていました。
2011/01/12 1:38:37 : AzureAgentIntegratorPlugin: RoleEnvironment_Changing event triggered |
ドメインに参加できない場合はこのログを見てみるとどこでエラーになっているか確認することができます。
私も最初、暗号化に使用する証明書が分からなくて違う証明書で暗号がしていたところエラーになっていたのがこのログからわかりました。
VM Role のインスタンスはさほど難しい作業の必要はなく、オンプレミスのドメインに参加せることができるみたいですね。
# ネットワーク的にいろいろと考慮することがありそうですが…。
[…] Windows Azure Connect を使用して、Azure 上のインスタンスをオンプレミスのActive Directory ドメインに参加させる ※本件に関し、小澤さんが素晴らしい記事を書いてくださっています VM Role を Active Directory ドメインに参加 ≪ SE の雑記 […]
【Azure for ITPro】Active Directory ドメインコントローラーを VM Role にインストールしてはいけない理由 - フィールドSEあがりの安納です - Site Home - TechNet Blogs
19 1月 11 at 01:41