0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

社内ネットワークでのNTPによる正確な時刻同期のススメ

Last updated at Posted at 2026-01-21

社内ネットワークでのNTPによる正確な時刻同期のススメ

ネットワーク機器やサーバーの時刻がバラバラだと、ログの解析やトラブルシューティングが非常に困難になります。
そこで重要になるのが NTP(Network Time Protocol) による時刻同期です。

本記事では、
「なぜその構成が良いのか」 という設計思想に重点を置き、
社内ネットワークにおける NTP の正しい考え方と推奨構成を解説します。


NTPで時刻同期する意味

時刻同期の目的は、大きく次の2つに集約されます。

  1. 正確な時刻に合わせる
    • ログ、トランザクション、監査証跡の整合性確保
  2. システム全体の時間を統一する
    • 障害解析や相関分析を容易にする

多くのケースで後者の重要性が見落とされがちですが、
「全体で揃っていること」 は精度と同じくらい重要です。


NTPに関するよくある誤解

NTPについては、次のような誤解が非常に多く見られます。

  • Stratum 1 に同期すれば常に正確な時刻が得られる
  • Stratum の値が小さいほど精度が高い
  • Stratum 2 は Stratum 1 の時刻をそのまま配っている
  • ネットワーク的に遠くても Stratum が小さい方が良い

この結果、以下のような構成が実際に存在します。

  • 全ホストが外部 Stratum 1 に直接同期
  • 社内にNTPサーバーを構築しているにもかかわらず、そのNTPサーバー自身の同期先が1台しか設定されていない
  • 近くの Stratum 2 を使わず遠方の Stratum 1 を使用

NTPの基本的な考え方

NTPサーバーは、

上位サーバーから時刻を取得し、自分の内部時計を補正し、その「自分の時計」を配信する

という仕組みで動作します。
時刻パケットを単に中継しているわけではありません。

重要なポイントは以下です。

  • Stratum は「時計源からのホップ数」に過ぎない
  • ネットワーク遅延やジッターは Stratum より精度に影響する
  • 近くの Stratum 2 の方が、遠方の Stratum 1 より正確な場合がある
  • ntpd / chrony は複数ソースを統計的に評価して時刻を決定

推奨構成

社内ネットワークで推奨される構成は以下の通りです。

  • Stratum 1 サーバー:1台
    • GNSS / PPS 等の高精度時計源を使用
  • 社内向けNTP配布サーバー(結果として Stratum 2):2台以上
    • Stratum 1 + 外部信頼サーバーを同期先に設定
    • 社内クライアントに時刻を配信
  • 監視サーバー:1台
    • NTP システム全体の状態を監視・評価

なぜ Stratum 1 をクライアントに直接使わせないのか

「社内に構築した Stratum 1 に直接同期する方が正確ではないか」という疑問は自然です。
しかし、設計上はその構成を採用すべきではありません

理由は以下の通りです。

  • Stratum 1 は精度源であり、配布点ではない
  • 多数クライアントによる負荷増大とジッターの悪化
  • 誤設定クライアントや攻撃の影響を受けやすい
  • 障害やメンテナンスの影響が全体に波及する

そのため、

Stratum 1 → 社内向けNTP配布サーバー → クライアント

という階層構造が、
精度・安定性・運用性の観点で合理的です。


構築ステップ

STEP1:社内向けNTP配布サーバーの構築

  • 社内向けに時刻を配布するNTPサーバーを構築
  • 外部の信頼できる NTP サーバーを 3台以上 同期先に設定
  • この時点で構築する NTP サーバーの Stratum 番号は設計上の要件ではない
    • Stratum 3 や 4 となることも問題ない
  • 社内クライアントはこのサーバーに同期
    • クライアント側は必ず FQDN 指定で設定することが重要
  • 冗長化のため、この配布用NTPサーバーは2台以上推奨

STEP2:高精度時刻源(Stratum 1 サーバー)の構築と段階的導入

  • GNSS / PPS などの高精度時計源を持つ Stratum 1 サーバー を構築
    • このサーバーは 社内クライアントに直接時刻を配布しない
  • STEP1 で構築した 社内向けNTP配布サーバー
    この Stratum 1 サーバーを同期先として追加
  • 初期段階では
    • noselect を指定し、参照品質の監視のみを実施
  • offset・jitter・reach が十分に安定していることを確認後
    • prefer を指定し、主要な同期源として採用
  • この結果として
    • 配布サーバーの Stratum は 2 となる
    • Stratum 2 であること自体は目的ではなく、構成の結果である

STEP3:監視サーバー構築

  • Stratum 1 / 配布サーバーの状態を定期的に監視
  • chronyc / ntpq による状態取得
  • 異常検知時に通知

監視サーバーの役割

監視サーバーは単なる死活監視用ではありません。
時刻品質を客観的に評価するための独立した観測点です。

主な役割は以下です。

  • offset / RMS offset / dispersion の継続監視
  • ドリフト傾向の把握
  • GNSS 受信不良や参照断の検知
  • サーバー間の相互比較による異常検出

重要なのは、

監視サーバー自身を時刻配布の中心に置かない

という点です。
配布系と監視系を分離することで、設計の健全性が保たれます。


大規模化する際のポイント

  • 社内向けNTP配布サーバーを複数台配置し、負荷分散と冗長性を確保
  • 配布サーバーは地理的に分散配置し、ネットワーク障害の影響を局所化
  • Stratum 1 サーバーを地理的に別の場所に増設
    • GNSS 受信環境や電源系統を分離
    • 単一地点障害(Site Failure)を回避
  • 配布サーバーは複数の Stratum 1 を参照可能な構成とする
  • クライアントは複数の配布サーバーに同期
  • 監視サーバーで全体の時刻品質を一元的に評価
  • 規模や要件に応じて Anycast の利用を検討

まとめ

  • 時刻同期では「正確さ」だけでなく「統一」が重要
  • Stratum の数字を目的化しない
  • 階層構造・複数参照・監視が基本
  • クライアントの同期先は 必ず FQDN 指定
  • NTP は「設定して終わり」ではなく「運用して品質を維持する仕組み」

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?