Festlegen der Zeit für Ihre Linux-Instance - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Festlegen der Zeit für Ihre Linux-Instance

Eine konsistente und korrekte Zeitreferenz in Ihrer Linux-Instance ist für viele Serveraufgaben und -prozesse unerlässlich. Zeitstempel in Systemprotokollen sind wichtig, um den Zeitpunkt, zu dem Probleme aufgetreten sind, sowie die chronologische Reihenfolge von Ereignissen zu ermitteln. Wenn Sie das AWS CLI oder ein AWS SDK verwenden, um Anfragen von Ihrer Instance aus zu stellen, signieren diese Tools Anfragen in Ihrem Namen. Wenn die Datums- und Uhrzeiteinstellungen Ihrer Instance falsch sind, kann dies zu einer Diskrepanz zwischen dem Datum in der Signatur und dem Datum der Anfrage führen, was zur AWS Ablehnung Ihrer Anfragen führen kann.

Für diesen wichtigen Aspekt stellt Amazon den Amazon Time Sync Service bereit, der über alle EC2-Instances zugänglich ist und von verschiedenen AWS-Services verwendet. Der Service verwendet jeweils eine Flotte von satellitengestützten und atomaren Referenzuhren, AWS-Region um genaue und aktuelle Zeitwerte des globalen Standards Coordinated Universal Time (UTC) zu liefern.

Der Amazon Time Sync Service verwendet entweder das Network Time Protocol (NTP) oder stellt in unterstützten Instances eine lokale Precision Time Protocol (PTP)-Hardware-Uhr bereit. Die PTP-Hardware-Uhr unterstützt entweder NTP oder eine direkte PTP-Verbindung. Die NTP-Verbindung und die direkte PTP-Verbindung verwenden zwar die gleiche hochpräzise Zeitquelle, die direkte PTP-Verbindung ist jedoch genauer als die NTP-Verbindung. Die NTP-Verbindung mit dem Amazon Time Sync Service unterstützt „Leap Smearing“ (Aufteilung von Schaltsekunden). Bei der PTP-Verbindung mit der PTP-Hardware-Uhr gibt es dagegen keine zeitliche Verwischung. Weitere Informationen finden Sie unter Schaltsekunden.

Der öffentliche Amazon Time Sync Service unter time.aws.com kann als Ausweichlösung für den lokalen Amazon Time Sync Service in Ihrer Instance fungieren sowie verwendet werden, um Ressourcen außerhalb von Amazon EC2 mit dem Amazon Time Sync Service zu verbinden. Der öffentliche Amazon Time Sync Service teilt genau wie der lokale Amazon Time Sync Service automatisch alle Schaltsekunden auf, die der UTC hinzugefügt werden. Der öffentliche Amazon Time Sync Service wird weltweit durch unsere Flotte von satellitengestützten und atomaren Referenzuhren unterstützt. AWS-Region

Informationen für Windows-Instances finden Sie unter Festlegen der Zeit für Ihre Windows-Instance.

Festlegen der Nutzung des lokalen Amazon Time Sync Service für Ihre Instance

Ihre Instances können wie folgt auf den lokalen Amazon Time Sync Service zugreifen:

Für NTP- und PTP-Verbindungen müssen keine VPC-Konfigurationsänderungen vorgenommen werden und Ihre Instance benötigt keinen Zugriff auf das Internet.

Die PTP-Hardware-Uhr ist Teil des AWS Nitro-Systems. Daher kann in unterstützten Bare-Metal- und virtualisierten EC2-Instances direkt darauf zugegriffen werden, ohne Kundenressourcen zu beanspruchen.

Die NTP-Endpunkte für die PTP-Hardware-Uhr sind die gleichen wie bei der regulären Amazon Time Sync Service-Verbindung über IPv4 oder IPv6. Wenn Ihre Software für den NTP-Endpunkt konfiguriert ist und in einer Instance mit einer PTP-Hardware-Uhr ausgeführt wird, wird automatisch eine NTP-Verbindung mit der PTP-Hardware-Uhr hergestellt.

