Amazon Elastic Compute Cloud
Windows インスタンス用ユーザーガイド

Windows インスタンスの時刻を設定する

サーバータスクとプロセスの多くには、一貫して正確な時間参照が不可欠です。システムログのほとんどにタイムスタンプが含まれています。これを利用すれば、問題が発生した時刻とイベントの発生順序を判断できます。AWS CLI、または AWS SDK を使用してインスタンスからリクエストを行う場合、これらのツールによって自動的にリクエストに署名されます。インスタンスの日時が正しく設定されていない場合、署名の日付がリクエストの日付と一致しないことがあり、その場合は AWS によってリクエストが却下されます。Windows インスタンスでは協定世界時(UTC)を使用することをお勧めします。ただし、必要な場合は別のタイムゾーンも使用できます。

時間帯の変更

Windows インスタンスは、デフォルトで UTC タイムゾーンに設定されます。ローカルタイムゾーンまたはネットワークの他の部分のタイムゾーンに対応する時刻に変更できます。

インスタンスの時間帯を変更するには

  1. インスタンスで、コマンドプロンプトウィンドウを開きます。

  2. インスタンスで使用する時間帯を特定します。タイムゾーンの一覧を取得するには、tzutil /l というコマンドを使用します。このコマンドは、利用可能なすべてのタイムゾーンの一覧を次の形式で返します。

    display name time zone ID
  3. インスタンスに割り当てるタイムゾーン ID を見つけます。

  4. 次のコマンドを使用して、インスタンスにタイムゾーンを割り当てます。

    tzutil /s "Pacific Standard Time"

    新しいタイムゾーンは即座に反映されます。

ネットワークタイムプロトコル (NTP) の構成

Amazon では、Amazon Time Sync Service を提供します。このサービスはすべての EC2 インスタンスからアクセスでき、その他の AWS サービスにも利用されます。Amazon Time Sync Service を使用してインスタンスを設定することをお勧めします。このサービスは、各 AWS リージョンで衛星接続された原子基準クロックを使用して、世界標準時 (UTC) の現在の正確な現在時刻を表示します。Amazon Time Sync Service は、UTC に追加されたうるう秒を自動的に均一化します。このサービスは、VPC で実行されているすべてのインスタンスの 169.254.169.123 IP アドレスで使用でき、このサービスを使用するためにインスタンスにインターネットアクセスは必要ありません。2018 年 8 月のリリースから、Windows AMI はデフォルトで Amazon Time Sync Service を使用します。

NTP 設定を確認するには

  1. インスタンスで、コマンドプロンプトウィンドウを開きます。

  2. 次のコマンドを入力して、現在の NTP 設定を取得します。

    w32tm /query /configuration

    このコマンドは、Windows インスタンスの現在の設定を返します。

  3. (オプション) 次のコマンドを入力して、現在の設定のステータスを取得します。

    w32tm /query /status

    このコマンドは、インスタンスと NTP サーバーを同期した最終時刻やポーリング間隔などの情報を返します。

NTP サーバーが Amazon Time Sync Service を使用するよう変更するには

  1. コマンドプロンプトウィンドウで、次のコマンドを実行します。

    w32tm /config /manualpeerlist:169.254.169.123 /syncfromflags:manual /update
  2. 次のコマンドを使用して新しい設定を確認します。

    w32tm /query /configuration

    返される出力で、NtpServer169.254.169.123 IP アドレスを表示することを確認します。

必要に応じて、別の NTP サーバーのセットを使用するようにインスタンスを変更できます。たとえば、インターネットアクセスをしない Windows インスタンスがある場合、プライベートネットワーク内の NTP サービスを使用するように設定できます。インスタンスがドメイン内にある場合は、時間のずれを避けるために、ドメインコントローラをタイムソースとして使用するように設定を変更する必要があります。インスタンスのセキュリティグループは、ポート 123 (NTP) でアウトバウンド UDP トラフィックを許可するように設定する必要があります。

NTP サーバーを変更するには

  1. コマンドプロンプトウィンドウで、次のコマンドを実行します。

    w32tm /config /manualpeerlist:comma-delimited list of NTP servers /syncfromflags:manual /update

    ここで comma-delimited list of NTP servers は、インスタンスで使用する NTP サーバーのリストです。

  2. 次のコマンドを使用して新しい設定を確認します。

    w32tm /query /configuration

Amazon Windows AMI のデフォルト Network Time Protocol (NTP) 設定

Amazon Machine Image (AMI) は一般的に、EC2 インフラストラクチャで機能させるために変更が必要な場合を除き、初期状態のデフォルトに準拠しています。以下の設定は、仮想化環境で適切に動作するとともに、クロック同期ずれを 1 秒以内の精度に保持するように定められています。

  • 更新間隔 – タイムサービスがシステム時刻の精度を調整する頻度を制御します。AWS は、更新間隔を 2 分単位に設定しています。

  • NTP サーバー – 2018 年 8 月のリリースから、AMI はデフォルトで AWS タイムサービスを使用することになりました。このタイムサービスは、169.254.169.123 エンドポイントですべての EC2 リージョンからアクセス可能です。さらに、0x9 フラグは、タイムサービスがクライアントとして機能しており、設定されたタイムサーバーを確認する頻度を SpecialPollInterval を使用して決定することを示しています。

  • タイプ – 「NTP」とは、サービスがドメインの一部としてではなく、スタンドアロン NTP クライアントとして機能することを意味します。

  • 有効、および InputProvider – タイムサービスが有効にされて、オペレーティングシステムに時間を指定します。

  • 特別なポーリング間隔 – 設定された NTP サーバーを 900 秒ごとまたは 15 分ごとに確認します。

レジストリパス キー名 データ

HKLM:\System\CurrentControlSet\services\w32time\Config

UpdateInterval

120

HKLM:\System\CurrentControlSet\services\w32time\Parameters

NtpServer

169.254.169.123,0x9

HKLM:\System\CurrentControlSet\services\w32time\Parameters

タイプ

NTP

HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient

有効

1

HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient

InputProvider

1

HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient

SpecialPollInterval

900

Windows Server 2008 以降の時刻設定を設定する

Windows インスタンスの時刻を変更するときは、システムを再起動してもその時刻が維持されるようにする必要があります。そうでない場合、インスタンスを再起動すると、再び UTC 時間が使用されます。Windows Server 2008 以降の場合、RealTimeIsUniversal レジストリキーを追加することで時刻設定を維持することができます。

RealTimeIsUniversal レジストリキーを設定するには

  1. インスタンスで、コマンドプロンプトウィンドウを開きます。

  2. 次のコマンドを使用してレジストリキーを追加します。

    reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
  3. 2013 年 2 月 22 日以前に作成された Windows Server 2008 AMI (Windows Server 2008 R2 以外) を使用している場合は、最新の AWS Windows AMI に更新することをお勧めします。Windows Server 2008 R2 (Windows Server 2008 以外) を実行する AMI を使用する場合は、Microsoft の修正プログラム KB2922223 がインストールされていることを確認する必要があります。この修正プログラムがインストールされていない場合は、最新の AWS Windows AMI に更新することをお勧めします。

  4. (オプション) 次のコマンドを使用して、インスタンスでキーが正常に保存されたことを確認します。

    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

Windows オペレーティングシステムが時間を調整および管理する方法とうるう秒の追加の詳細については、以下のドキュメントを参照してください。