システム管理の現場では、古いKMSサーバーを停止して新しいKMSサーバーを構築するケースがしばしば発生します。特にライセンス認証のトラブルが頻繁に起こったり、Windows Serverのバージョンアップに合わせてライセンス管理の仕組みを刷新したいときなど、新旧KMSサーバーを円滑に切り替えることが求められます。ここでは、古いKMSサーバーを削除する手順と新しいKMSサーバーを設定する流れについて、具体的な操作方法やポイントを交えながら詳しく解説します。
KMSサーバーとは何か
KMS(Key Management Service)サーバーは、Microsoft製品のライセンス認証を集中的に管理する役割を担っています。通常、各クライアントPCやサーバーが直接Microsoftの認証サーバーと通信するのではなく、社内(またはオンプレミス環境)に設置されたKMSサーバーを通じてライセンス認証を行います。この仕組みにより、大量のクライアントを一括管理できるだけでなく、オフライン環境などインターネット接続が限定的な場合にもライセンス認証がしやすくなるのが特徴です。
KMSサーバーが提供する主なメリット
- 大量のライセンスを一元管理できる
- インターネット接続が不安定な環境でも認証が可能
- DNSサーバーとの連携により、クライアントが自動検出できる
- Windows OSだけでなく、Microsoft Office製品なども含めたライセンス管理が可能
ライセンス認証の仕組み
KMSサーバーでは、クライアントが一定回数(通常25台のクライアントが要求を送るなど)のライセンス認証リクエストを行うと、KMSサーバーが認証を有効化し、クライアントは定期的にKMSサーバーに対して再認証を行います。これにより、クライアント側に永久ライセンスを付与するのではなく、一定期間ごとにライセンスの有効期限を更新する仕組みとなっているのが特徴です。
旧KMSサーバー削除の必要性
古いKMSサーバーをそのまま残したまま新しいKMSサーバーを稼働させると、環境によってはクライアントがどちらのKMSサーバーを利用すべきか混乱する恐れがあります。特にDNSレコードが正しく管理されていない場合や、旧サーバーのKMSキーが未削除のままだと、想定外の認証エラーや競合が発生する可能性があります。そのため、古いサーバーを廃止する際には以下のステップを踏んで、確実に環境から切り離しておくことが重要です。
古いKMSサーバーの廃止手順
- 古いサーバーからKMSキーを削除する(
slmgr.vbs /upk) - 旧サーバーのDNSレコード(SRVレコード)を無効または削除する
- 旧サーバーをシャットダウン、もしくはネットワークから切り離す
ライセンスキーの削除は必須ではないが推奨
旧サーバーを完全に物理的に取り除いてしまう場合、厳密にキーを削除しなくてもクライアントがそのサーバーにアクセスできない状態であればライセンス認証への影響はありません。しかし、サーバーが残存している環境では誤って旧サーバーに接続してしまうリスクを避けるためにも、slmgr.vbs /upkコマンドを使ってキーを削除しておくことが望ましいです。
旧サーバーに関連するサービスの確認
KMSサーバーでは「Key Management Service」が稼働しています。Windows Serverの「サービス」画面から、Key Management Serviceが有効化されているかを確認すると同時に、必要に応じてサービスを停止した上でサーバーを廃止する流れが一般的です。
加えて、古いサーバーでDNSサーバーも兼ねている場合や、DHCPなど他のサービスを提供している場合も考えられます。廃止に伴う影響範囲を事前に整理し、認証とは無関係な他サービスへの影響を最小限にするよう注意しましょう。
新KMSサーバーの導入準備
新しいKMSサーバーを導入する際には、Microsoftから取得した適切なKMSキーが必要です。Windows Serverだけでなく、Officeなど複数のライセンス認証を管理する場合は、対象製品に対応したKMSキーを用意する必要があります。
KMSを導入可能なOS要件
一般的に、KMSサーバーはWindows Server系のOS(2012以降が多い)か、クライアントOSでもProfessional以上のエディションでKMSホスト機能を有効にできることがあります。ただし企業環境ではサーバーOSがKMSサーバーとなることが主流です。
導入前に、対象となるOSがKMSホストの役割をサポートしているかをMicrosoft公式ドキュメントで確認しておくと安心です。
DNSサーバーとの連携
KMSサーバーとDNSサーバーの連携は非常に重要です。原則として、KMSサーバーは自動的にDNS SRVレコードを登録する仕組み(Dynamic DNS)を利用します。クライアント側では、DNSクエリによって_VLMCS._TCPというSRVレコードを探索することで、KMSサーバーのアドレスを自動的に取得しライセンス認証を行うようになっています。
もしもDNSのDynamic Updateが無効化されている場合や、手動管理のDNSを利用している場合は、新サーバーのIPアドレスやホスト名を手動でSRVレコードに登録する必要があります。
新KMSサーバーへのKMSキーインストール
新規に構築したサーバー(例:Windows Server 2019 もしくは 2022 など)でKMSキーをインストールする流れを解説します。
1. KMSキーのインストール
以下のコマンドを管理者権限のコマンドプロンプトまたはPowerShellで実行します。
slmgr.vbs /ipk <KMSキー>
<KMSキー>の部分には、Microsoftから提供されたKMSホストキーを入力してください。キーのフォーマットはアルファベットと数字を組み合わせた25文字で構成されています。正しいキーを誤りなく入力しましょう。
2. 新サーバーのKMSキーを認証する
次に、サーバーをMicrosoft認証サーバーに接続し、ライセンスを有効化します。
slmgr.vbs /ato
このコマンドにより、KMSキーが正しくオンライン認証されれば「プロダクトが正常に認証されました」という旨のメッセージが表示されます。
3. Key Management Serviceの確認
有効化が完了したら、Windowsの「サービス」管理画面やコマンドラインからKey Management Serviceがスタートしているか確認しましょう。
sc query "Key Management Service"
状態がRUNNINGになっていれば問題ありません。
4. DNS SRVレコードの設定
_VLMCS._tcpレコードのホスト先として、新KMSサーバーのFQDN(例:kmsserver.example.local)を設定します。通常、KMSは自動的にDNSへ登録を試みますが、状況によっては手動で設定が必要となります。
また、TTLや優先度、ポート情報(デフォルトでは1688/TCP)の設定を見直しておきましょう。特に、既存のSRVレコードが古いKMSサーバーを指している場合は、それを削除または更新しないとクライアントが古い方を参照し続ける可能性があります。
クライアントの移行手順
クライアントPCやワークステーションは、通常DNSを経由してKMSサーバーを自動的に検出します。古いKMSサーバーを停止し、新しいKMSサーバーの情報が正しく登録されていれば、多くの場合クライアント側の操作は最小限で済みます。ただし、環境によっては以下の手順を踏む必要があるかもしれません。
自動検出の場合
クライアントが_VLMCS._tcpのSRVレコードを参照し、新KMSサーバーを発見できるようになれば、時間の経過とともに次回のライセンス更新時に自動的に認証先が切り替わります。特に、すでにKMSクライアントとして適切に設定されているWindowsやOffice製品であれば、追加の作業はほとんど必要ありません。
手動設定の場合
環境によってはDNS自動登録を使わない運用が行われているケースもあります。その場合はクライアント側でKMSサーバーを指定するため、以下のコマンドを使います。
slmgr.vbs /skms <新KMSサーバーのFQDNまたはIPアドレス>
slmgr.vbs /ato
/skmsオプションを使うことで、クライアントが接続先とするKMSサーバーを明示的に指定します。続けて/atoで認証を実行すると、新しいKMSサーバーを用いたライセンス認証を強制的に行うことができます。
ライセンスの再認証確認
クライアントPC側で次のコマンドを実行し、現在のライセンス状態を確認できます。
slmgr.vbs /dli
この出力結果に表示される「アクティベーションID」や「ライセンスステータス」に問題がないかチェックしましょう。さらに詳しい情報を得たい場合には、/dlvオプションを使うのも有効です。
slmgr.vbs /dlv
ここでは、ライセンスの有効期限(再認証までの日数)などの情報もあわせて表示されます。
旧KMSサーバーの完全撤去と注意点
古いサーバーは、ライセンスキーの削除とDNSレコードの更新が完了し、運用上問題がないことが確認できたら物理的に電源を落とすか、仮想マシンであればリソースを解放して廃棄する段階に進みます。
ただし、以下の点にも注意が必要です。
旧サーバーに他の役割が残っていないか
KMS以外のサービス(DHCP、DNS、ファイルサーバーなど)を兼務していなかったか、改めて洗い出しましょう。もし兼務サーバーの場合は、KMSだけではなく他のサービス移行手順も合わせて確認し、すべてが移行完了していることを確認する必要があります。
ライセンス認証ログの確認
新サーバーの稼働をスタートした直後は、少なくとも数日~1週間程度はクライアントの認証ログやイベントビューアーの監視を継続しましょう。クライアントがきちんと新サーバーを参照し、エラーが出ていないかをチェックするのがポイントです。
KMSサーバー移行後の運用ポイント
新しいKMSサーバーの構築を終えても、運用の中では定期的なモニタリングやバージョンアップ対応が不可欠です。以下では主な運用上の留意点をまとめます。
ライセンス数の管理
KMSでは大量のクライアントを一括管理できますが、ライセンスプールには上限があります。OfficeやWindows Server、SQL Serverなど、複数の製品を一つのKMSサーバーに登録する場合は、ライセンス登録数を見誤らないように注意が必要です。ライセンス条件を超える数のクライアントが接続しようとするとエラーが発生することがあります。
定期的なクライアント台数のカウント確認
KMSはクライアントからの認証リクエストが一定数に達しないと有効化されない仕組みになっています。環境によってはクライアント数が少ない部署やテスト環境などでKMSを利用するケースもありますが、その場合は最低クライアント数を満たせるかどうかを確認しておきましょう。
更新プログラムと互換性
新サーバーであっても、Windows Updateやセキュリティパッチの適用によりKMSの挙動に変更が加わることがあります。リリースノートなどをチェックし、KMSに関連する変更が含まれていないかを把握しておくことが重要です。
また、古いバージョンのクライアントOSが混在している環境では、KMSサーバー側のバージョンとの整合性(例えば、Windows Server 2022のKMSで古いWindows 7などを認証するケースなど)をMicrosoftのドキュメントで確認しておきましょう。
Office製品のライセンス認証
Windows OSだけでなく、Microsoft Office製品などもKMSでライセンス認証を行うことが可能です。その場合はOffice用のKMSキーを同様にslmgr.vbs /ipkコマンドでインストールし、/atoで認証を完了させる必要があります。
Office 2016、2019、2021などバージョンごとにKMSキーが異なるため、誤って異なるバージョンのキーを適用してしまわないように細心の注意を払う必要があります。
移行におけるトラブルシューティング
もし、クライアントが新KMSサーバーを認識しなかったり、ライセンスが有効化されない場合には、以下の点をチェックしてみましょう。
1. DNS SRVレコードの設定漏れ
nslookup -type=SRV _VLMCS._tcp.ドメイン名
などのコマンドで、正しくSRVレコードが登録されているかを確認します。古いサーバー情報が残っていたり、新サーバーのレコードが登録されていない場合は適切に修正が必要です。
2. ファイアウォール設定
KMSはデフォルトでポート1688/TCPを使用します。サーバーのファイアウォールやネットワーク機器でこのポートがブロックされていないかを確認してください。
3. クライアントOSのKMSクライアントキー問題
クライアント側で誤ってボリュームライセンス版以外のキーがインストールされていると、KMSサーバーへ問い合わせが行われません。クライアントが正しいボリュームライセンスキー(Generic Volume License Key: GVLK)を使用しているか確認することが大切です。
4. イベントログの確認
新KMSサーバー側のイベントビューアー(Windows ログ -> アプリケーション)やKey Management Serviceに関連するログをチェックすることで、認証リクエストやエラーの詳細を把握できます。問題が発生した場合はイベントIDやエラーメッセージを手がかりに原因を追究しましょう。
具体的な操作例とコマンドまとめ
以下は、新KMSサーバーへの移行を行う際によく使われるコマンドの一覧です。必要に応じてコピーして活用してください。
| 目的 | コマンド | 説明 |
|---|---|---|
| 旧KMSキーの削除 | slmgr.vbs /upk | 旧サーバーにインストールされているKMSキーを削除 |
| 新KMSキーのインストール | slmgr.vbs /ipk <キー> | 新サーバーにKMSキーを設定 |
| KMSキーの認証 | slmgr.vbs /ato | KMSキーをMicrosoft認証サーバーに登録 |
| クライアントの接続先指定 | slmgr.vbs /skms <サーバー名> | 手動でKMSサーバーを指定する場合に使用 |
| ライセンス情報の確認 | slmgr.vbs /dli | ライセンスのステータスを簡易表示 |
| 詳細なライセンス情報の確認 | slmgr.vbs /dlv | ライセンスの期限や認証情報を詳細に表示 |
まとめ
古いKMSサーバーから新しいKMSサーバーに切り替える際は、「旧サーバーのキー削除」「DNS SRVレコードの変更」「新サーバーへのKMSキー登録と有効化」という3つのステップが肝になります。これらを正しく行うことで、クライアントがスムーズに新しい環境を参照し、ライセンス認証エラーのリスクを極小化できます。
また、新KMSサーバーが稼働し始めた後も、ライセンス使用状況やクライアントからのリクエスト数、イベントログを定期的に監視し、問題があればすぐに対処できる運用体制を築くことが大切です。バージョンアップや環境の拡張など、KMSサーバーを取り巻く状況は常に変化します。日頃のメンテナンスと監視を怠らず、快適かつ安定したライセンス管理環境を維持しましょう。

コメント