AL2023 und die neuesten Versionen von Amazon Linux 2 und Amazon Linux AMIs sind so konfiguriert, dass sie standardmäßig den Amazon Time Sync Service IPv4-Endpunkt verwenden. Für Instances, die von diesen AMIs aus gestartet werden, ist keine weitere Konfiguration erforderlich, es sei denn, Sie möchten den IPv6-Endpunkt verwenden oder eine direkte Verbindung mit der PTP-Hardware-Uhr herstellen. Die Konfigurationsanleitung für IPv6 finden Sie unter Herstellen einer Verbindung mit dem IPv6-Endpunkt des Amazon Time Sync Service. Die Konfigurationsanleitung für die PTP-Hardware-Uhr finden Sie unter Herstellen einer Verbindung mit der PTP-Hardware-Uhr.

Verwenden Sie eines der folgenden Verfahren, um den Amazon Time Sync Service in Ihrer Instance mithilfe des chrony-Clients zu konfigurieren, wenn Sie eine AMI verwenden, für die der Amazon Time Sync Service nicht standardmäßig konfiguriert ist.

Eine Verbindung mit dem IPv4-Endpunkt des Amazon Time Sync Service herstellen

In diesem Abschnitt erfahren Sie, wie Sie Ihre Instance für die Verwendung des lokalen Amazon Time Sync Service über den IPv4-Endpunkt konfigurieren. Hierzu muss der chrony-Konfigurationsdatei ein Servereintrag für den Amazon Time Sync Service hinzugefügt werden. In den neuesten Versionen dieser AMIs ist chrony bereits installiert und für die Verwendung des IPv4-Endpunkts des Amazon Time Sync Service konfiguriert.

Verwenden Sie die Anleitung für das Betriebssystem Ihrer Instance.

Amazon Linux
Anmerkung

Auf AL2023 und den neuesten Versionen von Amazon Linux 2 und Amazon Linux AMI ist chrony bereits installiert und für die Verwendung des Amazon Time Sync Service IPv4-Endpunkts konfiguriert. Wenn Sie eines der neuesten AMIs verwenden, können Sie dieses Verfahren überspringen.

So stellen Sie unter Amazon Linux mithilfe von chrony eine Verbindung mit dem IPv4-Endpunkt des Amazon Time Sync Service her
  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 für die Verwendung des IPv4-Endpunkts des Amazon Time Sync Service konfiguriert und 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) neu.

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

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

  5. Mithilfe des Befehls chkconfig können Sie konfigurieren, dass chronyd bei jedem Systemstart gestartet werden soll.

    [ec2-user ~]$ sudo chkconfig chronyd on
  6. Vergewissern Sie sich, dass chrony den IPv4-Endpunkt 169.254.169.123 für die Zeitsynchronisierung 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
Ubuntu
So stellen Sie unter Ubuntu mithilfe von chrony eine Verbindung mit dem IPv4-Endpunkt des Amazon Time Sync Service her
  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
    Restarting chrony (via systemctl): chrony.service.
  4. Vergewissern Sie sich, dass chrony den IPv4-Endpunkt 169.254.169.123 für die Zeitsynchronisierung 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 Ausgabe, die zurückgegeben wird, steht in der Zeile, die mit ^* beginnt, die bevorzugte Zeitquelle.

  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
SUSE Linux

Ab SUSE Linux Enterprise Server 15 ist chrony die Standardimplementierung von NTP.

So stellen Sie unter SUSE Linux mithilfe von chrony eine Verbindung mit dem IPv4-Endpunkt des Amazon Time Sync Service her
  1. Öffnen Sie die Datei /etc/chrony.conf mit einem Texteditor Ihrer Wahl, z. B. vim oder nano.

  2. Ü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.

  3. Kommentieren Sie alle anderen Server- oder Pool-Zeilen aus.

  4. Öffnen Sie yaST und aktivieren Sie den chrony-Service.

Herstellen einer Verbindung mit dem IPv6-Endpunkt des Amazon Time Sync Service

