MAK と KMS の違いは?KMS ホスト構築からクライアント認証設定まで

  • URLをコピーしました!
目次

はじめに

Windows Server を構築・運用する際、避けて通れないのが 「ライセンス認証(Activation)」 です。 企業で利用されるボリュームライセンスには、大きく分けて MAK(Multiple Activation Key)と KMS(Key Management Service)という2つの認証方式が存在します。

「自分の環境ではどっちを使えばいいの?」 「KMS ホストってどうやって建てるの?」

本記事では、こうした疑問に答えるため、MAK と KMS の違いから、KMS ホストの具体的な構築手順、そしてよくあるトラブルについて解説します。

この記事でわかること
  • MAK と KMS の仕組みの違いと使い分けの基準
  • コマンドで完結。KMS ホストの構築・設定手順
  • クライアント設定と 認証エラー(0xC004F038)の原因

基礎知識: MAK と KMS の違い

Windows のボリュームライセンス認証には、環境の規模やネットワーク構成に応じて、主に以下の方式が用意されています。

① MAK(Multiple Activation Key)

「マイクロソフトと直接通信して認証する」 方式です。 個人向けの Windows(Retail 版)と同じく、インターネット(または電話)を通じてマイクロソフトのサーバーにアクセスし、認証を行います。

仕組み

各クライアントが個別に Microsoft へ接続

認証頻度

1回のみ。一度認証されれば、ハードウェア構成が変わらない限り再認証は不要です。

向いている環境
  • インターネットに直接接続できる独立したサーバー
  • 台数が少ない小規模環境(数台〜十数台)
  • 社内ネットワークに滅多に接続しない持ち出し PC

② KMS(Key Management Service)

「社内に認証サーバー(KMS ホスト)を立てて、代理認証する」 方式です。 クライアントはインターネットに出る必要がなく、社内の KMS ホストと通信できれば認証されます。

仕組み

クライアントは社内の KMS ホストへ接続。KMS ホストのみが Microsoft と通信する。

認証頻度

180日ごとに更新が必要(定期的な通信が必要)

向いている環境
  • インターネットに接続できない閉域網のサーバー群
  • VDI や大量のクライアント PC など、大規模な展開(5台/25台以上)

比較まとめ

項目MAKKMS
認証先Microsoft(直接)社内の KMS ホスト
インターネット接続各端末で必要KMS ホストのみ必要
再認証の必要性不要(恒久)必要(180日ごと)
導入の目安5台未満、独立環境25台以上、閉域網
💡【補足】ADBA(Active Directory ベースの認証)とは?

Windows Server 2012 / Windows 8 以降では、ADBA (Active Directory Based Activation) という新しい方式が登場しています。

これは 「ドメインに参加した瞬間にライセンス認証が完了する」 という非常に便利な機能です。専用の KMS ホストサーバーを建てる必要がなく、ドメインコントローラーがその役割を担います。

KMS との違い
  • KMS ホスト専用機が不要
  • ドメイン参加が必須(ワークグループ環境は不可)
使い分け
  • Windows Server / Windows 10, 11 のみ の環境なら ADBA が推奨です。
  • 古い OS や Office(旧バージョン)、ワークグループ端末が混在する場合は、依然として KMS が必要になります(KMS と ADBA は共存可能です)

KMS 認証の仕組みと「閾値」の壁

KMS は「一度認証したら終わり」ではありません。 KMS クライアント(認証される側の PC やサーバー)は、以下の2つの厳しいルールに従って動作します。

① 「180日ルール」: 定期的な更新が必要

KMS 認証の有効期限は 最大 180日(約半年) です。 しかし、180日目に突然切れるわけではありません。クライアントは以下のサイクルで自動的に有効期限を延長しようと試みます。

  1. 通常時: 7日ごとに KMS ホストへ通信し、ライセンスを更新(リセット)します。
  2. 通信不能時: KMS ホストと通信できない状態が続くと、残りの有効日数が減っていきます。
  3. 期限切れ: 180日間一度も KMS ホストと通信できなかった場合、機能制限モード(通知モード)になります。

💡 ポイント クライアントが社内ネットワーク(KMS ホスト)に 「半年に1回」 繋がれば、ライセンスは維持されます。

② 「N 台ないと認証されない」: 認証の閾値(Threshold)

これが KMS 最大の落とし穴です。 KMS ホストを構築し、クライアントから認証リクエストを送っても、ある一定の台数(リクエスト数)が集まるまでは、認証は成功しません。

