Edited at

AmazonLinuxでのタイムゾーン設定

More than 3 years have passed since last update.

EC2上のAmazonLinuxでタイムゾーンをAsia/Tokyoにしていたつもりが、

glibcの更新時にUTCに戻されるという目にあったので、その対応メモ。


要約

すでに起動済みのインスタンスの場合は以下の2点を行う。


  1. /etc/localtimeに使いたいタイムゾーンへのシンボリックリンクを作成する。

  2. /etc/sysconfig/clockを書き換える


すでに動いているインスタンスの場合


/etc/localtimeの変更

こちらに記述されている対応方法の通り。

これで即時反映される。

【Linux】タイムゾーン(Timezone)の変更 - Qiita


/etc/sysconfig/clockの変更

/etc/localtimeの変更だけだと、glibcの変更時にUTCに戻ってしまう。

対応方法は以下に記述されている通り。

本来ならこちらの手順だけでいいが、AmazonLinuxだと設定後rebootしないと反映されないので、

/etc/localtimeの方も更新している。

glibcを更新しても大丈夫な「正しい」タイムゾーンの設定方法 (2/3追記あり) - めもおきば


/etc/sysconfig/clock

ZONE="Asia/Tokyo"

UTC=true

/etc/sysconfig/clock内の「UTC=true」の箇所はそのままの方がいいと思われる。

falseにするとハードウェアのクロックもローカルタイムで設定されてしまう。


これからインスタンスを起動する場合

UserDataでtimezoneを指定してから起動する。

こちらが参考になる。

Amazon Linux起動時にCloudInitで設定するもの « サーバーワークス エンジニアブログ

#cloud-config

timezone: "Asia/Tokyo"