In diesem Abschnitt erfahren Sie, inwiefern sich die unter Eine Verbindung mit dem IPv4-Endpunkt des Amazon Time Sync Service herstellen beschriebenen Schritte unterscheiden, wenn Sie Ihre Instance für die Verwendung des lokalen Amazon Time Sync Service über den IPv6-Endpunkt konfigurieren. Es wird nicht der gesamte Konfigurationsprozess des Amazon Time Sync Service erklärt.

Der IPv6-Endpunkt ist nur auf Instanzen zugänglich, die auf dem Nitro-System basieren. AWS

Anmerkung

Es wird nicht empfohlen, in der Datei chrony.conf sowohl den IPv4- als auch den IPv6-Endpunkteintrag zu verwenden. Die IPv4- und IPv6-NTP-Pakete stammen von demselben lokalen Server für Ihre Instance. Das gleichzeitige Konfigurieren von IPv4- und IPv6-Endpunkten ist unnötig und führt nicht zu einer höheren Zeitgenauigkeit in Ihrer Instance.

Je nach verwendeter Linux-Verteilung verwenden Sie, wenn Sie den Schritt zum Bearbeiten der Datei chrony.conf erreichen, den IPv6-Endpunkt des Amazon Time Sync Service (fd00:ec2::123) anstelle des IPv4-Endpunkts (169.254.169.123):

server fd00:ec2::123 prefer iburst minpoll 4 maxpoll 4

Speichern Sie die Datei und vergewissern Sie sich, dass chrony den IPv6-Endpunkt fd00:ec2::123 für die Zeitsynchronisierung verwendet:

[ec2-user ~]$ chronyc sources -v

Wenn die Ausgabe den IPv6-Endpunkt fd00:ec2::123 enthält, ist die Konfiguration abgeschlossen.

Herstellen einer Verbindung mit der PTP-Hardware-Uhr

In diesem Abschnitt erfahren Sie, wie Sie Ihre Instance für die Verwendung des lokalen Amazon Time Sync Service über die PTP-Hardware-Uhr konfigurieren und dabei eine direkte PTP-Verbindung verwenden. Dazu muss der chrony-Konfigurationsdatei ein Servereintrag für die PTP-Hardware-Uhr hinzugefügt werden.

Wenn Ihre Instance über eine PTP-Hardware-Uhr verfügt und Sie die NTP-Verbindung (entweder mit dem IPv4- oder mit dem IPv6-Endpunkt) konfiguriert haben, wird Ihre Instance-Zeit automatisch von der PTP-Hardware-Uhr abgerufen. Mit den folgenden Schritten wird die direkte PTP-Verbindung konfiguriert, um eine präzisere Uhrzeit zu erhalten als bei der NTP-Verbindung.

Voraussetzungen

Die PTP-Hardware-Uhr ist in einer Instance verfügbar, wenn die folgenden Anforderungen erfüllt sind:

  • Unterstützt AWS-Regionen: USA Ost (Nord-Virginia) und Asien-Pazifik (Tokio)

  • Unterstützte Instance-Familie: R7g

  • Installation der ENA-Treiberversion 2.10.0 (oder höher) für ein unterstütztes Betriebssystem. Weitere Informationen zu unterstützten Betriebssystemen finden Sie in den Treibervoraussetzungen unter GitHub.

