Azure 第22回 『オンプレADサーバをAzureへお引越し!』

ドメインコントローラーをクラウドリフトする

従来Active Directory ドメインで行っていたユーザーの管理などのID管理や、グループポリシーの構成などのデバイス管理については、Microsoft Entra(旧 Azure AD)、Microsoft Intune などクラウドでのID管理・デバイス管理の機能が充実してきたため、管理のクラウド化を検討されている組織も多くなっています。しかしオフィス内のファイル共有やプリンター(複合機)などオンプレミスのリソースへのアクセス制御や、オンプレミスのアプリケーションのユーザー認証にActive Directory ドメインが必要となる場合はまだまだ多いでしょう。
そこでActive Directory ドメインの利用とシステムのクラウド化(オンプレミスのサーバーの削減)を両立させる方法として、Active Directory のドメインコントローラーサーバーをクラウドリフト(クラウド移行)することが考えられます。

これにより、オンプレミスのドメインコントローラー(Windows Server)を廃止することができるので、ハードウェアの保守や機器更新の運用やコストを低減できます。またAzure側の高可用性サービス(可用性セット・可用性ゾーン)を利用して、ドメインコントローラーの可用性を高めることもできます。
またAzure上のWindows Server へのアクセスにはServer CAL が不要なので、オンプレミス側にWindows Server が存在しなくなれば、Server CAL が不要になります。

Azure側で必用となるもの

ドメインコントローラーをクラウドリフトする場合、Azureで必用となるものは以下の通りです。

  • Azure サブスクリプション(Azure の課金契約です)
  • 仮想ネットワークとサブネット
  • Windows Server 仮想マシン(ドメインコントローラー、2台以上を推奨)
  • 仮想ネットワークゲートウェイ

Azure サブスクリプションをお持ちでない場合は、当社担当営業までご相談ください。
また仮想ネットワーク・サブネットと仮想マシンの作成についてはこのコラムの過去記事で紹介していますので、そちらも併せてご覧ください。

ここからは、オンプレミスのドメインコントローラーをAzure にリフトする際の大まかな作業の手順と、その場合の注意点を解説します。

クラウドリフトの手順

オンプレミスのドメインコントローラーをAzure にリフトするには、おおむね以下のようなステップを実行します。

  1. Azure で仮想ネットワークとサブネットを作成する
  2. 仮想ネットワークに仮想ネットワークゲートウェイを作成する
  3. 仮想ネットワークゲートウェイとオンプレミスのルーター間でVPN接続を構成する
    ※VPNではなく専用線接続(Express Route)を利用することもできます
  4. Azure 仮想ネットワークに接続する仮想マシン(Windows Server)を作成する
  5. 仮想マシンのWindows Server をオンプレミスのドメインに参加させる
  6. ドメインに参加したWindows Server をドメインコントローラー(DC)に昇格する
  7. 4.~6. の作業を繰り返してAzure 側に必要な台数のDCを作成する
  8. FSMOをオンプレミスのDCからAzureのDCに移動する
  9. オンプレミスのDCを降格し、ドメインから離脱させる
  10. オンプレミスのWindows Server を撤去する

仮想ネットワークの作成や仮想マシンの作成は通常のAzureでの作業と同じです。また仮想マシンのWindows Server をドメイン参加させたり、ドメイン参加したWindows Server をドメインコントローラーに昇格させたりする手順も、オンプレミスで行うのと変わりません。

クラウドリフトの際の注意点

上記のようにほとんどの作業は通常のAzure環境構築やドメイン構築の手順と変わりませんが、ドメインコントローラーをクラウドリフトする場合に注意が必要な点がいくつかあります。
これについて1つずつ説明します。

仮想ネットワークのIPアドレス

仮想ネットワークとオンプレミスの現在ドメインコントローラーがあるネットワークをVPN(またはExpress Route)で接続するので、仮想ネットワークで使用するIPアドレス範囲はオンプレミスのネットワークのIPアドレス範囲と重複が無いように設定する必要があります。

上図の例では、オンプレミスのネットワークが 10.0.0.0/24 である場合、仮想ネットワークのIP範囲を下のように 10.0.0.0/16 とすると、10.0.0.0/24 は 10.0.0.0/16 に含まれるので、IPアドレス範囲が重複します。このような重複が発生すると仮想ネットワークとオンプレミスのネットワークの間のルーティングが正常に行えなくなり、通信ができません。
オンプレミスのネットワークと仮想ネットワークのIPアドレス範囲が重複しないよう、ネットワーク設計を行います。

