😽

注意!Azure VMが使うKMSサーバーのIPアドレスが変わる

2022/08/02に公開

https://zenn.dev/tomot/articles/d00ed43c2e547d

はじめに

2022/7のupdate情報で、KMSサーバーが変更になることがアナウンスされました。
https://azure.microsoft.com/ja-jp/updates/new-kms-dns-in-azure-global-cloud/

以前別の記事で「VMからの通信要件はコレ!」という整理をしたことがありますが、これも変わってきますので注意が必要です。
https://zenn.dev/tomot/articles/bce81f3c0b3bab

変更点

①2022/07まで

元々、Azureの公式イメージのWindows VMは、下記のホスト名・IPアドレスに対して通信に行きライセンス認証に行っていました。
1ホスト名、1IPアドレスなので分かり易いですね。

ホスト名 IPアドレス
kms.core.windows.net 23.102.135.246

②2022/08現在

本部ログ記載時点では、新しく公式イメージからデプロイしたWindows VMでは、新しいKMSサーバーのホスト名にライセンス認証に行きます。
ただ、ホスト名は新しいのですが、名前解決されるIPアドレスはこれまでと同様です。

ホスト名 IPアドレス
azkms.core.windows.net★ 23.102.135.246★
kms.core.windows.net 23.102.135.246

下記記事によると、NSGルール等で制限している場合の混乱を避けるため経過措置のようです。
https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/custom-routes-enable-kms-activation

また、既存のVMに関してのライセンス認証先は勝手には書き換わりませんので、これまで通り「kms.core.windows.net」を指すことになります。

③2022/10/3以降(予定)

②の状態から、DNSで名前解決されるIPアドレスが変わるとのことです。(上のドキュメントに記載あり)
この時点までに、UDRなどの制御を修正しておかないと、新しくデプロイしたVMからはライセンス認証不可になりますね。(※)気を付けましょう。

ホスト名 IPアドレス
azkms.core.windows.net 20.118.99.224★
azkms.core.windows.net 40.83.235.53★
kms.core.windows.net 23.102.135.246

④2023/03/01以降(予定)

元々の「kms.core.windows.net」が指すIPアドレスが、新IPアドレスの内の片方になるようです。(最初の「アップデートのアナウンス」記事に記載あり)
この時点まで対処しておかないと、古いVMでもライセンス認証が不可になってしまいます。KMSでのライセンス認証は定期的にバックグラウンドで実行されるので、意図せず未認証状態になってしまいます。気を付けましょう。

ホスト名 IPアドレス
azkms.core.windows.net 20.118.99.224
azkms.core.windows.net 40.83.235.53
kms.core.windows.net 20.118.99.224 ★

確認してみた

ライセンス認証先

2022/8/2時点で建てたVM上で設定を確認すると、②の通り「新ホスト名」×「旧IPアドレス」に対してライセンス認証を行っていることが確認できます。

ホスト名の名前解決

新ホスト名を名前解決しようとすると、CNAMEで旧ホスト名を指していることが確認できます。
旧ホスト名は元々のIPアドレスに名前解決されるままですので、今の時点で影響を受ける方は少ないと想定されますが、もしAzure FWなどを通して通信していて、接続先URLでフィルタリングしているようでしたら今の時点で通信できなくなっている可能性があります。要注意です…

ちなみに、問い合わせ先のDNSサーバーはAzureのVMがデフォルトで見に行くAzureのDNSサーバーですね。

注意!強制トンネリング

※のところで書いたパターンで、ExpressRouteなどを使っていて、強制トンネリングの設定となっている方は注意が必要です。
上で紹介したドキュメントにも記載のとある通り、強制トンネリングを行っている場合はKMSサーバーへの通信例外扱いとし、UDRにて「VMから直接インターネットに出られるようにする」ことがよくある設計となっています。
UDRではホスト名ではなく、IPアドレスで設定することになりますので③のタイミングまでに対処する必要があります。

おわりに

小さい変更ですが、使い方によっては大きく影響を受ける内容となっています。トラブルにならないように、早期に対処するようにしましょう!

Discussion