Azure 上の Windows Server 仮想マシンのライセンス認証
2017/10/30 更新
補足: 本記事は、Windows Server 仮想マシンのライセンス認証について説明したものです。
Azure 上での Windows 10 クライアント OS のライセンス認証は本記事掲載の仕組みに加え、ユーザー ベースの認証を使うという特殊なものとなりますので、以下の記事を参照にしてください。
Azure 上での Windows 10 の利用について
https://blogs.technet.microsoft.com/jpaztech/2017/10/30/windows_10_on_azure/
こんにちは。Azureサポート部の石井です。
Azure上の Windows Server 仮想マシンのライセンス認証について解説します。
Azureでは、独自の KMS ホスト (ライセンス認証サーバー) があり、Azure 上の Windows OS のライセンス認証を行うことができます。
Azure Marketplace から展開した Windows Server VM
Azure Marketplaceから展開した Windows Server VM であれば、基本的に自動的に検知されて認証されますので、特段の設定はいりません。ただし、カスタム DNS サーバーを構築し、使用している場合にはご注意ください。
Azure の KMS ホストは、ホスト名 kms.core.windows.net 、IP アドレス 23.102.135.246、ポート 1688 です。
お客様独自の DNS サーバーを構築し、使用している場合 Azure Marketplace から展開した VM は、kms.core.windows.net に名前解決をし、ライセンス認証を試みます。当該の名前解決が DNS サーバーによって行える必要がありますので、適宜 DNS サーバーの設定を行い、IP アドレスが解決できるように設定してください。
DNS サーバー側の変更が面倒な場合、後続の手動で IP アドレスを指定しておくという方法を取ることも可能です。
Azure に VHD を持ち込んだ場合
1. ボリューム ライセンス用 KMS クライアント セットアップ キーの入力
※ 以下手順は、ボリューム ライセンス版 Windows メディアからセットアップした OS の場合不要です。
VHD を持ち込む場合、ボリューム ライセンス版メディアからセットアップしたか不明な場合、念のため行ってください。
(重複実行しても問題にはなりませんので、ご安心ください。一律の手順にするのであれば、この手順を含めてしまうことも一案です。)
まず、以下参考資料より、お使いの Windows の KMS クライアント セットアップ キーの文字列をコピーしておきます。
ご参考: 付録 A:KMS クライアント セットアップ キー
https://technet.microsoft.com/ja-jp/library/jj612867.aspx
管理者としてコマンド プロンプトを開き、以下コマンドを実行します。
"cscript %WinDir%\system32\slmgr.vbs /ipk %KMSクライアントセットアップキーの文字列%"
2. KMS ホストの指定
管理者としてコマンド プロンプトを実行し、以下コマンドを入力し、KMS サーバーを指定してください。
cscript c:\windows\system32\slmgr.vbs /skms 23.102.135.246:1688
上記で設定は完了です。
認証が成功していれば、アプリケーションのイベントログに以下が記録されます。
----------------------------------------------------------------------
イベント ID : 12288
ソース : Security-SPP
説明 :
クライアントからキー管理サービスコンピューターにライセンス認証要求が送信されました。
情報 :
0x00000000, 0x00000000, <KMS ホストのホスト名または IP アドレス>:<ポート>,
・・・・・
----------------------------------------------------------------------
イベント ID : 12289
ソース : Security-SPP
説明 :
クライアントでキー管理サービスコンピューターからのライセンス認証応答を処理しました。
情報 :
0x00000000, 0x00000000, ・・・・・
----------------------------------------------------------------------
- トラブルシュート編
Azureの KMS ホストの IPアドレスは 23.102.135.246、認証用のポートは 1688 です。
Azure でお問い合わせいただくライセンス認証の問題は以下 2 パターンがほとんどです。
- Windows Firewall 等にてインターネット方向の疎通をすべてブロックしている
Windows の既定の設定ではこのようなことはありませんが、Windows Firewall にて、インターネットへの送信方向 (Outbound) の通信をすべてブロックしているようなケースでは、KMS ホストへの通信も阻害されます。上記 IP アドレスとポートを許可例外に登録してください。
なお、Azure の NSG では、データセンター上に存在する隠しルールにて通信が許容されるようになっているため、NSG が問題となることはありません。
ただし、「NSG にて、インターネット方向の通信をブロックしている環境において、ExpressRoute を利用し、強制トンネリングを有効化している環境」に限り、明示的に IP アドレス 23.102.135.246、ポート 1688 に対して、NSG の許可の設定が必要です。
- ExpressRoute 環境で、強制トンネリングをしている
以下に詳しく紹介されていますが、強制トンネリングをしていると、すべての通信がオンプレミスに送られます。Azure の KMS は、Azure 内部からの通信しか受け付けませんので、ユーザー定義ルートを追記する必要があります。(Azure 外部から受け付けてしまうと、世界中の Windowsの認証を無条件にて行えてしまうためです。)
ご参考: ExpressRoute 環境でライセンス認証ができない事象について
https://blogs.technet.microsoft.com/jpaztech/2016/05/16/azure-vm-may-fail-to-activate-over-expressroute/
強制トンネリングをしている場合でも、パブリック ピアリングをあわせて設定している場合には、KMS の IP アドレスが自動的に広報されるため、上記 URL の回避策の実行は不要です。ただし、マイクロソフト ピアリング (パブリック ピアリングの後継) の場合には KMS の IP アドレスは広報されないので、ユーザー定義ルートの追加が必須になります。
疎通のチェックは、Windows 仮想マシン内から Windows PowerShell を使うと便利です。以下、TNC (Test-NetConnection) コマンドでのチェックが行えます。
PS C:\Users\myname > tnc 23.102.135.246 -port 1688
ComputerName : 23.102.135.246
RemoteAddress : 23.102.135.246
RemotePort : 1688
InterfaceAlias : Ethernet 4
SourceAddress : 172.16.41.6
TcpTestSucceeded : True
最後の行が Trueとなっていれば成功です。
最後に、3 つの良くお問い合わせいただくご質問についてご紹介します。
- FAQ 1. ライセンス認証がたまに失敗する
イベント ログ上のエラーとして、イベントID: 8198、あるいは 8200 にてライセンス認証失敗が記録されるという場合があります。
AzureのKMS サーバーは全世界の Azure 上のWindows OSを認証している関係で、稀に負荷が集中するといったタイミングで応答ができない場合があります。一般的には、エラー イベントが数日に1回、といった頻度で記録されるに留まりますが、場合によっては丸 1 日継続するようなケースもあります。
Azure データセンターでも、随時 KMS の補強作業を行っていますが、常時 100 %成功を目指しているものではありません。この理由としては、Windows のライセンス認証はその後リトライされ、合計 180 日間連続で失敗し続けなければライセンスが失効することはありません。つまりエラー イベントが恒常的にではなく、一時的に記録されるだけである場合、無視可能です。
さらに最悪の場合、180日間ライセンス認証が行えないまま経過しても、ライセンス認証切れを示す「通知モード」となるだけであり、機能制限が生じるわけではありません。
ライセンス認証の失敗エラーが発生しても慌てず、数日程度待って成功するかご確認ください。
- FAQ 2. ライセンスを持ち込む Azure Hybrid Use Benefit (AHUB) の場合に手順に差異はあるか
AHUB にて、ライセンスを持ち込んだ場合も、Azure 上の KMS ホストと認証していただいて問題ありません。Azure にライセンスを持ち込んだか否かは、ゲスト OS 上の管理操作としては無関係で、一律 Azure の KMS ホストを利用可能となっています。
- FAQ 3. オンプレミスの KMS ホストで認証したい
何らかの理由で、外部通信を一切行わせたくないようなお客様では、オンプレミスの KMS ホストと認証をさせたい場合があります。Azure VM から VPN もしくは ExpressRoute 回線にて、オンプレミスの KMS ホストと認証できる場合、オンプレミスの KMS と認証させても問題ありません。KMS ホストでは、ライセンス認証を行える上限などの制約はありませんので、オンプレミスの KMS と認証させることによるデメリットはありません。