AWS CentOS

AWS EC2 で時刻がずれていたので修正してみた

AWS

AWS EC2 仮想マシン作成後の環境設定

仮想マシン作成後しばらくそのまま使っていた。時刻がずれているのに気付いたので対応した。

動作環境

AWS1年間の無料枠を利用
仮想マシン t2.micro で Amazon Linux 2 AMI 2.0.20191116.0 x86_64 HVM gp2

言語設定

言語設定が日本語になっていなかった LANG=en_US.UTF-8

[root@ip ~]# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: n/a

下はAzureのCentos7.5 設定初期状態は同じく英語モード。
Keymap Layoutの初期状態がAWSとAzureでは異なっている様だ。
だから、どうかしました? と言うわけではないが。

[root@Azure ~]# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us

言語設定をやってみた。 LANG=ja_JP.utf8 になった。

[root@ip ~]# localectl set-locale LANG=ja_JP.utf8
[root@ip ~]# localectl
System Locale: LANG=ja_JP.utf8
VC Keymap: n/a
X11 Layout: n/a

タイムゾーン設定

時刻はUTCの設定

[root@ip ~]# timedatectl
Local time: Tue 2020-01-21 14:28:29 UTC
Universal time: Tue 2020-01-21 14:28:29 UTC
RTC time: Tue 2020-01-21 14:28:28
Time zone: n/a (UTC, +0000)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a

日本時間に設定する

[root@ip ~]# timedatectl set-timezone Asia/Tokyo
[root@ip ~]# timedatectl
Local time: Tue 2020-01-21 23:30:39 JST
Universal time: Tue 2020-01-21 14:30:39 UTC
RTC time: Tue 2020-01-21 14:30:39
Time zone: Asia/Tokyo (JST, +0900) ← 時刻は日本時間になった
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a

キーボード設定

まずキーマップの確認から。

[root@ip ~]# localectl list-keymaps | grep jp
jp
jp-OADG109A
jp-dvorak
jp-kana86
jp106

キーボードをWindows106キーボード(日本語)に設定

[root@ip ~]# localectl set-keymap jp106
[root@ip ~]# localectl
System Locale: LANG=ja_JP.utf8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp

キーマップの設定ファイルは下記にありました。

[root@ip ~]# cat /etc/vconsole.conf
KEYMAP=jp106

気になる点が一つ。時刻の同期はとれてるの?

気にしていなかったのだが時刻の同期はされてるの?
上に載せたが

 NTP synchronized: no

同期は取ってないのか?

[root@ip ~]# timedatectl
Local time: Tue 2020-01-21 14:28:29 UTC
Universal time: Tue 2020-01-21 14:28:29 UTC
RTC time: Tue 2020-01-21 14:28:28
Time zone: n/a (UTC, +0000)
NTP enabled: yes
NTP synchronized: no ← 同期はとれてない?
RTC in local TZ: no
DST active: n/a
注記
Amazon Linux 2 では、デフォルトの chrony 設定で Amazon Time Sync Service の IP アドレスを使用するように設定されています。

今回のマシンAmazon Linux 2なのでデフォルトでAmazon Time Sync Service を利用して同期をとっているようだ。以下確認できた。

[root@ip ~]# whereis chrony
chrony: /etc/chrony.conf /etc/chrony.keys

[root@ip ~]# ps ax|grep chrony
2690 ? S 0:29 /usr/sbin/chronyd
15196 pts/0 S+ 0:00 grep --color=auto chrony

[root@ip etc]# chronyc sources -v
210 Number of sources = 5

.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.169.123 3 4 377 3 +22us[ +23us] +/- 528us
^- ntp-b2.nict.go.jp 1 10 377 751 +1038us[+1036us] +/- 2007us
^- nipper.paina.net 2 10 377 732 +85us[ +82us] +/- 3714us
^- time.cloudflare.com 3 7 377 36 +8619us[+8621us] +/- 61ms
^- extendwings.com 2 10 377 441 +1402us[+1403us] +/- 9605us
[root@ip-172-31-36-204 etc]# chronyc tracking
Reference ID : A9FEA97B (169.254.169.123)
Stratum : 4
Ref time (UTC) : Thu Jan 23 05:06:24 2020
System time : 0.000000857 seconds fast of NTP time
Last offset : +0.000001595 seconds
RMS offset : 0.000001151 seconds
Frequency : 27.579 ppm slow
Residual freq : +0.001 ppm
Skew : 0.026 ppm
Root delay : 0.000412903 seconds
Root dispersion : 0.000289027 seconds
Update interval : 16.1 seconds
Leap status : Normal

感じたこと

国内のVPSでは確か初期状態が日本の環境になっていたかと思う。設定がらく。
AWS Azure等海外クラウドの場合注意が必要で、設定が必要。
ただ、今回のAWSでは初期状態で時刻合わせの同期をとってくれていたので嬉しかった。
この点Azureの CentOSはどうなっていたか?気づいたときに確認してみる。

コメント