Amazon Time Sync Serviceのマイクロ秒精度時刻同期の対応インスタンスが追加されたのでPHCを試してみた

Amazon Time Sync Serviceのマイクロ秒精度時刻同期の対応インスタンスが追加されたのでPHCを試してみた

Amazon Time Sync Serviceのマイクロ秒精度時刻同期が新たに26インスタンスタイプで対応し、Gen7〜Gen8の幅広いファミリーで利用可能になりました。対応インスタンスで利用できるEnhanced NTPとPTP Hardware Clock (PHC) をM8gで実際に確認してみます。
2026.07.02

はじめに

2026年6月30日、Amazon Time Sync Serviceのマイクロ秒精度時刻同期が26の追加インスタンスタイプで全商用リージョンに対応しました。

https://aws.amazon.com/jp/about-aws/whats-new/2026/06/ec2-time-sync-precision-time-placement-group/

対応インスタンスでは、Enhanced NTP(Stratum 1)とPTP Hardware Clock(PHC)による高精度な時刻同期が利用できます。AWSはマイクロ秒精度の時刻同期を提供するとしており、従来のミリ秒オーダーからの大幅な改善で、追加コストはかかりません。

以下に通常のTime SyncとEnhanced Time Syncの違いをまとめます。

項目 通常の Time Sync Enhanced Time Sync
NTP Stratum 3〜4 1
時刻精度 ミリ秒オーダー マイクロ秒オーダー
PHC デバイス なし あり(Linux のみ)
PHC 同期時の Stratum 0(sources表示。tracking上のシステムStratumは1)
ハードウェアタイムスタンプ なし あり(Linux のみ)
追加コスト なし なし

対応インスタンスファミリー

What's Newでは「26 additional EC2 instance types」と記載されています。以下はAWSドキュメントに掲載されている、今回の追加分を含む対応済みインスタンスファミリーの全体です。

  • General purpose: M7a, M7g, M7g-flex, M7gd, M7i, M7i-flex, M8a, M8g, M8g-flex
  • Compute optimized: C7a, C7gd, C7i, C7i-flex, C8g, C8g-flex, C8gd
  • Memory optimized: R7a, R7g, R7i, R7id, R8g, X8adez, X8adz-3tb, X8adz-6tb, X8adzs, X8aedez, X8aedz-3tb, X8aedz-6tb, X8aez, X8az, X8g, X8ge
  • Storage optimized: I8g, I8ge

Gen7以降の主要ファミリーが幅広くカバーされており、Graviton(g系)・Intel(i系)・AMD(a系)いずれでも利用できます。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-ec2-ntp.html

検証環境

項目
リージョン ap-northeast-1
インスタンスタイプ m8g.medium
AMI Amazon Linux 2023 (arm64)
ENA ドライバ 2.17.1g(プリインストール、PHC 対応)

Enhanced NTP (Stratum 1) の動作確認

chronyc sources でNTPソースを確認します。

$ chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.169.123               1   4    77     7   -164ns[ -882ns] +/-   87us

NTP Stratumが1で同期されています。NTPソースがStratum 1のため、同期するインスタンス自身のStratumはchronyc tracking上で2となります。通常のインスタンスではソースがStratum 3〜4になるため、Enhanced Time Syncの有効化を確認できました。

chronyc tracking で詳細な精度メトリクスも確認します。

$ chronyc tracking
(抜粋)
Stratum         : 2
System time     : 0.000000608 seconds slow of NTP time
Root delay      : 0.000134967 seconds
Root dispersion : 0.000030842 seconds

chronyc tracking上では、System timeがNTP時刻に対して約608ns、Root delayが約135µsと表示されました。chronydの推定値ではありますが、Enhanced NTPが低いオフセットで動作していることを確認できます。

PHC デバイスの有効化

Enhanced Time Sync対応インスタンスでは、ENAドライバのPHC機能を有効化することで、PTP Hardware Clockによる更に高精度な時刻同期が利用できます。PHCはLinuxインスタンスのみで利用可能です(WindowsインスタンスはEnhanced NTP (Stratum 1) まで)。

ENA ドライバの PHC 有効化

ENAドライバのバージョンを確認し、phc_enable=1 パラメータを指定してドライバを再ロードします。

$ modinfo ena | grep version
version:        2.17.1g

ENAドライバ2.17.1gがPHCに対応しています。再ロードします。

$ sudo modprobe -r ena && sudo modprobe ena phc_enable=1

PHC デバイスの確認

ドライバ再ロード後、PTPデバイスが出現していることを確認します。

$ cat /sys/class/ptp/ptp0/clock_name
ena-ptp-00

ena-ptp-00 という名前のPHCデバイスが認識されました。

chrony に PHC refclock を設定

chronyの設定ファイルにPHC refclockを追加します。

$ sudo tee -a /etc/chrony.conf <<'EOF'
refclock PHC /dev/ptp0 poll 0 delay 0.000010 prefer
EOF
$ sudo systemctl restart chronyd

各パラメータの意味は以下のとおりです。

  • poll 0: 1秒間隔でのポーリング
  • delay 0.000010: refclockの距離計算に用いる想定遅延(10µs)
  • prefer: 複数ソースがある場合にこのPHCを優先

PHC 同期後の確認

chronyを再起動してしばらく待つと、PHCが優先ソースとして選択されます。

$ chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
#* PHC0                          0   0   377     1    +27ns[+1265ns] +/- 5030ns
^- 169.254.169.123               1   4    17     4  -4559ns[ -816ns] +/-   92us

PHC0がStratum 0で同期されており、NTPソース(169.254.169.123)はバックアップとして維持されています。PHC0のLast sampleは +27ナノ秒、推定誤差は ±5030ns と表示され、NTPソースの±87µsより小さい誤差範囲として確認できました。

chronyc tracking も確認します。

$ chronyc tracking
(抜粋)
Stratum         : 1
System time     : 0.000000002 seconds fast of NTP time
Root delay      : 0.000010000 seconds
Root dispersion : 0.000003555 seconds

PHC(Stratum 0)に同期しているため、chronyc tracking上のシステムStratumは1と表示されています。chronyc tracking上の推定値では、System timeのoffsetが約2ナノ秒、Root dispersionが約3.5マイクロ秒と表示されました。今回の測定では、Enhanced NTP単体でのoffset 608nsからPHC有効化後の2nsへと大きく縮小しています。

まとめ

Amazon Time Sync Serviceのマイクロ秒精度時刻同期の対応対象が拡大され、Gen7〜Gen8の複数の主要インスタンスファミリー/タイプで利用できるようになりました。

今回の検証では、Amazon Linux 2023のデフォルト設定でNTPソースがStratum 1として表示されることを確認しました。さらにPHCを有効化すると、chrony上の推定オフセットがナノ秒オーダーで表示されることも確認できました。

分散データベースの時刻管理や複数ホスト間のログ相関など、厳密な時刻同期が求められるワークロードで活きる機能です。

参考リンク

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事