setting ntp on Ubuntu

EC2のUbuntu14.04にntpを設定

事の発端は、AWSのS3へのアクセスのための認証に使用しているCognitoコードで認証エラーがでるようになった。

エラー内容はInvalidSigunatureException なんかタイムスタンプが早すぎるみたいなエラー内容。

Nodeのアプリを再起動しても、AWSのCognitoの設定をみても解決せず。 タイムスタンプが早すぎるって意味わかんねーよってdateコマンドを実行してみたら、あら時刻ずれてるじゃない。。

要はCognitoでトークンを生成するためのタイムスタンプがずれるのでどうしたってエラーになっちゃう問題。

時刻がずれていることが原因と分かったので、暫定措置として時刻をあわせる(日本標準時)。 ※サーバーはUbuntu14.04

sudo ntpdate ntp.nict.jp

※前提としてntpdateがインストールされていること

いろいろ調べていたら、EC2でUbuntuを使うならNTPサーバーを利用して下さい的な感じだった。

NTPを入れる

根本解決のため、NTPサーバー機能をいれる。

sudo apt-get install -y ntp

そんで設定ファイルを編集する。 /etc/ntp.conf

上記の設定と内容の説明については他人の記事をご参照ください。

編集したらNTPサーバービスを再起動する

ぐお、タイムゾーンが

作業したサーバー(どちらもUbuntu14.04)のうち、1つがUTC、1つがJSTのタイムゾーンになってて、キモティ悪かったので、揃える。

sudo timedatectl set-timezone Asia/Tokyo

これでOK