Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで「Windows activation failed」(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 を有効にしない場合や、インスタンスが [Input parameters] (入力パラメータ) で使用できない場合は、[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) クライアントのライセンス認証とプロダクトキー」を参照してください。その後、管理者として次のコマンドを実行します。
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 インスタンスの時刻の設定を参照してください。
関連情報
EC2Config の設定ファイル
Microsoft のウェブサイトの「Understanding KMS」(KMS を理解する)
Windows インスタンスでの PV ドライバーのアップグレード
EC2 Windows インスタンスの時間に関する問題のトラブルシューティング方法を教えてください