Keeping Time With Amazon Time Sync Service
- November 30, 2017
Today we’re launching Amazon Time Sync Service, a time synchronization service delivered over Network Time Protocol (NTP) which uses a fleet of redundant satellite-connected and atomic clocks in each region to deliver a highly accurate reference clock. This service is provided at no additional charge and is immediately available in all public AWS regions to all instances running in a VPC.
You can access the service via the link local 169.254.169.123 IP address. This means you don’t need to configure external internet access and the service can be securely accessed from within your private subnets.
Chrony is a different implementation of NTP than what ntpd uses and it’s able to synchronize the system clock faster and with better accuracy than ntpd. I’d recommend using Chrony unless you have a legacy reason to use ntpd.
Installing and configuring chrony on Amazon Linux is as simple as:
sudo sudo yum erase ntp*
sudo yum -y install chrony
sudo service chronyd start
Alternatively, just modify your existing NTP config by adding the line
server 169.254.169.123 prefer iburst.
On Windows you can run the following commands in PowerShell or a command prompt:
net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"169.254.169.123"
w32tm /config /reliable:yess
net start w32time
Time is hard. Science, and society, measure time with respect to the International Celestial Reference Frame (ICRF), which is computed using long baseline interferometry of distant quasars, GPS satellite orbits, and laser ranging of the moon (cool!). Irregularities in Earth’s rate of rotation cause UTC to drift from time with respect to the ICRF. To address this clock drift the International Earth Rotation and Reference Systems (IERS) occasionally introduce an extra second into UTC to keep it within 0.9 seconds of real time.
Leap seconds are known to cause application errors and this can be a concern for many savvy developers and systems administrators. The
169.254.169.123 clock smooths out leap seconds some period of time (commonly called leap smearing) which makes it easy for your applications to deal with leap seconds.
This timely update should provide immediate benefits to anyone previously relying on an external time synchronization service.