「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
Linux インスタンスの時刻の設定
サーバータスクとプロセスの多くには、一貫して正確な時間参照が不可欠です。システムログのほとんどにタイムスタンプが含まれています。これを利用すれば、問題が発生した時刻とイベントの発生順序を判断できます。AWS CLI、または AWS SDK を使用してインスタンスからリクエストを行う場合、これらのツールによって自動的にリクエストに署名されます。インスタンスの日時が正しく設定されていない場合、署名の日付がリクエストの日付と一致しないことがあり、その場合は AWS によってリクエストが却下されます。
Amazon では、Amazon Time Sync Service を提供します。このサービスはすべての EC2 インスタンスからアクセスでき、その他の AWS サービスにも利用されます。このサービスは、各リージョンで衛星接続された原子基準クロックを使用し、ネットワークタイムプロトコル (NTP) を通じて世界標準時 (UTC) の現在の正確な現在時刻を表示します。Amazon Time Sync Service は、UTC に追加されたうるう秒を自動的に均一化します。
Amazon Time Sync Service は、VPC で実行されているすべてのインスタンスの 169.254.169.123
IPアドレスで NTP を介して利用できます。インスタンスはインターネットにアクセスする必要はなく、アクセスを許可するためにセキュリティグループルールまたはネットワーク
ACL ルールを設定する必要はありません。最新バージョンの Amazon Linux 2 と Amazon Linux AMI はデフォルトで Amazon Time
Sync Service と同期します。
chrony
クライアントを使用して、インスタンスに Amazon Time Sync Service を設定するには、次の手順を実行します。または、外部 NTP ソースを使用できます。NTP
やパブリックな時刻ソースの詳細については、http://www.ntp.org/
トピック
Amazon Linux AMI での Amazon Time Sync Service を設定
Amazon Linux 2 では、デフォルトの chrony
設定で Amazon Time Sync Service の IP アドレスを使用するように設定されています。
Amazon Linux AMI を使用して、Amazon Time Sync Service のサーバーエントリを追加するには、chrony
設定ファイルを編集する必要があります。
Amazon Time Sync Service を使用して インスタンスを設定するには
-
インスタンスに接続し、NTP サービスをアンインストールします。
[ec2-user ~]$
sudo yum erase 'ntp*'
-
chrony
パッケージをインストールします。[ec2-user ~]$
sudo yum install chrony
-
任意のテキストエディタ (例: vim または nano など) を使って
/etc/chrony.conf
ファイルを開きます。ファイルに次の行が含まれていることを確認します:server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
この行が存在する場合は、Amazon Time Sync Service が既に設定されており、次の手順に進むことができます。そうでない場合は、すでにファイルに存在する他の
server
またはpool
ステートメントの後に行を追加し、変更を保存します。 -
chrony
デーモン (chronyd
) を再起動します。[ec2-user ~]$
sudo service chronyd restart
Starting chronyd: [ OK ]
注記 RHEL と CentOS (バージョン 6 まで) では、サービス名は
chrony
ではなくchronyd
です。 -
chkconfig
コマンドを使用して、システムがブートするたびにchronyd
が起動するように設定します。[ec2-user ~]$
sudo chkconfig chronyd on
-
chrony
が169.254.169.123
IP アドレスを使用して時刻を同期させていることを確認します。[ec2-user ~]$
chronyc sources -v
210 Number of sources = 7 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us ^- ec2-12-34-231-12.eu-west> 2 6 17 43 -388us[ -388us] +/- 11ms ^- tshirt.heanet.ie 1 6 17 44 +178us[ +25us] +/- 1959us ^? tbag.heanet.ie 0 6 0 - +0ns[ +0ns] +/- 0ns ^? bray.walcz.net 0 6 0 - +0ns[ +0ns] +/- 0ns ^? 2a05:d018:c43:e312:ce77:> 0 6 0 - +0ns[ +0ns] +/- 0ns ^? 2a05:d018:dab:2701:b70:b> 0 6 0 - +0ns[ +0ns] +/- 0ns
返される出力では、
^*
が優先時刻ソースを示します。 -
chrony
で報告された時刻同期メトリクスを確認します。[ec2-user ~]$
chronyc tracking
Reference ID : A9FEA97B (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed Nov 22 13:18:34 2017 System time : 0.000000626 seconds slow of NTP time Last offset : +0.002852759 seconds RMS offset : 0.002852759 seconds Frequency : 1.187 ppm fast Residual freq : +0.020 ppm Skew : 24.388 ppm Root delay : 0.000504752 seconds Root dispersion : 0.001112565 seconds Update interval : 64.4 seconds Leap status : Normal
Ubuntu での Amazon Time Sync Service の設定
Amazon Time Sync Service のサーバーエントリを追加するには、chrony
設定ファイルを編集する必要があります。
Amazon Time Sync Service を使用して インスタンスを設定するには
-
インスタンスに接続し、
apt
を使用してchrony
パッケージをインストールします。ubuntu:~$
sudo apt install chrony
注記 必要に応じて、
sudo apt update
を実行してインスタンスを最初に更新します。 -
任意のテキストエディタ (例: vim または nano など) を使って
/etc/chrony/chrony.conf
ファイルを開きます。ファイルに既に存在する他のserver
ステートメントやpool
ステートメントの前に次の行を追加し、変更を保存します。server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
-
chrony
サービスを再起動します。ubuntu:~$
sudo /etc/init.d/chrony restart
[ ok ] Restarting chrony (via systemctl): chrony.service.
-
chrony
が169.254.169.123
IP アドレスを使用して時刻を同期させていることを確認します。ubuntu:~$
chronyc sources -v
210 Number of sources = 7 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 3 6 17 12 +15us[ +57us] +/- 320us ^- tbag.heanet.ie 1 6 17 13 -3488us[-3446us] +/- 1779us ^- ec2-12-34-231-12.eu-west- 2 6 17 13 +893us[ +935us] +/- 7710us ^? 2a05:d018:c43:e312:ce77:6 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? 2a05:d018:d34:9000:d8c6:5 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? tshirt.heanet.ie 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? bray.walcz.net 0 6 0 10y +0ns[ +0ns] +/- 0ns
返される出力では、
^*
が優先時刻ソースを示します。 -
chrony
で報告された時刻同期メトリクスを確認します。ubuntu:~$
chronyc tracking
Reference ID : 169.254.169.123 (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed Nov 29 07:41:57 2017 System time : 0.000000011 seconds slow of NTP time Last offset : +0.000041659 seconds RMS offset : 0.000041659 seconds Frequency : 10.141 ppm slow Residual freq : +7.557 ppm Skew : 2.329 ppm Root delay : 0.000544 seconds Root dispersion : 0.000631 seconds Update interval : 2.0 seconds Leap status : Normal
SUSE Linux での Amazon Time Sync Service の設定
「https://software.opensuse.org/package/chrony
任意のテキストエディタ (例: vim または nano など) を使って /etc/chrony.conf
ファイルを開きます。ファイルに次の行が含まれていることを確認します。
server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
この行が存在しない場合は追加します。他のサーバーまたはプールの行はすべてコメントアウトします。yast を開き、chrony サービスを有効にします。
Amazon Linux での タイムゾーンの変更
Amazon Linux インスタンスは、デフォルトで UTC (協定世界時) タイムゾーンに設定されています。インスタンスの時刻をローカルの時刻またはネットワーク内の別のタイムゾーンに変更できます。
この情報は Amazon Linux に適用されます。その他のディストリビューションの情報については、各ドキュメントを参照してください。
インスタンスの時間帯を変更するには
-
インスタンスで使用する時間帯を特定します。
/usr/share/zoneinfo
ディレクトリには、タイムゾーンデータファイルの階層が含まれています。その場所でディレクトリ構造を閲覧し、お客様の時間帯のファイルを見つけます。[ec2-user ~]$
ls /usr/share/zoneinfo
Africa Chile GB Indian Mideast posixrules US America CST6CDT GB-Eire Iran MST PRC UTC Antarctica Cuba GMT iso3166.tab MST7MDT PST8PDT WET Arctic EET GMT0 Israel Navajo right W-SU ...
この場所にある一部のエントリはディレクトリです (
America
など)。そのディレクトリには、特定の都市の時間帯ファイルが含まれています。インスタンスに使用する都市 (またはお客様の時間帯と同じ都市) を見つけます。 -
新しいタイムゾーンを適用した
/etc/sysconfig/clock
ファイルを更新します。この例では、ロサンゼルスのタイムゾーンデータファイル/usr/share/zoneinfo/America/Los_Angeles
を使用します。-
お好みのテキストエディタ (vim や nano など) で、
/etc/sysconfig/clock
ファイルを開きます。エディタのコマンドで sudo を使用する必要があります。/etc/sysconfig/clock
はroot
が所有するためです。[ec2-user ~]$
sudo
nano
/etc/sysconfig/clock -
ZONE
エントリを特定し、タイムゾーンファイルに変更します (パスの/usr/share/zoneinfo
セクションは省略します)。たとえば、ロサンゼルスの時間帯に変更するには、ZONE
エントリを次のように変更します。ZONE="
America/Los_Angeles
"注記 UTC=true
エントリを別の値に変更しないでください。このエントリは、ハードウェアクロックに使用されるため、インスタンスで別のタイムゾーンを設定する場合は調整する必要はありません。 -
ファイルを保存し、テキストエディタを終了します。
-
-
インスタンスが現地時間情報を参照するとき、タイムゾーンファイルを見つけられるように、
/etc/localtime
とタイムゾーンファイルの間にシンボリックリンクを作成します。[ec2-user ~]$
sudo ln -sf /usr/share/zoneinfo/
America/Los_Angeles
/etc/localtime -
システムを再起動し、すべてのサーバーとアプリケーションで新しい時間帯情報を取得します。
[ec2-user ~]$
sudo reboot
-
(オプション) date コマンドを使用して、現在のタイムゾーンが新しいタイムゾーンに更新されていることを確認します。現在のタイムゾーンが出力に表示されます。以下の例では、現在のタイムゾーンは PDT であり、ロサンゼルスのタイムゾーンを参照しています。
[ec2-user ~]$
date
Sun Aug 16 05:45:16 PDT 2020