AmazonLinux で デフォルトのタイムゾーンを変更する


 

AWS で EC2インスタンスを起動すると、タイムゾーンが日本時間(Asia/Tokyo)ではなくUTC時間に設定されています。これは東京リージョンで起動してもUTC時間になります。

[ec2-user@ip-10-0-1-47 ~]$ date
Wed Aug 6 16:29:04 UTC 2014

これから世界を目指す!って人は、UTC時間でいいかもしれませんが、毎回プラス9時間で考えるのはややこしいので、日本時間に変更する方法です。

まず、localtime ファイルをAsia/Tokyoの設定で上書きします。インターネットなどで手順を検索しても大抵この設定で完結しています。

 

[root@ip-10-0-1-47 ~]# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
cp: overwrite ‘/etc/localtime’? y 
[root@ip-10-0-1-47 ~]# date
Thu Aug 7 01:35:20 JST 2014

しかし!この設定だけでは、パッケージアップデートなどの際に設定が元のUTC時間に戻ってしまうケースがあります。

そこで、下記のように clock という設定ファイルの ZONEの値も、Asia/Tokyoに変更します。

[root@ip-10-0-1-47 ~]# cat /etc/sysconfig/clock
ZONE="UTC"
UTC=true
[root@ip-10-0-1-47 ~]# sed -i "s/UTC/Asia\/Tokyo/g" /etc/sysconfig/clock
[root@ip-10-0-1-47 ~]# cat /etc/sysconfig/clock
ZONE="Asia/Tokyo"
Asia/Tokyo=true

こうしておけば、設定が元に戻ってしまうことがなく、恒久的な設定となります。

たぶん CentOSも同様です。

めでたしめでたし。