So stellen Sie eine Verbindung mit der PTP-Hardware-Uhr her
  1. Stellen Sie eine Verbindung mit Ihrer Instance her und installieren Sie den Linux-Kernel-Treiber für die Elastic Network Adapter (ENA)-Version 2.10.0 (oder höher). Die Installationsanweisungen finden Sie unter Linux-Kernel-Treiber für die Elastic Network Adapter (ENA) -Familie auf GitHub.

  2. Vergewissern Sie sich, dass das Gerät /dev/ptp0 in Ihrer Instance angezeigt wird.

    [ec2-user ~]$ ls /dev/ptp0

    Folgendes ist die erwartete Ausgabe: Sollte /dev/ptp0 nicht in der Ausgabe enthalten sein, wurde der ENA-Treiber nicht korrekt installiert. Informationen zum Installieren des Treibers finden Sie in Schritt 1 dieses Verfahrens.

    /dev/ptp0
  3. Bearbeiten Sie /etc/chrony.conf mithilfe eines Text-Editors und fügen Sie an einer beliebigen Stelle in der Datei die folgende Zeile hinzu.

    refclock PHC /dev/ptp0 poll 0 delay 0.000010 prefer
  4. Starten Sie chrony mithilfe des folgenden Befehls neu.

    [ec2-user ~]$ sudo systemctl restart chronyd
  5. Vergewissern Sie sich, dass chrony die PTP-Hardware-Uhr für die Zeitsynchronisierung in dieser Instance verwendet.

    [ec2-user ~]$ chronyc sources

    Erwartete Ausgabe

    MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #* PHC0 0 0 377 1 +2ns[ +1ns] +/- 5031ns

    In der zurückgegebenen Ausgabe gibt * die bevorzugte Zeitquelle an. PHC0 entspricht der PTP-Hardware-Uhr. Nach dem Neustart von chrony dauert es möglicherweise einige Sekunden, bis das Sternchen angezeigt wird.

Festlegen der Verwendung des öffentlichen Amazon Time Sync Service für Ihre Instance oder für ein beliebiges Gerät mit Internetverbindung

Sie können Ihre Instance oder ein beliebiges Gerät mit Internetverbindung (etwa Ihren lokalen Computer oder einen lokalen Server) für die Verwendung des öffentlichen Amazon Time Sync Service konfigurieren, der im Internet unter time.aws.com zur Verfügung steht. Sie können den öffentlichen Amazon Time Sync Service als Backup für den lokalen Amazon Time Sync Service verwenden und um Ressourcen außerhalb des Amazon Time Sync Service AWS zu verbinden.

Verwenden Sie je nach Betriebssystem Ihrer Instance oder Ihres Geräts eines der folgenden Verfahren, um Ihre Instance oder Ihr Gerät für die Nutzung des öffentlichen Amazon Time Sync Service zu konfigurieren.

Linux
So konfigurieren Sie Ihre Linux-Instance oder Ihr Linux-Gerät mithilfe von chrony oder ntpd für die Verwendung des öffentlichen Amazon Time Sync Service
  1. Bearbeiten Sie /etc/chrony.conf (bei Verwendung von chrony) oder /etc/ntp.conf (bei Verwendung von ntpd) mithilfe eines Text-Editors wie folgt:

    1. Entfernen Sie Zeilen, die mit server beginnen, oder kommentieren Sie sie aus (mit Ausnahme ggf. vorhandener Verbindungen mit dem lokalen Amazon Time Sync Service), damit Ihre Instance oder Ihr Gerät nicht versucht, Server mit und ohne Time Smearing gemeinsam zu verwenden.

      Wichtig

      Wenn Sie Ihre EC2-Instance so konfigurieren, dass sie eine Verbindung mit dem öffentlichen Amazon Time Sync Service herstellt, darf die folgende Zeile, die Ihre Instance für die Verbindungsherstellung mit dem lokalen Amazon Time Sync Service konfiguriert, nicht entfernt werden. Der lokale Amazon Time Sync Service stellt eine direktere Verbindung dar und bietet eine höhere Zeitgenauigkeit. Der öffentliche Amazon Time Sync Service sollte nur als Ausweichlösung verwendet werden.

      server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
    2. Fügen Sie die folgende Zeile hinzu, um eine Verbindung mit dem öffentlichen Amazon Time Sync Service herzustellen.

      pool time.aws.com iburst
  2. Starten Sie den Daemon mithilfe eines der folgenden Befehle neu.

    • chrony

      sudo service chronyd force-reload
    • ntpd

      sudo service ntp reload
macOS
So konfigurieren Sie Ihre macOS-Instance oder Ihr macOS-Gerät für die Verwendung des öffentlichen Amazon Time Sync Service
  1. Öffnen Sie Systemeinstellungen.

  2. Wählen Sie Date & Time (Datum und Uhrzeit) und dann die Registerkarte Date & Time (Datum und Uhrzeit).

  3. Um Änderungen vorzunehmen, wählen Sie das Schlosssymbol und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

  4. Geben Sie für Set date and time automatically (Datum und Uhrzeit automatisch festlegen) den Wert time.aws.com ein.

