Windows Server 2016でYour Windows Licence Will Expire

記事タイトルとURLをコピーする

プロフェッショナルサービス課の杉村です。
Windows Serverはあまり得意ではないのですが、可能なら<花粉等の異物に反応して鼻水や鼻づまりを発生させる>役割と機能をアンインストールしたいです。

"Your Windows Licence Will Expire"だと...?

Windows Server 2016のECインスタンスで "Your Windows Licence Will Expire" といったメッセージがログイン時に表示される場合があります。

これは、Windows Server 2012以前で標準AMIに導入されていたEC2Configと、Windows Server 2016以降に導入されているEC2Launchの間の仕様の違いに起因している可能性があります。

EC2Configではインスタンスの起動時に毎回、OSのルーティングテーブルに対し

  • 169.254.169.250
  • 169.254.169.251
  • 169.254.169.254

に対するルート情報の追加(または更新)が行われていました。
そのため、インスタンスからAMIを取得してそのAMIで異なるCIDRのVPCに再ローンチした場合でも、上記アドレスに対するGatewayが正しく設定しなおされました。

GatewayはVPCの仮想ルータ(VPCのCIDRのネットワークアドレスに+1した値)となる

一方EC2Launchでは、このRoute追加が初回起動時のみ実施されます。
ですので異なるCIDRのVPCに再ローンチした場合にGatewayが正しいものに更新されず、AWSがもつWindowsライセンスサーバやメタデータにアクセスできないといった事象が発生します。

冒頭のライセンス切れを示すメッセージは、これによるものの可能性があります。

解決方法

以下の手順を実施すると、メタデータに対するルーティングを自動的に上書きしてくれます。

1. PowerShellコンソールを開く
2. 次のコマンドレットを実行し、EC2Launchモジュールをインポートする
PS> Import-Module C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1
3. 次のようにAdd-Routesを実行する
PS> Add-Routes
※確認はroute printコマンドで可能

なお「初回起動時のみroute追加を実施する」というEC2Launchの仕様は2017年11月01日現在のものであり、
将来的に変更される可能性があることもご留意ください。

杉村 勇馬 (記事一覧)

営業部(G-gen出向中)
2021 Japan APN Ambassadors / 2021 APN All AWS Certifications Engineers

マルチAWSアカウント管理運用やネットワーク関係のAWSサービスに関するブログをよく書いています

2021年09月から株式会社G-genに出向してGoogle Cloudが専門になりました。G-genでもGoogle Cloudの技術ブログを描いています。