なお仮想ネットワークゲートウェイで接続先情報(ローカルネットワークゲートウェイ)を構成する際、接続先(オンプレミス)のプライベートIPアドレス空間を指定します。仮想ネットワークゲートウェイはここで指定されたIPアドレス空間宛のパケットを、すべてVPN経由でオンプレミスネットワークにルーティングします。
逆に、ローカルネットワークゲートウェイで指定されなかったIPアドレス宛てのパケットは、仮想ネットワークの通常のルートで処理されます。同じ仮想ネットワーク内のサブネット宛のパケットはそのサブネットに、Azureサービス宛のパケットはAzureのバックボーンネットワークに、それ以外はインターネットにルートされます。
そのため、仮想ネットワークからオンプレミス宛のパケットをVPN経由で送信するだけならこれ以外の設定は必要ありません。
もし仮想ネットワークからインターネットへのトラフィックもすべてVPN経由(オンプレミス ネットワーク経由)にしたい場合は、サイト間強制トンネリングを構成するか、VPN接続をBGPで作成する必要があります。これについては以下の記事を参照してください。

仮想マシンの可用性構成

仮想マシンで複数台のドメインコントローラーを構成する場合、仮想マシンには可用性の構成を行います。Azure の可用性の構成とは、Azureデータセンターの障害やAzureインフラストラクチャのメンテナンス(Azureを動作させている物理コンピューターへの更新プログラムの適用など)の場合、同時に複数の仮想マシンが使用不可にならないよう、Azure内で仮想マシンを分散配置することです。

ドメイン内のすべてのドメインコントローラーが同時に使用不可になると、クライアントのサインインに障害が発生したり、ドメインユーザーでの認証が必要なリソースへのアクセスが行えなくなったりします。
こうした事態を避けるため、ドメインコントローラーは複数台稼働させることが推奨されていますが、Azureではこの複数台のドメインコントローラーに対して可用性の構成を行うことで、ドメインコントローラーの可用性を高めます。

Azureの可用性の構成には以下のような種類があります。

●可用性セット

物理的な電源とネットワークスイッチを共有する「障害ドメイン」と、Azureインフラストラクチャのメンテナンス作業の単位である「更新ドメイン」のそれぞれで、仮想マシンを分散して配置します。

●可用性ゾーン

Azureのリージョン(地域)は少なくとも3つの地理的に分散したデータセンター群で構成されます。この分散したデータセンター群を可用性ゾーンと呼びます。可用性の構成で「可用性ゾーン」を選択すると、仮想マシンをそれぞれのデータセンター群に分散して配置できます。

●仮想マシンスケールセット

負荷分散が行われる多数の仮想マシンからなるグループを作成して管理できる機能です。仮想マシンは可用性セットや可用性ゾーンを利用して分散配置できます。また仮想マシンの自動スケーリングを行えます。

ドメインコントローラーの仮想マシンでは、可用性セットまたは可用性ゾーンを構成することが一般的です。(仮想マシンスケールセットはドメインコントローラーの機能に対してオーバースペックになります)

仮想マシンのデータディスク(キャッシュ設定)

Azureで作成する仮想マシンには、少なくとも1つの仮想ディスクが必要です。また仮想マシンのサイズによっては、一時ディスクが付属する場合もあります。
ドメインコントローラーではActive Directory データベースを管理しますが、このデータベースは破損したり失われたりするとドメイン自体が機能しなくなるので、安全な場所に保存することが求められます。そのためActive Directory データベースを保存するドライブは、書き込みキャッシュを無効にすることが推奨されています。
Azure仮想マシンの最初のドライブはOSドライブとなるため、OSのパフォーマンスを考慮して書き込みキャッシュが有効で、変更できません。また一時ディスクは文字通り一時的なディスクで、永続性が保証されません。
そのため、Azure仮想マシンをドメインコントローラーにする場合、書き込みキャッシュ無効のデータディスクを追加し、データベースの保存場所をデータディスクにすることが推奨されます。

仮想マシンのWindows Server をドメインコントローラーに昇格させる際、データベースなどの場所としてデータディスクを指定します。

サーバーのプライベートIPアドレス

ドメインコントローラーでは通常、IPアドレスが固定されている必要があります。しかしAzure仮想マシンではオペレーティングシステムからIPアドレスを手動で任意に構成することは推奨されていません。これは仮想マシンがAzureサービスと通信する必要があり、そのためにAzure側で仮想マシンのIPアドレスを管理する必要があるからです。こうした理由でAzureの仮想マシンはAzureサービスで仮想ネットワークに自動的に提供される DHCP サーバーによりIP構成が行われます。
そこでドメインコントローラーとなる仮想マシンでは、Azure側のDHCPを使ってプライベートIPアドレス(仮想ネットワーク内で使われるIPアドレス)を固定(静的に設定)する必要があります。
プライベートIPアドレスは仮想マシンに接続されている仮想ネットワークアダプタに設定されているIP構成で変更できます。詳しい設定変更の手順は以下の記事を参照してください。

プライベートIPアドレスの設定を「静的」にすると、仮想ネットワークのDHCPサーバーがプライベートIPアドレスとして上の図で指定したIPアドレスを、静的に仮想マシンに割り当てます。

サーバーのパブリックIPアドレス