Windows
So konfigurieren Sie Ihre Windows-Instance oder Ihr Windows-Gerät für die Verwendung des öffentlichen Amazon Time Sync Service
  1. Öffnen Sie das Control Panel (Bedienfeld).

  2. Wählen Sie das Symbol für Date and Time (Datum und Uhrzeit).

  3. Wählen Sie die Registerkarte Internet Time (Internetzeit). Diese Registerkarte ist nicht verfügbar, wenn Ihr PC in eine Domain eingebunden ist. In diesem Fall synchronisiert er die Zeit mit dem Domain-Controller. Sie können den Controller für die Verwendung des öffentlichen Amazon Time Sync Service konfigurieren.

  4. Wählen Sie Change settings (Einstellungen ändern).

  5. Aktivieren Sie das Kontrollkästchen für Synchronize with an Internet time server (Mit einem Internet-Zeitserver synchronisieren).

  6. Geben Sie neben Server time.aws.com ein.

So konfigurieren Sie Ihre Windows Server-Instance oder Ihr Windows Server-Gerät für die Verwendung des öffentlichen Amazon Time Sync Service

Vergleichen von Zeitstempeln

Wenn Sie den Amazon Time Sync Service verwenden, können Sie die Zeitstempel auf Ihren Amazon EC2 EC2-Instances mit vergleichen, ClockBound um die tatsächliche Zeit eines Ereignisses zu ermitteln. ClockBoundmisst die Taktgenauigkeit Ihrer EC2-Instance und ermöglicht es Ihnen zu überprüfen, ob ein bestimmter Zeitstempel in Bezug auf die aktuelle Uhr Ihrer Instance in der Vergangenheit oder future liegt. Diese Informationen sind wertvoll, um die Reihenfolge und Konsistenz von Ereignissen und Transaktionen über EC2-Instances hinweg unabhängig vom geografischen Standort jeder Instance zu bestimmen.

ClockBound ist ein Open-Source-Daemon und eine Open-Source-Bibliothek. Weitere Informationen ClockBound, einschließlich Installationsanweisungen, finden Sie ClockBoundunter GitHub.

Bei Verwendung der direkten PTP-Verbindung mit der PTP-Hardware-Uhr unterschätzt Ihr Zeit-Daemon (beispielsweise chrony) die Zeitfehlergrenze. Das liegt daran, dass eine PTP-Hardware-Uhr im Gegensatz zu NTP nicht die richtigen Informationen zur Fehlergrenze an chrony übergibt. Folglich geht Ihr Daemon für die Zeitsynchronisierung davon aus, dass die UTC-Zeit der Uhr korrekt ist, und verwendet daher eine Fehlergrenze von 0. Zur Messung der gesamten Fehlergrenze berechnet das Nitro-System die Fehlergrenze der PTP-Hardware-Uhr und macht sie über das ENA-Treiberdateisystem sysfs für Ihre EC2-Instance verfügbar. Dies ist mithilfe des folgenden Befehls direkt als Wert in Nanosekunden lesbar:

cat /sys/devices/pci0000:00/0000:00:05.0/phc_error_bound

Die Ausgabe gibt die Zeitfehlergrenze der PTP-Hardware-Uhr in Nanosekunden an.

Um bei Verwendung der direkten PTP-Verbindung zur PTP-Hardwareuhr den korrekten Taktfehler zu berechnen, der zu einem bestimmten Zeitpunkt begrenzt ist, müssen Sie den Zeitfehler hinzufügen, der von chrony oder ClockBound zu dem Zeitpunkt, zu dem die PTP-Hardwareuhr abgerufen chrony wird, gebunden ist. Weitere Informationen zur Messung und Überwachung der Uhrgenauigkeit finden Sie unter Verwalten der Uhrgenauigkeit von Amazon EC2 EC2-Instances mithilfe von Amazon Time Sync Service und Amazon CloudWatch — Teil 1.

