Amazon Elastic Compute Cloud
Benutzerhandbuch für Linux-Instances

Einstellen der Zeit einer Linux-Instance

Eine gleichbleibende und genaue Zeitreferenz ist für viele Serveraufgaben und -prozesse unerlässlich. Die meisten Systemprotokolle enthalten einen Zeitstempel, mit dem ermittelt wird, wann Probleme auftreten und in welcher Reihenfolge die Ereignisse stattfinden. Wenn Sie eine AWS CLI oder AWS SDK verwenden, um Anfragen an Ihre Instance zu stellen, signieren diese Tools die Anfragen in Ihrem Auftrag. Stellen Sie sicher, dass das Datum und die Uhrzeit der Instance korrekt sind. Andernfalls entspricht das Datum in der Signatur möglicherweise nicht dem Datum der Anfrage und AWS lehnt daraufhin die Anfrage ab.

Amazon bietet den Amazon Time Sync Service an, auf den Sie über alle EC2-Instances zugreifen können. Er wird auch von anderen AWS-Services verwendet. Dieser Service nutzt eine Flotte an mit Satelliten verbundenen und atomaren Referenzuhren in jeder Region für die Bereitstellung von aktuellen Zeitangaben des globalen Standards der koordinierten Weltzeit (UTC) über das Network Time Protocol (NTP). Der Amazon Time Sync Service mildert automatisch alle Schaltsekunden, die der UTC hinzugefügt werden.

Der Amazon Time Sync Service ist durch NTP unter der 169.254.169.123-IP-Adresse einer beliebigen Instance verfügbar, die in einer VPC ausgeführt wird. Ihre Instance erfordert keinen Internetzugang. Sie müssen daher keine Sicherheitsgruppenregeln oder Netzwerk-ACL-Regeln konfigurieren, um Zugang zu gewähren. Die neuesten Versionen der Amazon Linux 2- und Amazon Linux-AMIs werden standardmäßig mit dem Amazon Time Sync Service synchronisiert.

Gehen Sie folgendermaßen vor, um den Amazon Time Syn Service mithilfe des chrony-Clients auf Ihrer Instance zu konfigurieren. Alternativ können Sie externe NTP-Quellen verwenden. Weitere Informationen zu NTP und öffentlichen Zeitquellen finden Sie unter http://www.ntp.org/. Eine Instance benötigt Zugang zum Internet, damit externe NTP-Zeitquellen funktionieren.

Konfigurieren des Amazon Time Sync-Service in Amazon Linux AMI

Anmerkung

Auf Amazon Linux 2 ist die chrony-Standardkonfiguration bereits zur Verwendung der IP-Adresse des Amazon Time Sync Service eingerichtet.

Im Amazon Linux AMI müssen Sie die chrony-Konfigurationsdatei so bearbeiten, dass ein Servereintrag für den Amazon Time Sync-Service hinzugefügt wird.

