この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
概要
Azure KMSとはAzureのWindows仮想マシンがWindowsライセンス認証を行う際に利用するキー管理サービスとなります。
KMSで利用するIPアドレスが変更となることがMicrosoft社より発表されており、今回はその影響と対処方法について纏めました。
Azure KMSのホスト名とIPアドレス(2022/10/20現在)
ホスト名 | IPアドレス |
kms.core.windows.net | 23.102.135.246 |
azkms.core.windows.net | 23.102.135.246 |
Azure KMSのホスト名とIPアドレス変更後(※)
ホスト名 | IPアドレス |
kms.core.windows.net | 23.102.135.246 |
azkms.core.windows.net | 20.118.99.224 |
azkms.core.windows.net | 40.83.235.53 |
(※)Microsoft社の発表では2022年10月3日より変更とアナウンスが出ていましたが、10月20日時点でまだ変更されていません。
IPアドレス変更による影響
ほとんどの環境ではIPアドレス変更による影響を受けることはなく、引き続きライセンス認証を行うことができます。
サイト間 VPN 接続またはExpressRouteで強制トンネリングを有効としている場合、IPアドレス変更によりライセンス認証ができなくなく可能性があります。強制トンネリングとはサイト間の VPN接続またはExpressRouteを介して、インターネットへの全てのトラフィックをオンプレミスにリダイレクトする構成のことです。Azureの仮想マシンはライセンス認証のために Azure KMS サーバーに接続する必要があります。 このライセンス認証要求は Azure のパブリック IP アドレスから送られる必要がありますが、強制トンネリングではライセンス認証要求もオンプレミスにリダイレクトされるためライセンス認証に失敗します。
対処方法
強制トンネリングが有効となっている環境でKMSのIPアドレス変更によりライセンス認証に失敗する場合、変更による追加となったIPアドレス用のルート設定が必要となります。
以下の環境における設定例を示します。
- リソースグループ名:KMS-test-rg
- 仮想ネットワーク名:KMS-test-vnet
- 仮想マシンの接続先サブネット名:default (10.11.0.0/24)
- KMS用ルーティングテーブル名:KMS-test-vnet-KmsDirectRoute
ルート名 IPアドレス DirectRouteToKMS01 23.102.135.246/32 (登録済み) DirectRouteToKMS02 20.118.99.224/32 (追加) DirectRouteToKMS03 40.83.235.53/32 (追加)
1. 事前確認
Azureポータルにサインインし、ライセンス認証が必要な仮想マシンの接続先サブネットを表示する。
ルートテーブルをクリックして、現在登録されているルートを確認する。
2. ルートの追加
ルートの追加作業はAzure Powershellにて実施します。
Azure PowershellのインストールについてはMicrosoft社サイトを参照してください。
2.1 Azure Powershllを開き、Azureサブスクリプションにサインインします。
2.2 ルート追加のために以下のコマンドを実行します。
$vnet = Get-AzVirtualNetwork -ResourceGroupName “リソースグループ名” -Name “仮想ネットワーク名“
$RouteTable = Get-AzRouteTable -Name “KMS用ルーティングテーブル名” -ResourceGroupName “リソースグループ名“
Add-AzRouteConfig -Name “ルート名” -AddressPrefix 20.118.99.224/32 -NextHopType Internet -RouteTable $RouteTable
Add-AzRouteConfig -Name “ルート名” -AddressPrefix 40.83.235.53/32 -NextHopType Internet -RouteTable $RouteTable
Set-AzRouteTable -RouteTable $RouteTable
3. 事後確認
追加した2つのルートが登録されていることを確認する。
【参考】ライセンス認証先を確認する方法
仮想マシンに接続し、コマンドプロンプトにて「slmgr /sli」コマンドを実行することでライセンス認証先を確認することができます。