Posted at

EC2からNTPが効いていない思ったらNATのSecurityGroupが不適切だった

More than 5 years have passed since last update.

EC2のNTPが効かなくてかなりはまったので記録しておきます。


発生した現象

VPCのPrivate Subnetに配置したEC2(amzn-ami-pv-2014.03.1.x86_64-ebs利用)でインスタンスで以下の現象が起きた


  • 時刻が5分以上ずれているために、aws-cliが以下のように失敗する


    • => ntpdはデフォルトで動いているはずなのに時刻補正がされていない



Signature not yet current: 20140909T043506Z is still later than 20140909T043505Z (20140909T043005Z + 5 min.)


結論


  • VPCのNATのSecurity GroupでPrivate SubnetからのUDPを許可していなかった(TCPは許可していた)。このため、NTPが利用しているUDP 123番ポートが通信できなくてNTPが失敗していた。


    • UDPを許可すると時刻補正がされるようになった。

    • TCPは許可していたので気付きにくかった。



ntp失敗.png


調査経過


  1. cronで行っていたCloudWatchのカスタムメトリックスが登録されなくなる

  2. cronのログを見るとSignature not yet currentエラーが発生している

  3. 時刻を確認するとずれている

  4. ntpdはデフォルトで実行されているのを確認

  5. ntpq -pコマンドを確認すると同期中のサーバがない

  6. /etc/ntp.confの設定でntpdateしても失敗する

  7. VPCのPrivate Subnetからの通信経路がおかしいのではないかと思いつく

  8. Private SubnetのNetwork ACLとNATのSecurityGroupの設定を確認