EC2 Windows インスタンスで Windows のアクティベーションに失敗したのはなぜですか?

最終更新日: 2021 年 7 月 13 日

Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで「Windows のアクティベーションに失敗しました」というメッセージが表示されました。どうすれば解決できますか?

簡単な説明

Windows インスタンスは、アマゾン ウェブ サービス (AWS) の Microsoft Key Management Service (Microsoft KMS) を使用してアクティベーションします。インスタンスが Microsoft KMS サーバーにアクセスできない場合、Windows のアクティベーションエラーメッセージが表示されることがあります。または、Microsoft KMS クライアント設定に問題がある可能性があります。

AWS Systems Manager Automation ドキュメントを使用するか手動プロセスに従うことで、Windows をアクティベーションすることができます。

解決方法

Systems Manager Automation ドキュメントを使用して Windows のライセンス認証を行う

AWSSupport-ActivateWindowsWithAmazonLicense オートメーションドキュメントは、Amazon が提供するライセンスを使用して Amazon EC2 Windows インスタンスのアクティベーションを行います。自動化は、インスタンスの Windows の現在のステータスを確認し、ステータスが非アクティブの場合は Windows のライセンス認証を行います。

: このソリューションは、ライセンス持ち込み (BYOL) Windows インスタンスには適用できません。ご自分のライセンスを使用するには、AWS での Microsoft ライセンシングをご参照ください。

1.    AWS Systems Manager コンソールを開きます。必ず、Windows のアクティベーションが必要な EC2 Windows インスタンスと同じリージョンを選択してください。

2.    ナビゲーションペインから [Automation] (自動化) を選択し、[Execute automation] (オートメーションの実行) を選択します。

3.    検索フィールドで、ActivateWindowsWithAmazonLicense と入力します。[AWSSupport-ActivateWindowsWithAmazonLicense] を選択してから、[Next] (次へ) を選択します。

4.    [自動化ドキュメントの実行]で [シンプルな実行] を選択します。

5.    [ 入力パラメーター] で [ インタラクティブインスタンスピッカーの表示] をクリックします。

6.    EC2 インスタンスを選択します。

: リストにインスタンスが表示されない場合、インスタンスは Systems Manager に対して有効になっていません。Systems Manager を使用して Amazon EC2 インスタンスを管理するための前提条件を確認してください。

Systems Manager を有効にしない場合や、インスタンスが入力パラメータで使用できない場合は、[Show interactive instance picker] (インタラクティブなインスタンスピッカーを表示する) をオフにします。[InstanceID] で、障害のある EC2 インスタンスの ID を入力します。[AllowOffline] の場合は、[True] を選択します。

重要 : [AllowOffline] を [True] …. EC2 インスタンスは停止して再起動します。インスタンスストアボリュームのデータは失われます。Elastic IP アドレスを使用していない場合、パブリック IP アドレスが変更されます。

7.    [実行] を選択します。

8.    実行の進行状況をモニタリングするには、Systems Manager コンソールを開き、ナビゲーションペインから [Automation] (自動化) を選択します。実行中のオートメーションを選択し、[Executed steps] (実行したステップ) を確認します。オートメーションの出力を表示するには、[Outputs] (出力) を展開します。

手動で Windows のライセンス認証を行う

1.    EC2Config を更新するか、EC2Launch 初期化スクリプトを実行します。

Windows Server 2012 R2 およびそれ以前の場合: EC2Config を更新し、インスタンスを再起動します。

Windows Server 2016 およびそれ以降の場合: 次のコマンドを実行して、Microsoft KMS サーバーへの正しいルートを設定します。

PS C:>Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
PS C:>Add-Routes
PS C:>Set-ActivationSettings
PS C:>slmgr /ato

Windows がまだアクティベーションされていない場合は、ステップ 2 に進みます。

2.    Microsoft KMS は TCP トラフィックとしてポート 1688 で実行されます。インスタンスからのアウトバウンド接続を制御するファイアウォールまたはセキュリティソフトウェアで、Microsoft KMS トラフィックを許可する例外を追加してください。

3.    Windows KMS セットアップキーを設定します。まず、オペレーティングシステムのバージョンの正しい Microsoft KMS クライアントセットアップキーを特定します。詳細については、Microsoft のウェブサイトの KMS client setup keys を参照してください。次に、管理者として以下のコマンドを実行します。

slmgr.vbs /ipk <KMSSetupKey>

4.    Windows KMS マシンの IP アドレスを設定します。VM Import または古い EC2-Classic インスタンスで生成されたインスタンスは、Microsoft KMS サーバーの IP アドレスが正しくない可能性があります。管理者として次のコマンドを実行します。

slmgr.vbs /skms 169.254.169.250:1688

5.    Windows をアクティベーションするには、管理者として次のコマンドを実行します。

slmgr /ato

6.    前の手順でアクティベーションに失敗した場合は、インスタンスから Microsoft KMS サーバーへのネットワーク通信を確認します。これを行うには、インスタンスから Microsoft KMS サーバーへの telnet を実行します。その後、PowerShell を開き、次のコマンドを入力します。

Test-netconnection 169.254.169.250 -Port 1688
Test-netconnection 169.254.169.251 -Port 1688

接続ステータスの出力が TcpTestSuccessed=True であることを確認します。接続ステータス出力が False の場合は、ステップ 7 に進みます。

7.    次のレジストリキーに正しい Microsoft KMS 値があることを確認します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\SoftwareProtectionPlatform
KeyManagementServiceName - 169.254.169.250 or 169.254.169.251
KeyManagementServicePort - 1688

8.    ステップ 6 でテストを再実行します。接続ステータスの出力がまだ False の場合は、EC2 インスタンスで [Time] (時刻) が同期していることを確認します。詳細については、Windows インスタンスの時刻の設定を参照してください。