Windows Server 2016 の正確な時刻Accurate Time for Windows Server 2016

適用先:Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Windows 10 以降Applies to: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10 or later

Windows タイム サービスは、クライアントとサーバーの時刻の同期プロバイダーにプラグイン モデルを使用するコンポーネントです。The Windows Time service is a component that uses a plug-in model for client and server time synchronization providers. Windows には 2 つの組み込みクライアント プロバイダーがあり、サードパーティのプラグインを利用できます。There are two built-in client providers on Windows, and there are third-party plug-ins available. 1 つのプロバイダーは NTP (RFC 1305) または MS-NTP を使用して、ローカル システム時刻を NTP や MS-NTP に準拠した参照サーバーと同期します。One provider uses NTP (RFC 1305) or MS-NTP to synchronize the local system time to an NTP and/or MS-NTP compliant reference server. もう 1 つのプロバイダーは Hyper-V 用で、仮想マシン (VM) を Hyper-V ホストと同期させます。The other provider is for Hyper-V and synchronizes virtual machines (VM) to the Hyper-V host. 複数のプロバイダーが存在する場合、Windows は最初に Stratum レベル、次にルート遅延、ルート分散、そして最後に時間オフセットを使用して最適なプロバイダーを選択します。When multiple providers exist, Windows will pick the best provider using stratum level first, followed by root delay, root dispersion, and finally time offset.

注意

Windows タイム サービスの概要については、こちらの概要ビデオをご覧ください。For a quick overview of Windows Time service, take a look at this high-level overview video.

このトピックでは、正確な時刻の有効化に関連して、次のことについて説明します。In this topic, we discuss ... these topics as they relate to enabling accurate time:

  • 改善Improvements
  • 測定Measurements
  • 推奨する運用方法Best Practices

重要

Windows 2016 の正確な時刻の記事で参照されている補遺は、こちらからダウンロードできます。An addendum referenced by the Windows 2016 Accurate Time article can be downloaded here. このドキュメントでは、テストと測定の手法についてより詳しく説明しています。This document provides more details about our testing and measurement methodologies.

注意

Windows タイム プロバイダー プラグイン モデルについては、TechNet に記載されていますThe windows time provider plugin model is documented on TechNet.

ドメイン階層Domain Hierarchy

