15

I have three Ubuntu EC2 instances on Amazon AWS (EU/Ireland), all set up as web server. I noticed the system date/time is incorrect in two of them (timezone is always set to UTC for my choice). Here is the output of date -R for my PC (EU/Italy, 2 hours ahead of UTC) and for the servers:

lorenzo@LOCALPC ~ $ date -R
Wed, 05 Jun 2013 09:48:19 +0200

ubuntu@AWS-EC2-1 ~ $ date -R # SHOULD BE 07:48 (-10 minutes)
Wed, 05 Jun 2013 07:38:58 +0000

ubuntu@AWS-EC2-2 ~ $ date -R # SHOULD BE 07:48 (-15 minutes)
Wed, 05 Jun 2013 07:33:55 +0000

ubuntu@AWS-EC2-3 ~ $ date -R # SHOULD BE 07:48 (-50 secs)
Wed, 05 Jun 2013 07:47:29 +0000

As you can see, difference is significant for the first and second EC2 server. I tried using ntpdate, but:

ubuntu@AWS-EC2-1 ~ $ ntpdate
 5 Jun 07:42:10 ntpdate[3583]: no servers can be used, exiting

ubuntu@AWS-EC2-1 ~ $ cat /etc/default/ntpdate
# The settings in this file are used by the program ntpdate-debian, but not
# by the upstream program ntpdate.

# Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,
# so you only have to keep it in one place.
NTPDATE_USE_NTP_CONF=yes

# List of NTP servers to use  (Separate multiple servers with spaces.)
# Not used if NTPDATE_USE_NTP_CONF is yes.
NTPSERVERS="ntp.ubuntu.com"

# Additional options to pass to ntpdate
NTPOPTIONS=""

Reading first comment from the configuration file I just pasted, I tried ntpdate-debian:

ubuntu@AWS-EC2-1 ~ $ sudo ntpdate-debian 
 5 Jun 07:51:58 ntpdate[3619]: step time server 91.189.94.4 offset 561.511643 sec

The ~560sec offset correspond to the ~10min I found before. After that command the system time is ok. It looks strange to me that the system does not do that automatically. Should I use a cron to do it?!? Am I missing something?

7

EC2 instances should take their time from the host but there are occasional problems with that. If you configure ntp correctly it should resolve this.

Some more instructions here: http://support.rightscale.com/06-FAQs/FAQ_0025_-_Can_I_use_Network_Time_Protocol_(NTP)_on_my_RightScale_servers%3F

  • Link says Page not found – lorenzo-s Jun 5 '13 at 8:27
  • sorry; cut-paste error. fixed. – Colin Pickard Jun 5 '13 at 9:28
1

Amazon provides Amazon Time Sync Service which eliminates the time drift you are experiencing. The overall steps to take on each EC2 instance are:

  1. Remove NTP using sudo apt-get remove ntp
  2. Install Chrony using sudo apt install chrony
  3. use sudo vim /etc/chrony/chrony.conf to edit the file to include server 169.254.169.123 prefer iburst
  4. Restart Chrony using sudo /etc/init.d/chrony restart
  5. Verify Chrony is using the correct IP using chronyc sources -v and verifying that the output includes '^* 169.254.169.123'
  6. Identify the best city to use by browsing the directories in ls /usr/share/zoneinfo/
  7. Update the timezone from UTC using the path from the previous step, such as sudo timedatectl set-timezone /usr/share/zoneinfo/America/Chicago

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.