2014年04月28日

AWS 時間を合わせる - タイムゾーンの設定

アマゾンのクラウド・サービス AWS(Amazon Web Service)が熱いです。
どこから始めたらいいのかと思う人は、入門として「AWSをはじめよう」を参照してみて下さい。

EC2 というクラウドの中のホスティング・サービスが中心となると思いますが、タイムゾーンの設定は、EC2インスタンスを作ったあと、始めにやっておかないといけないことの一つです。

サーバーサイドには、データベースやアクセスログなど、正確な時間が要求される要件がサービスが数多く有ります。後回しにしていると、後々、痛い目にあうかもしれません。

以下は、まっさらなインスタンスを作ったあと、リモートログインして時間表示したものです。

[ec2-user@ip-xxx-xx-xx-xx ~]$ date
2014年 4月 27日 日曜日 23:21:43 UTC


「UTC」(協定世界時 - Wikipedia) になってます。これを日本標準時間に設定し直します。

やり方は2通り、(以下はFedra/CentOSでも共通です)

  • 環境変数TZに設定する

  • /etc/localtimeを設定する



環境変数TZに設定する


TZを「Asia/Tokyo」に設定すると瞬時に変わります。
[ec2-user@ip-xxx-xx-xx-xx ~]$ date
2014年 4月 27日 日曜日 23:21:43 UTC
[ec2-user@ip-xxx-xx-xx-xx ~]$ export TZ='Asia/Tokyo'
[ec2-user@ip-xxx-xx-xx-xx ~]$ date
2014年 4月 28日 月曜日 08:32:39 JST

ただし、使用しているシェルの環境のみの設定なので、起動時にシステムレベルの有効になるように、「/etc/bashrc」の最後の行に以下の項目を加えます。
export TZ='Asia/Tokyo'

その後反映させるには、再起動するか、もしくは
[ec2-user@ip-xxx-xx-xx-xx ~]$ source /etc/bashrc

で読み込みます。

/etc/localtimeを設定する


個人的にはこちらがオススメです。
各国タイムゾーンの情報は「/usr/share/zoneinfo」ディレクトリにあります。
ここからタイムゾーン情報を選んで「/etc/localtime」にコピーします。
/etc/localtime はUTCを表示しているデフォルトのものが既に存在しますので、必要であれば、バックアップをとっておきましょう。
[ec2-user@ip-xxx-xx-xx-xx ~]$ date
2014年 4月 27日 日曜日 23:48:48 UTC
[ec2-user@ip-xxx-xx-xx-xx ~]$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
[ec2-user@ip-xxx-xx-xx-xx ~]$ date
2014年 4月 28日 月曜日 08:50:23 JST


以下の例でもOKです。
[ec2-user@ip-xxx-xx-xx-xx ~]$ sudo cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime


タグ:timezone cloud AWS
posted by ayagu at 08:57| Comment(0) | AWS | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。