So konfigurieren Sie Ihre Instance für die Nutzung des Amazon Time Sync-Service

  1. Stellen Sie eine Verbindung mit Ihrer Instance her und deinstallieren Sie den NTP-Service.

    [ec2-user ~]$ sudo yum erase 'ntp*'
  2. Installieren Sie das Paket chrony.

    [ec2-user ~]$ sudo yum install chrony
  3. Öffnen Sie die Datei /etc/chrony.conf mit einem Texteditor Ihrer Wahl, z. B. vim oder nano. Überprüfen Sie, ob die Datei die folgende Zeile enthält:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

    Wenn die Zeile vorhanden ist, ist der Amazon Time Sync Service bereits konfiguriert. Sie können mit dem nächsten Schritt fortfahren. Fügen Sie andernfalls die Zeile nach beliebigen anderen server- oder pool-Anweisungen ein, die bereits in der Datei vorhanden sind. Speichern Sie Ihre Änderungen.

  4. Starten Sie den chrony-Daemon (chronyd).

    [ec2-user ~]$ sudo service chronyd start
    Starting chronyd: [ OK ]

    Anmerkung

    Auf RHEL und CentOS (bis zu Version 6) lautet der Servicename chrony anstatt chronyd.

  5. Konfigurieren Sie den chkconfig mit dem Befehl chronyd so, dass er bei jedem Systemstart startet.

    [ec2-user ~]$ sudo chkconfig chronyd on
  6. Überprüfen Sie, ob chrony zum Synchronisieren der Zeit die 169.254.169.123-IP-Adresse verwendet.

    [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

    In der zurückgegebenen Ausgabe gibt ^* die bevorzugte Zeitquelle an.

  7. Überprüfen Sie die von chrony gemeldeten Zeitsynchronisierungsmetriken.

    [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

Konfigurieren des Amazon Time Sync-Service auf Ubuntu

Sie müssen die chrony-Konfigurationsdatei so bearbeiten, dass ein Servereintrag für den Amazon Time Sync-Service hinzugefügt wird.

So konfigurieren Sie Ihre Instance für die Nutzung des Amazon Time Sync-Service

  1. Stellen Sie eine Verbindung mit Ihrer Instance her und installieren Sie mit apt das chrony-Paket.

    ubuntu:~$ sudo apt install chrony

    Anmerkung

    Sofern erforderlich, aktualisieren Sie Ihre Instance, indem Sie zuerst sudo apt update ausführen.

  2. Öffnen Sie die Datei /etc/chrony/chrony.conf mit einem Texteditor Ihrer Wahl, z. B. vim oder nano. Fügen Sie die folgende Zeile vor beliebigen anderen server- oder pool-Anweisungen ein, die bereits in der Datei vorhanden sind. Speichern Sie dann Ihre Änderungen:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  3. Den Service chrony neu starten.

    ubuntu:~$ sudo /etc/init.d/chrony restart
    [ ok ] Restarting chrony (via systemctl): chrony.service.
  4. Überprüfen Sie, ob chrony zum Synchronisieren der Zeit die 169.254.169.123-IP-Adresse verwendet.

    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

    In der zurückgegebenen Ausgabe gibt ^* die bevorzugte Zeitquelle an.

  5. Überprüfen Sie die von chrony gemeldeten Zeitsynchronisierungsmetriken.

    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

Konfigurieren des Amazon Time Sync-Service auf SUSE Linux

Installieren Sie chrony von der Website https://software.opensuse.org/package/chrony.

Öffnen Sie die Datei /etc/chrony.conf mit einem Texteditor Ihrer Wahl, z. B. vim oder nano. Überprüfen Sie, ob die Datei die folgende Zeile enthält:

server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

Wenn diese Zeile nicht vorhanden ist, fügen Sie sie hinzu. Kommentieren Sie alle anderen Server- oder Pool-Zeilen aus. Öffnen Sie yast und aktivieren Sie den chrony-Service.

Ändern der Zeitzone auf Amazon Linux

Amazon Linux-Instances werden standardmäßig auf die Zeitzone UTC (koordinierte Weltzeit) eingestellt, aber möglicherweise möchten Sie die Zeit einer Instance auf die Ortszeit oder eine andere in Ihrem Netzwerk vertretene Zeitzone einstellen.

Wichtig

Diese Verfahren dienen zur Verwendung mit Amazon Linux Weitere Informationen zu anderen Verteilungen finden Sie in der jeweiligen Dokumentation.

So ändern Sie die Zeitzone in einer Instance

  1. Ermitteln Sie die Zeitzone, die in Ihrer Instance verwendet wird. Das Verzeichnis /usr/share/zoneinfo enthält eine Hierarchie von Zeitzonendateien. Durchsuchen Sie die Verzeichnisstruktur an dieser Stelle, um eine Datei für Ihre Zeitzone zu finden.

    [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 ...

    Einige Einträge an dieser Stelle sind Verzeichnisse (z. B. America). Diese enthalten Zeitzonendateien für einzelne Städte. Suchen Sie nach der Stadt, in der Sie sich befinden (oder einer Stadt in Ihrer Zeitzone), um die Instance auf die entsprechende Zeitzone einzustellen. Verwenden Sie in diesem Beispiel die Zeitzonendatei für Los Angeles, /usr/share/zoneinfo/America/Los_Angeles.

  2. Aktualisieren Sie die Datei /etc/sysconfig/clock mit der neuen Zeitzone.

    1. Öffnen Sie die Datei /etc/sysconfig/clock mit einem Texteditor Ihrer Wahl (z. B. vim oder nano). Sie müssen sudo mit dem Editor verwenden, da die Datei /etc/sysconfig/clock Eigentum von root ist.

    2. Suchen Sie den Eintrag ZONE und geben Sie die Zeitzonendatei an (ohne den folgenden Teil des Pfads: /usr/share/zoneinfo). Ändern Sie den Eintrag ZONE beispielsweise wie folgt, um die Zeitzone „Los Angeles“ einzustellen:

      ZONE="America/Los_Angeles"

      Anmerkung

      Ändern Sie den Eintrag UTC=true NICHT. Dieser Eintrag gehört zur Hardware-Uhr und muss nicht geändert werden, um für eine Instance eine andere Zeitzone einzustellen.

    3. Speichern Sie die Datei und schließen Sie den Texteditor.

  3. Erstellen Sie eine symbolische Verknüpfung zwischen /etc/localtime und der Zeitzonendatei, damit die Instance die Zeitzonendatei beim Abrufen der Ortszeit findet.

    [ec2-user ~]$ sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
  4. Starten Sie das System neu, damit alle Services und Anwendungen die neuen Zeitzoneninformationen erhalten.

    [ec2-user ~]$ sudo reboot