Ändern der Zeitzone für Ihre Instance

Amazon Linux-Instances werden standardmäßig auf die Zeitzone UTC (Coordinated Universal Time) festgelegt. Sie können die Zeit für eine Instance auf die lokale Zeitzone oder auf eine andere Zeitzone in Ihrem Netzwerk festlegen.

Wichtig

Diese Informationen gelten für Amazon Linux. Weitere Informationen zu anderen Verteilungen finden Sie in der jeweiligen Dokumentation.

So ändern Sie die Zeitzone auf einer AL2023- oder Amazon Linux 2-Instance
  1. Zeigen Sie die aktuelle Zeitzoneneinstellung des Systems an.

    [ec2-user ~]$ timedatectl
  2. Listen Sie die verfügbaren Zeitzonen auf.

    [ec2-user ~]$ timedatectl list-timezones
  3. Legen Sie die ausgewählte Zeitzone fest.

    [ec2-user ~]$ sudo timedatectl set-timezone America/Vancouver
  4. (Optional) Bestätigen Sie durch erneutes Ausführen des Befehls timedatectl, dass die aktuelle Zeitzone auf die neue Zeitzone geändert wird.

    [ec2-user ~]$ timedatectl
So ändern Sie die Zeitzone in einer Amazon-Linux-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.

  2. Aktualisieren Sie die Datei /etc/sysconfig/clock mit der neuen Zeitzone. In diesem Beispiel verwenden wir die Zeitzonendatendatei für Los Angeles, /usr/share/zoneinfo/America/Los_Angeles.

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

      [ec2-user ~]$ sudo nano /etc/sysconfig/clock
    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
  5. (Optional) Bestätigen Sie mit dem Befehl date, dass die aktuelle Zeitzone auf die neue Zeitzone aktualisiert wird. Die aktuelle Zeitzone wird in der Ausgabe angezeigt. Im folgenden Beispiel ist die aktuelle Zeitzone PDT, die sich auf die Zeitzone Los Angeles bezieht.

    [ec2-user ~]$ date Sun Aug 16 05:45:16 PDT 2020

Schaltsekunden

Schaltsekunden wurden 1972 eingeführt. Sie sind gelegentliche einsekündige Anpassungen der UTC-Zeit, um Unregelmäßigkeiten bei der Erdrotation sowie Abweichungen zwischen der Internationalen Atomzeit (TAI) und der Sonnenzeit (Ut1) Rechnung zu tragen. Um Schaltsekunden für unsere Kunden zu verwalten, haben wir die Schaltsekundenaufteilung im Rahmen des Amazon Time Sync Service entwickelt. Weitere Informationen finden Sie unter Augen auf bei der Verwendung von Schaltsekunden: Die nächste Schaltsekunde und AWS.

Schaltsekunden werden abgeschafft und wir stehen voll und ganz hinter der bei der 27. General Conference on Weights and Measures getroffenen Entscheidung, Schaltsekunden bis spätestens 2035 abzuschaffen.

Um diese Umstellung zu unterstützen, planen wir, während eines Schaltsekundenereignisses weiterhin Time Smearing einzusetzen, wenn auf den Amazon Time Sync Service über die lokale NTP-Verbindung oder über unsere öffentlichen NTP-Pools (time.aws.com) zugegriffen wird. Die PTP-Hardware-Uhr bietet jedoch keine Time Smearing-Option. Im Falle einer Schaltsekunde fügt die PTP-Hardware-Uhr die Schaltsekunde gemäß den UTC-Standards hinzu. Zeitquellen mit Leap Smearing und Zeitquellen mit Schaltsekunden sind in den meisten Fällen gleich. Da sie sich jedoch während eines Schaltsekundenereignisses unterscheiden, raten wir davon ab, während eines Schaltsekundenereignisses sowohl Zeitquellen mit Time Smearing als auch Zeitquellen ohne Time Smearing in Ihrer Zeit-Client-Konfiguration zu verwenden.