Azureの仮想マシンにインターネット経由でアクセスする際の宛先となるのがパブリックIPアドレスです。しかし仮想ネットワークとオンプレミスのネットワークをVPNなどで接続している場合、オンプレミスのネットワークから仮想マシンに直接接続可能です。また仮想マシンがドメインコントローラーであればインターネット経由でアクセスする必要はないでしょう。
このような条件の場合、仮想マシンにパブリックIPアドレスを割り当てません。仮想マシンを作成する場合、Azureポータルからの作成であれば、以下のようにパブリックIPアドレスを「なし」にできます。

またパブリックIPアドレスを付けて作成した仮想マシンから、パブリックIPアドレスを除去することもできます。

DNSの設定

前述のようにAzureの仮想マシンはAzureサービスで仮想ネットワークに自動的に提供されるDHCPサーバーによりIP構成が行われます。仮想マシンをオンプレミスのドメインに参加させる場合、オンプレミスのドメイン名の名前解決が行える必要がありますが、DHCPで構成される既定のDNSサーバーではオンプレミス側の名前解決ができないため、そのままではドメインに参加できません。
そのため仮想マシンのWindows Server で、手動でDNSサーバーの指定をオンプレミスの既存のドメインコンピューターのIPアドレスに変更する必要があります。

このように構成することで、オンプレミスのドメイン名の名前解決が可能となり、ドメインへの参加とドメインコントローラーへの昇格が行えます。

仮想マシンをドメインコントローラーに昇格させると、Active Directory 統合ゾーン構成のDNSの機能もインストールされて、仮想マシン自身も DNS サーバーとして機能するようになります。2台目以降の仮想マシンをドメイン参加させる場合は、1台目の(ドメインコントローラーに昇格した)仮想マシンの IP アドレスを優先 DNS サーバーとして指定してください。
またDNSサーバーの指定をオンプレミスのドメインコントローラーのIPアドレスに変更した仮想マシン(最初に追加した仮想マシンのドメインコントローラー)は、Azure上で作成するドメインコントローラーがすべて稼働したら、オンプレミスのドメインコントローラーを降格・撤去する前に、DNSサーバーの指定を自分自身と他のドメインコントローラーのIPアドレスに変更します。

またドメインコントローラーで動作しているDNSの機能で、フォワーダーを確認します。フォワーダーがオンプレミスのIPアドレスになっている場合、クラウド側(仮想ネットワーク)で名前解決を行うたびにオンプレミスへのトラフィックが発生して不効率となるため、特段の理由が無ければ仮想マシン上のDNSサーバーのフォワーダーはAzure仮想ネットワークのDNS(168.63.129.16)に構成します。

DHCPサーバーの設定変更

ドメインに参加しているメンバーサーバーやクライアントのIPアドレスをDHCPで構成している場合、オンプレミスのドメインコントローラーを降格する前に、DHCPサーバーの設定を変更してクライアントに提供するDNSサーバーのIPアドレスをAzure上のドメインコントローラーのIPアドレスに変更してください。これにより、オンプレミスのクライアントでのログオン認証が、Azure上のドメインコントローラーで行われるようになります。

また今後ドメインコントローラーが接続している仮想ネットワーク上に、他の役割の仮想マシンを作成する計画・可能性がある場合は、仮想ネットワークのDHCP設定を変更して、仮想ネットワークのDNSをAzure上のドメインコントローラーに変更します。
これにより、仮想マシンをドメイン参加させる場合、手作業でDNS設定を変更する必要が無くなり、そのままでオンプレミスのネットワークの名前解決が行えます。
これは以下のように行います。

  1. Azureポータルで対象となる仮想ネットワークのページを開き、[概要] にある [DNS サーバー] に表示されている [Azure 提供の DNS サービス] をクリックします。
  2. 表示される [DNS サーバー] の画面で、[カスタム] を選択し、Azure上のドメインコントローラーのIPアドレスを入力して [保存] をクリックします。
  3. [仮想ネットワークが保存されました] と表示されたら完了です。

まとめ

オンプレミスのサーバーをAzureにクラウドリフトすることで、ハードウェアの保守や機器更新の運用やコストを低減できるだけでなく、Azureが提供する高可用性の構成を利用して可用性の向上を行えるのでBCPへの対応ともなります。ドメインコントローラーはサーバーの中でも高い可用性が求められる物の一つなので、Azureへの移行が効果的です。
またオペレーティングシステムのサポート期間終了への対応でも、AzureではWindows Server 2008 / 2008 R2 やWindows Server 2012 / 2012 R2 へのESU(拡張セキュリティ更新プログラム)が提供されています。さらにAzure仮想マシンであればハードウェア調達のコストなしに、すぐに新しいバージョンのWindows Server を開始できるので、新バージョンへの移行も容易です。
サーバーハードウェアのライフサイクルで更改を検討されているのであれば、この機会にぜひAzureへのクラウドリフトをご検討ください。
Azureサブスクリプションのご契約、Azure利用についてのご相談は、当社営業担当までご連絡ください。

マルチクラウドの記事