Windows Server 2016のADFSサーバーにアップグレード

皆さんこんにちは。国井です。

Azure ADへのサインインには、

・Azure ADに直接作成したユーザーでサインインする方法 (クラウドID)
・AAD Connectで同期したユーザーでサインインする方法 (同期ID)
・ADFSでシングルサインオンする方法 (フェデレーションID)

の3種類に大きく分かれますが、
全世界で行われているAzure ADへのサインインのうち、ADFSを使ったフェデレーションIDによるシングルサインオンの割合は47.8%あるそうです。
(ちなみに、クラウドIDは28.2%、同期IDは17.5%)

日本国内で見たときにどのくらいの割合なのかは「中の人」ではないため、知る由もありませんが、私が思うよりも多くの企業で使われているんだなという印象を受けました。(皆さんの印象はいかがですか?)

となると、将来的に現在あるADFSサーバーをWindows Server 2016へ移行したい、というニーズも出てくるのではないかと思います。
そこで、今回はWindows Server 2012 R2からWindows Server 2016へのアップグレード手順を確認してみたいと思います。

■ ■ ■

ADFSサーバーをWindows Server 2012 R2からWindows Server 2016へのアップグレードする場合、新しいサーバーを用意して、既存の環境を新しいサーバーに移行する、いわゆる「サイドバイサイド移行」が一般的な移行方法となるので、ここではサイドバイサイド移行の方法を試してみます。

image

基本的な流れは、

1.新しいサーバーに2台目のドメインコントローラーをインストール
2.新しいサーバーにファームの2台目のサーバーとしてADFSサーバーをインストール
3.新しいサーバーをプライマリとして構成
4.Webアプリケーション プロキシをインストール
5.既存のサーバーを撤去し、ファーム動作レベルをWindows Server 2016に変更

の順序です。
では、順番に見てみましょう。

1. 新しいサーバーに2台目のドメインコントローラーをインストール

新しく用意したWindows Server 2016サーバーにActive Directoryドメインサービスをインストールし、既存のドメインの追加ドメインコントローラーとしてインストールしてください。FSMOやグローバルカタログの移行も忘れずに。

2.新しいサーバーにファームの2台目のサーバーとしてADFSサーバーをインストール

新しく用意したWindows Server 2016サーバーにADFSをインストールします。
インストールするときは、サーバーマネージャーの[役割と機能の追加]から。

image

ウィザードが完了したら、そのまま[このサーバーにフェデレーションサービスを構成します]をクリックして、構成ウィザードを開始しましょう。

image

構成ウィザードの最初の画面では、必ず[フェデレーションサーバーファームにフェデレーションサーバーを追加します]を選択

image

image

既存のADFSサーバー(最初にインストールしたサーバー)の名前を指定します。

image

証明書の選択画面。既存のADFSサーバーにインストールされている証明書と同じものを指定します。まだ新しいサーバーに証明書をインストールしていない場合は、[インポート]ボタンをクリックして、インストールしておきましょう。

image

サービスアカウントの指定。既存のサーバーで使用していたサービスアカウントを流用できます。私のテスト環境では横着してしまったので、Administratorです。(懺悔)

image

image

image

image

ウィザードが完了すれば、新しいサーバーにADFSがインストールされ、既存環境の情報が移行されます。その他、ここには書かないですが、フェデレーションサービス名の名前解決を行うときに、新しいサーバーに名前解決されるよう、必要に応じてDNSレコードを変更しておいてください。

3.新しいサーバーをプライマリとして構成

前の手順でADFSサーバーをインストールしましたが、このままだとWindows Server 2016から管理ツールによる管理ができません。そのため、新しいサーバーをプライマリとして構成しましょう。

プライマリとして構成するときは、新しいサーバーのPowerShellで、

Set-AdfsSyncProperties -Role PrimaryComputer

と実行します。

image

また、既存のサーバーはプライマリではないという宣言をする必要もあるので、既存のサーバーでは、

Set-AdfsSyncProperties –PrimaryComputerName “<新しいサーバー名>” -Role SecondaryComputer

と実行します。

image

ここまでのところで、新しいサーバーからADFS管理ツールを開くと、既存のADFSサーバーで見えていた画面が表示されます。
ところが、証明書を見てみると、

image

証明書、登録されてないじゃん!
念のため、[サービス通信証明書の設定]ボタンをクリックして登録しておきました。

4.Webアプリケーション プロキシをインストール

Webアプリケーションプロキシは、ADFSサーバーとの通信によって各種設定を受け取るので、既存のWebアプリケーションプロキシから何かを移行する必要はありません。そのため、単純に新しいサーバーでWebアプリケーションプロキシをインストールするだけです。

image

image

image

image

image

image

5.既存のサーバーを撤去し、ファーム動作レベルをWindows Server 2016に変更

ここまでの手順が整ったら、もうWindows Server 2012 R2は不要なので、撤去してしまいましょう。
また、ADFSサーバーはWindows Server 2012 R2から設定を引き継いだ場合、
ADFSサーバーの動作レベルがWindows Server 2012 R2のままなので、Windows Server 2016にアップグレードしましょう。
アップグレードするときは、以下のコマンドレットで実行します。

Invoke-AdfsFarmBehaviorLevelRaise

アップグレードの結果は、

Get-AdfsFarmInformation

コマンドレットを実行し、CurrentFarmBehaviorの値が3になっていれば、Windows Server 2016にファームレベルがアップグレードされたことを示しています。

■参考情報

How to Upgrade AD FS 3 to AD FS on Windows Server 2016
https://flamingkeys.com/how-to-upgrade-ad-fs-3-to-ad-fs-on-windows-server-2016/

Active Directoryフェデレーション サービスのWindows Server 2016の新機能
https://technet.microsoft.com/ja-jp/windows-server-docs/identity/ad-fs/overview/whats-new-active-directory-federation-services-windows-server-2016

Windows Server 2016でのAD FSへのアップグレード
https://technet.microsoft.com/ja-jp/windows-server-docs/identity/ad-fs/deployment/upgrading-to-ad-fs-in-windows-server-2016