EC2上のAmazonLinuxでタイムゾーンをAsia/Tokyoにしていたつもりが、
glibcの更新時にUTCに戻されるという目にあったので、その対応メモ。
要約
すでに起動済みのインスタンスの場合は以下の2点を行う。
- /etc/localtimeに使いたいタイムゾーンへのシンボリックリンクを作成する。
- /etc/sysconfig/clockを書き換える
すでに動いているインスタンスの場合
/etc/localtimeの変更
こちらに記述されている対応方法の通り。
これで即時反映される。
【Linux】タイムゾーン(Timezone)の変更 - Qiita
/etc/sysconfig/clockの変更
/etc/localtimeの変更だけだと、glibcの変更時にUTCに戻ってしまう。
対応方法は以下に記述されている通り。
本来ならこちらの手順だけでいいが、AmazonLinuxだと設定後rebootしないと反映されないので、
/etc/localtimeの方も更新している。
glibcを更新しても大丈夫な「正しい」タイムゾーンの設定方法 (2/3追記あり) - めもおきば
ZONE="Asia/Tokyo"
UTC=true
/etc/sysconfig/clock内の「UTC=true」の箇所はそのままの方がいいと思われる。
falseにするとハードウェアのクロックもローカルタイムで設定されてしまう。
これからインスタンスを起動する場合
UserDataでtimezoneを指定してから起動する。
こちらが参考になる。
Amazon Linux起動時にCloudInitで設定するもの « サーバーワークス エンジニアブログ
#cloud-config
timezone: "Asia/Tokyo"