Help us understand the problem. What is going on with this article?

aws ec2の時刻がずれた時の対処法

アプリケーションサーバーのログの時間と、DBに登録される時間が大幅にずれていて、不具合に悩まされたのでメモです。

ec2サーバーがntpサーバーの同期が取れていなくて、サーバーの時刻がたまにずれていることがある。

ntpqコマンドを使ってntpサーバーの同期の確認、それからntpサーバーの同期を取ったあとntpdを再起動することで対処可能

・時刻がずれてた時の確認内容

サーバーの現在時刻確認
ここが他のサーバーと大きくずれている場合、ntpサーバーと同期が取れてない可能性がある。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ date
2019年  9月  8日 日曜日 07:27:09 UTC

ntpサーバーの同期調査
*がどこかのサーバーに付いていれば、同期されているので、時刻がずれることはないはず。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*169.254.169.123 10.206.239.196   3 u    4    8  377    0.236   -0.877   0.133
 2.amazon.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
+kuroa.me        242.71.143.169   2 u   27   64   37    9.782   -1.240  95.515
-149.28.28.160 ( 103.1.106.69     2 u   27   64   37    4.320   -0.580  95.256
+sv1.localdomain 133.243.238.244  2 u   28   64   37    3.486   -1.475  94.768
-ec2-13-230-38-1 133.243.238.243  2 u   20   64   27    1.884   -1.152  86.029

・もしntpサーバーと同期が取れていない場合、どうするか。
ntpdateでntpサーバーと同期した後にntpdを再起動する。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo service ntpd stop
Shutting down ntpd:                                        [  OK  ]
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo ntpdate -Bv 0.amazon.pool.ntp.org
 8 Sep 09:33:59 ntpdate[23382]: ntpdate 4.2.8p12@1.3728-o Fri May  3 15:36:35 UTC 2019 (1)
 8 Sep 09:34:05 ntpdate[23382]: adjust time server 18.182.27.134 offset -0.000604 sec
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo service ntpd start
Starting ntpd:                                             [  OK  ]
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo service ntpd status
ntpd (pid  23401) is running...

時刻の確認

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ date
2019年  9月  8日 日曜日 09:34:07 UTC

ntpdの状況確認

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ ntpstat
synchronised to NTP server (169.254.169.123) at stratum 4
   time correct to within 17 ms
   polling server every 256 s

ntpサーバー同期の確認

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*169.254.169.123 10.206.239.196   3 u    6   16  377    0.198   -0.028   0.019
 2.amazon.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
+ntp-b2.nict.go. .NICT.           1 u   56   64  377    5.412   -0.525   0.434
-ec2-18-182-27-1 133.243.238.163  2 u   60   64  377    0.364   -0.571   0.384
-y.ns.gin.ntt.ne 249.224.99.213   2 u   58   64  377    3.944    1.781   0.555
+kuroa.me        242.71.143.169   2 u   59   64  377    9.750   -0.203   0.394
[ec2-user@ip-172-31-28-129 ~]$

※古いAMIを使ってるサーバーも多いと思うが、awsで提供されているAmazon Linux2を使えば、Amazon Time Sync Serviceが使えるので、ntpサーバーの同期で悩む心配はないと思う。
https://dev.classmethod.jp/etc/amazon-linux-ami-2018-03-amazon-time-sync-service/

予防できないか考えたが、そもそも時刻がずれる原因が対策できないものもあると思うので、定期的に確認して、時刻がずれてないか確認するのがいいかなーと思います。

一番いいのはAmazon Linux2を使うことだと思いますけど。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away