ドメインとスタンドアロンの構成では、動作が異なります。Domain and Standalone configurations work differently.

  • ドメイン メンバーでは、セキュア NTP プロトコルが使用されます。これは、認証を使用して、時間参照のセキュリティと信頼性を確保します。Domain members use a secure NTP protocol, which uses authentication to ensure the security and authenticity of the time reference. ドメイン メンバーは、ドメイン階層とスコアリング システムで決定されるマスター クロックと同期します。Domain members synchronize with a master clock determined by the domain hierarchy and a scoring system. ドメインには、時刻階層の階層レイヤーがあります。それにより、各 DC は、より正確な時刻階層を持つ親 DC を指します。In a domain, there is a hierarchical layer of time strata, whereby each DC points to a parent DC with a more accurate time stratum. 階層は、PDC、またはルート フォレスト内の DC、あるいはドメインの適切なタイム サーバーを示す GTIMESERV ドメイン フラグを持つ DC に解決されます。The hierarchy resolves to the PDC or a DC in the root forest, or a DC with the GTIMESERV domain flag, which denotes a Good Time Server for the domain. 下記の「GTIMESERV を使用してローカルの信頼できるタイム サービスを指定する」セクションを参照してください。See the [Specify a Local Reliable Time Service Using GTIMESERV section below.

  • スタンドアロン マシンは、既定で time.windows.com を使用するように構成されています。Standalone machines are configured to use time.windows.com by default. この名前は、DNS サーバー (Microsoft が所有するリソースを指している必要がある) によって解決されます。This name is resolved by your DNS Server, which should point to a Microsoft owned resource. リモートに配置されているすべての時間参照と同様に、ネットワークが停止すると、同期が妨げられる可能性があります。Like all remotely located time references, network outages, may prevent synchronization. ネットワーク トラフィックの負荷と非対称ネットワーク パスにより、時刻の同期の精度が低下する場合があります。Network traffic loads and asymmetrical network paths may reduce the accuracy of the time synchronization. 1 ミリ秒の精度を確保する場合、リモートの時刻源に依存することはできません。For 1 ms accuracy, you can't depend on a remote time sources.

Hyper-V ゲストには、選択できる Windows タイム プロバイダーが少なくとも 2 つ (ホスト時刻と NTP) あるため、ゲストとして実行しているときに、ドメインまたはスタンドアロンで動作が異なる場合があります。Since Hyper-V guests will have at least two Windows Time providers to choose from, the host time and NTP, you might see different behaviors with either Domain or Standalone when running as a guest.

注意

ドメイン階層とスコアリング システムの詳細については、Windows タイム サービスの概要に関する記事For more information about the domain hierarchy and scoring system, see the "What is Windows Time Service?" をご覧ください。blog post.

注意

Stratum とは、NTP と Hyper-V の両方のプロバイダーで使用される概念であり、その値は階層内のクロックの位置を示します。Stratum is a concept used in both the NTP and Hyper-V providers, and its value indicates the clocks location in the hierarchy. Stratum 1 は最上位のクロック用に予約されており、Stratum 0 は正確であると想定され、それに関連する遅延がほとんどまたはまったくないハードウェア用に予約されています。Stratum 1 is reserved for the highest-level clock, and stratum 0 is reserved for the hardware assumed to be accurate and has little or no delay associated with it. Stratum 2 は Stratum 1 のサーバーに、Stratum 3 は Stratum 2 に問い合わせます。Stratum 2 talk to stratum 1 servers, stratum 3 to stratum 2 and so on. 多くの場合、下位の Stratum の方がより正確なクロックを示しますが、相違が検出される可能性もあります。While a lower stratum often indicates a more accurate clock, it is possible to find discrepancies. また、W32time では、Stratum 15 以下からの時刻のみを受け入れます。Also, W32time only accepts time from stratum 15 or below. クライアントの Stratum を表示するには、"w32tm /query /status" を使用します。To see the stratum of a client, use w32tm /query /status.

正確な時刻のための重要な要因Critical Factors for Accurate Time

どの場合においても、正確な時間のためには、次の 3 つの重要な要因があります。In every case for accurate time, there are three critical factors:

  1. 確かなソース クロック - ドメイン内のソース クロックは、正確で安定している必要があります。Solid Source Clock - The source clock in your domain needs to be stable and accurate. これは通常、GPS デバイスをインストールするか、Stratum 1 のソースを参照しつつ、3. を考慮することを意味します。This usually means installing a GPS device or pointing to a Stratum 1 source, taking #3 into account. たとえば、水面に 2 艘のボートがあり、その海面からの高さを測定してもう一方と比較しようとしているとします。その場合、ソースのボートが非常に安定して、動いていない状態であれば、正確さは最良となります。The analogy goes, if you have two boats on the water, and you are trying to measure the altitude of one compared to the other, your accuracy is best if the source boat is very stable and not moving. 時刻でも同じことが言えます。ソース クロックが安定していなければ、同期されたクロックのチェーン全体が影響を受け、それが各段階で拡大します。The same goes for time, and if your source clock isn't stable, then the entire chain of synchronized clocks is affected and magnified at each stage. また、アクセス可能である必要もあります。それは、接続が中断された場合、時間の同期が妨げられるからです。It also must be accessible because disruptions in the connection will interfere with time synchronization. そして最後に、セキュリティで保護されている必要があります。And finally, it must be secure. 時刻の参照が適切に管理されていない場合や、悪意のある可能性があるユーザーによって操作された場合、ドメインが時間ベースの攻撃にさらされる可能性があります。If the time reference is not properly maintained, or operated by a potentially malicious party, you could expose your domain to time based attacks.
  2. 安定したクライアント クロック - 安定したクライアント クロックにより、オシレーターの自然なドリフトを抑制できます。Stable client clock - A stable client clocks assures that the natural drift of the oscillator is containable. NTP は、複数の NTP サーバーからの複数のサンプルを使用して、ローカル コンピューターのクロックを調整できます。NTP uses multiple samples from potentially multiple NTP servers to condition and discipline your local computers clock. 時刻の変更を行うのではなく、むしろローカル クロックを遅らせたり速めたりして、正確な時間にすばやく近づけて、NTP 要求間の正確さを維持します。It does not step the time changes, but rather slows or speeds up the local clock so that you approach the accurate time quickly and stay accurate between NTP requests. ただし、クライアント コンピューター クロックのオシレーターが安定していないと、調整間の変動が大きくなる可能性があり、Windows でクロックを調整するために使用されるアルゴリズムが正しく機能しません。However, if the client computer clock's oscillator is not stable, then more fluctuations in between adjustments can occur and the algorithms Windows uses to condition the clock don't work accurately. 場合によっては、正確な時刻を得るために、ファームウェアの更新が必要になる可能性があります。In some cases, firmware updates might be needed for accurate time.
  3. 対称 NTP 通信 - NTP 通信の接続は対称であることが重要です。Symmetrical NTP communication - It is critical that the connection for NTP communication is symmetrical. NTP では、ネットワーク パスが対称であることを想定した計算を使用して時刻の調整を行います。NTP uses calculations to adjust the time that assume the network path is symmetrical. NTP パケットがサーバーへの送信に使用するパスで、復路にかかる時間量が異なる場合は、精度に影響があります。If the path the NTP packet takes going to the server takes a different amount of time to return, the accuracy is affected. たとえば、パスは、ネットワーク トポロジにおける変更や、インターフェイス速度が異なるデバイス経由でパケットがルーティングされたことが原因で変わる可能性があります。For example, the path could change due to changes in network topology, or packets being routed through devices that have different interface speeds.

バッテリ駆動型デバイス (モバイルとポータブルの両方) については、異なる戦略を検討する必要があります。For battery powered devices, both mobile and portable, you must consider different strategies. この推奨事項に従って、正確な時間を保持するには、クロックを毎秒 1 回調整する必要があります。これは、クロック更新頻度に相関しています。As per our recommendation, keeping accurate time requires the clock to be disciplined once a second, which correlates to the Clock Update Frequency. これらの設定は、予想より多くのバッテリ電力を消費し、そのようなデバイスに対して Windows で利用可能な省電力モードを阻害する可能性があります。These settings will consume more battery power than expected and can interfere with power saving modes available in Windows for such devices. バッテリ駆動型デバイスには、すべてのアプリケーションの実行を停止する特定の電源モードもあります。これにより、クロックを調整して正確な時刻を維持するという W32time の能力が阻害されます。Battery powered devices also have certain power modes which stop all applications from running, which interferes with W32time's ability to discipline the clock and maintain accurate time. また、そもそもモバイル デバイスのクロックはそれほど正確ではない可能性があります。Additionally, clocks in mobile devices may not be very accurate to begin with. 周囲環境の条件がクロックの精度に影響を与えます。モバイル デバイスは、ある周囲条件から次へと移行する可能性があり、それによって、時間を正確に保つ能力が阻害される場合があります。Ambient environmental conditions affect clock accuracy and a mobile device can move from one ambient condition to the next which may interfere with its ability to keep time accurately. そのため、高精度の設定でバッテリ駆動型ポータブル デバイスをセットアップすることはお勧めしません。Therefore, Microsoft does not recommend that you set up battery powered portable devices with high accuracy settings.

なぜ時刻は重要なのでしょうかWhy is time important?

正確な時刻が必要になる可能性として、さまざまな理由があります。There are many different reasons you might need accurate time. Windows の典型的なケースは Kerberos です。これは、クライアントとサーバーの間で 5 分間の精度を必要とします。The typical case for Windows is Kerberos, which requires 5 minutes of accuracy between the client and server. ただし、他にも時刻の精度の影響を受ける可能性がある多くの領域があります。次に例を示します。However, there are many other areas that can be affected by time accuracy including:

  • 次のような政府の規制:Government Regulations like:
    • 米国における FINRA の 50 ミリ秒の精度50 ms accuracy for FINRA in the US
    • EU における 1 ミリ秒の ESMA (MiFID II)1 ms ESMA (MiFID II) in the EU.
  • 暗号化アルゴリズムCryptography Algorithms
  • クラスター/SQL/Exchange およびドキュメント DB などの分散システムDistributed systems like Cluster/SQL/Exchange and Document DBs
  • ビットコイン取引のためのブロックチェーン フレームワークBlockchain framework for bitcoin transactions
  • 分散ログと脅威分析Distributed Logs and Threat Analysis
  • AD レプリケーションAD Replication
  • 現在の PCI (Payment Card Industry) における 1 秒の精度PCI (Payment Card Industry), currently 1 second accuracy

その他の参照情報Additional references