Windows インスタンスの時刻同期が失敗した際の対処法
困っていること
Windows インスタンスにて、OS の時刻がズレてしまい同期エラーが発生しています。
対処法を教えてください。
どう対応すればいいの?
以下の順に確認を行い、事象が解消されるかお試しください。
1. Amazon Time Sync Service を利用する
2. RealTimeIsUniversal レジストリキーが設定されているかを確認する
3. EC2Config / EC2Launch サービスのバージョンを確認する
Amazon Time Sync Service を利用する
Windows 標準のタイムサービスを利用している場合、Amazon Time Sync Service の利用をご検討ください。 EC2 インスタンスでは Amazon Time Sync Servie と NTP プロトコルを用いて時刻同期を行うことを AWS では推奨されており、こちらを設定いただくことで事象が改善する可能性があります。
Amazon では、Amazon Time Sync Service を提供します。このサービスはすべての EC2 インスタンスからアクセスでき、その他の AWS のサービスにも利用されます。Amazon Time Sync Service を使用してインスタンスを設定することをお勧めします。
RealTimeIsUniversal レジストリキーが設定されているかを確認する
ドキュメント を参考に RealTimeIsUniversal レジストリキーが設定されているかどうかを確認してください。
Windows インスタンスの時刻を変更するときは、システムを再起動してもその時刻が維持されるようにする必要があります。そうでない場合、インスタンスを再起動すると、再び UTC 時間が使用されます。Windows Server 2008 以降の場合、RealTimeIsUniversal レジストリキーを追加することで時刻設定を維持することができます。このキーは、すべての現世代のインスタンスでデフォルトで設定されます。RealTimeIsUniversal レジストリキーが設定されているかどうかを確認するには、以下の手順のステップ 4 を参照してください。キーが設定されていない場合は、以下の手順を最初から実行します。
EC2 インスタンスでコマンドプロンプトウィンドウを開き、以下のコマンドを使用してインスタンスでキーが正常に保存されたことを確認できます。
reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /s
上記コマンドから TimeZoneInformation レジストリキーのサブキーを返します。ジョブが実行されると、次のような RealTimeIsUniversal キーがリストの一番下に表示されます。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation Bias REG_DWORD 0x1e0 DaylightBias REG_DWORD 0xffffffc4 DaylightName REG_SZ @tzres.dll,-211 DaylightStart REG_BINARY 00000300020002000000000000000000 StandardBias REG_DWORD 0x0 StandardName REG_SZ @tzres.dll,-212 StandardStart REG_BINARY 00000B00010002000000000000000000 TimeZoneKeyName REG_SZ Pacific Standard Time DynamicDaylightTimeDisabled REG_DWORD 0x0 ActiveTimeBias REG_DWORD 0x1a4 RealTimeIsUniversal REG_DWORD 0x1
こちらの、弊社ブログ も参考になるかと思いますので、ご確認ください。
EC2Config / EC2Launch サービスのバージョンを確認する
EC2Config
Amazon Time Sync Servie 宛のルート情報は、EC2Config サービスのバージョン 4.9.2905 以降を使用されている場合 に、OS 起動時に自動で追加される動作となっています。
4.9.2905
・新しいバージョンの SSM Agent (2.3.50.0)
・AMZN タイムサービスにルート 169.254.169.123/32 を追加
・GRID ライセンスにルート 169.254.169.249/32 を追加
・EBS NVMe ボリュームが一時的なものとしてマークされる問題を修正
EC2Config サービスのバージョンが古い場合 Amazon Time Sync Servie (169.254.169.123) との時刻同期は継続的に成功している状況でも、NTP サーバーへの通信が不安定となる可能性があります。
ご利用中の EC2Config サービスのバージョンが古い可能性があるので、ドキュメント を参考に EC2 Config サービスのバージョンアップを実施いただき、事象が解消されるかご確認ください。
EC2Launch
EC2Launch サービスのバージョン 1.3.2003189 以降を使用されている場合 ルートを追加した後に w32tm resync が追加する動作となっています。
1.3.2003189 ルートを追加した後に w32tm resync が追加されました。
NTP サーバーへの通信が不安定となる可能性があるため、ドキュメント を参考に EC2Launch サービスのバージョンアップを実施いただき、事象が解消されるかご確認ください。
もし EC2Config / EC2Launch の更新後も時刻同期が失敗される場合は、ルートテーブルの状況や以下コマンドによる Amazon Time Sync Servie への疎通性をご確認ください。
w32tm /monitor /computers:169.254.169.123
解消されない場合
上記 1~3 の対処法を実施しても事象が解消されない場合は EC2 インスタンスの再作成をご検討ください。
参考資料
- Windows インスタンスの時刻の設定 - Amazon Elastic Compute Cloud
- Windowsインスタンスの時刻を東京標準時に設定する | DevelopersIO
- EC2Config バージョン履歴 - Amazon Elastic Compute Cloud
- EC2Config の最新バージョンのインストール - Amazon Elastic Compute Cloud
- EC2Launch バージョン履歴 - Amazon Elastic Compute Cloud
- EC2Launch の最新バージョンのインストール - Amazon Elastic Compute Cloud