Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスの時間設定をローカルタイムゾーンに永続的に変更しようとしていますが、インスタンスの時刻と日付を変更できません。これを解決するにはどうすればよいですか?
簡単な説明
Windows インスタンスで発生する一般的な時間の関連の問題を次に示します。
- 次の理由により、[システム設定] または [コントロールパネル] を使用して時刻を変更できません。
[タイムゾーンを自動的に設定する] オプションがグレー表示されている。
コントロールパネルを使用して時刻設定を変更しようとすると、「このタスクを実行するためのアクセス許可がありません。」というエラーが表示される。
- システムを再起動しても時刻の変更が維持されない。
- Amazon Time Sync Service が他のアトミッククロックから X 分遅れている。
ヒューマンエラーを回避するには、インスタンスで協定世界時 (UTC) を使用するのがベストプラクティスです。インスタンスで UTC を使用すると、AWS CloudWatch ログ、メトリクス、ローカルログ、その他のサービス間の同期も容易になります。必要に応じて、要件に合わせて別のタイムゾーンを使用できます。
解決方法
[システム設定] または [コントロールパネル] を使用して時刻を変更できない
すべての EC2 インスタンスからアクセスできる Amazon Time Sync Service が提供されています。タイムゾーンと時刻/日付を変更できない場合は、コマンドプロンプトウィンドウを使用して、インスタンスで Amazon Time Sync Service を設定します。
開始する前に、次の手順に従って、ローカルグループポリシーエディタで [コントロールパネルと PC 設定へのアクセスを禁止する] ポリシーが無効になっていることを確認します。
- ローカルグループポリシーエディターを開きます。
- [ユーザーの構成]、[管理用テンプレート]、 [コントロールパネル] を選択します。
- [コントロールパネルと PC 設定へのアクセスを禁止する] をハイライトし、[ポリシー設定の編集] を選択します。
- [無効] を選択します。
コマンドプロンプトを使用してタイムゾーンを変更する
ポリシー設定を確認したら、[コマンドプロンプト] ウィンドウからタイムゾーンを変更できます。
コマンドプロンプトを使用して時刻と日付の設定を変更する
- 管理者としてコマンドプロンプトウィンドウを実行します。
- [コマンドプロンプト] ウィンドウに「time」または「date」を入力し、[OK] を選択します。
- プロンプトで新しい時刻または日付を入力します。
HH:MM:SS AM/PM の形式で新しい時刻を入力します。例えば、「08:35:00 AM.」と入力します。
新しい日付を mm-dd-yyyy の形式で入力します。例えば、「01-01-2021」と入力します。
新しい時刻と日付の設定がすぐに有効になります。
外部ネットワークタイムプロトコル (NTP) ソースを使用することもできます。詳細については、「Net Time Protocol (NTP) の設定」を参照してください。
**注:**Citrix Xen ゲストエージェントサービスは時刻同期に問題を引き起こす可能性があるため、Citrix PVドライバーをAmazon PVドライバーに更新することをお勧めします。
システムを再起動しても時刻の変更が維持されない
Windows Server 2008 以降を実行している場合は、RealTimeIsUniversal レジストリキーを追加して、再起動後に新しい時刻が保持されるようにします。
インスタンスが AWS Managed Microsoft AD ディレクトリに参加しているドメインの場合、時間スキューを避けるためにドメインコントローラーを時間ソースとして使用するようにインスタンスの時間設定を変更します。時間をスキューするとKerberos の制限により認証が中断されます。これにより、インスタンスへのログインで問題が発生する可能性があります。これを防ぐには、インスタンスを再起動する前に RealTimeIsUniversal レジストリキーが有効になっていることを確認してください。
Amazon Time Sync Service が他のアトミッククロックから X 分遅れている
Amazon Time Sync Service をインスタンスに再同期するには、次の手順を実行します。
1. 次のコマンドを実行して、Amazon Time Sync Service サーバーを指すように NTP サーバーをリセットします。
w32tm /config /manualpeerlist:”169.254.169.123,0x9” /syncfromflags:manual /update
2. 以下のコマンドを実行します。
net stop w32time
w32tm /unregister
3. インスタンスの [スタート] メニューから [ファイル名を指定して実行] を選択し、「services.msc」と入力します。[Windows Time] が削除されていることを確認します。
4. 以下のコマンドを実行します。
W32tm /register
Net start w32time
w32tm /query /configuration /verbose
w32tm /resync /rediscover and w32tm /resync /force
w32tm /query /status /verbose
w32tm /stripchart /computer:169.254.169.123 /period:5
w32tm /query /source
**注:**ローカル CMOS クロックが表示された場合は、数分待ってから w32tm /query /source コマンドを再度実行してソースを確認します。
関連情報
Windows インスタンスの時刻の設定
Amazon Windows AMI のデフォルト Network Time Protocol (NTP) 設定