KMS ホストは「自分にアクセスしてきたユニークなクライアントの数(CMID 数)」をカウントしており、その数が以下の「閾値」を超えて初めて、ライセンス認証許可(Activation)を出します。

対象の OS必要なカウント数(閾値)
Windows Server5 台 以上
Windows Client(10/11)25 台 以上

⚠️ 注意:検証環境での罠 「本番導入前に、検証環境(サーバー 2台)で KMS の動作確認をしよう」としても、台数が 5台に満たないため、永遠に認証エラー(0xC004F038)になります。 KMS の検証には、最低でも 5台(クライアント OS なら 25台)の仮想マシン等を並べる必要があります。

③ カウントの有効期限(30日ルール)

KMS ホストが保持している「カウント数」にも鮮度があります。 あるクライアントから 30日間 アクセスがない場合、そのクライアントはカウントから除外されます。

つまり、「常に稼働している(または定期的に起動する)マシンが閾値以上存在すること」 が、KMS 運用の絶対条件となります。

KMS ホストの構築手順

STEP
KMS ホストのセットアップ

KMS ホスト(認証サーバー)となる Windows Server での設定手順です。 ドメインコントローラーやファイルサーバーなどに同居させることも可能です。

STEP
KMS クライアントのセットアップ

次に、認証される側(クライアント)の設定です。

💡重要: 多くのケースでは設定不要です

ボリュームライセンスメディア(ISO)からインストールした Windows は、最初から 「KMS クライアント」 として設定されています。 DNS が適切に構成されていれば、勝手に KMS ホストを見つけて認証するため、何もしなくてOKです。

では、設定が必要なのはどんな時でしょうか? それは 「MAK 認証や Retail 版から、KMS 認証に戻したい場合」「KMS ホストを手動指定したい場合」 です。

① GVLK(Generic Volume License Key)の設定

KMS クライアントとして振る舞うためには、OS に GVLK という特殊な共通キーがインストールされている必要があります。 もし MAK キーなどで上書きしてしまった場合は、以下のコマンドで GVLK に戻します。

rem GVLK をインストール(KMS クライアントに戻す)
slmgr /ipk <OSバージョンに対応したGVLK>

※ 例: Windows Server 2022 Datacenter の GVLK は WX4NM-KYWXW-QJJR4-XV3QB-6VM33 です(公開情報)

② KMS ホストの手動指定と認証

DNS(SRVレコード)による自動検出がうまくいかない場合や、特定の KMS ホストに向けたい場合は、手動で指定します。

rem 1. KMS ホストの IP または FQDN を指定
slmgr /skms <KMSホストのIPアドレス>

rem 2. ライセンス認証を即時実行
slmgr /ato

これで 製品は正常にライセンス認証されました。 と表示されれば成功です。 もしここでエラーが出る場合は、前述の「閾値」に引っかかっている可能性が大です。

トラブルシューティング: エラー 0xC004F038 への対処

KMS 構築時、slmgr /ato を実行して最も頻繁に遭遇するのが エラーコード: 0xC004F038 です。 エラーメッセージには「キー管理サービス(KMS)で報告された数が不足しているため…」と表示されます。

原因: これは、前述した 「閾値(サーバー5台 / クライアント25台)」に達していないこと が原因です。 ネットワーク的な問題ではなく、「KMS ホストとは通信できているが、ルール上まだ許可を出せない」という状態を意味します。

① KMS ホスト側で「現在の数」を確認する

slmgr /dli

▼ 確認ポイント

ポップアップが表示されるので、「現在の数 (Current count)」 という項目を確認してください。

  • Windows Server の場合: ここが 5 になるまでは、認証は成功しません(1〜4 の間はクライアント側で 0xC004F038 エラーが出続けます)。
  • 対策: 足りない台数分、別のサーバーから slmgr /ato を実行してカウントを稼いでください。

② イベントログでリクエスト受信を確認する

「クライアントからリクエストが届いているか不安」という場合は、KMS ホストのイベントビューアーを確認します。

  • 場所: [アプリケーションとサービス ログ] > [Key Management Service]
  • イベント ID: 12290

このログが記録されていれば、KMS ホストは正常にリクエストを受信しています。 ログの詳細に「現在の数 (Current Count)」も記録されているため、ここでカウントの推移を追うことも可能です。

まとめ

本記事では、Windows のボリュームライセンス認証における MAKKMS の違い、そして KMS ホストの構築方法 について解説しました。

  • 5台未満 / 独立環境: MAK 一択です。管理サーバー不要で手軽です。
  • 5台以上 / 閉域網 / 大規模: KMS(または ADBA)が必須です。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次