Stellen Sie die Zeit für Ihre Amazon EC2 EC2-Instance ein - 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.

Stellen Sie die Zeit für Ihre Amazon EC2 EC2-Instance ein

Eine konsistente und genaue Zeitreferenz auf Ihrer Amazon EC2 EC2-Instance ist für viele Serveraufgaben und -prozesse von entscheidender Bedeutung. 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.

Für eine optimale Leistung empfehlen wir, den lokalen Amazon Time Sync Service auf Ihren EC2-Instances zu verwenden. Für ein Backup zum lokalen Amazon Time Sync Service auf Ihren Instances und um Ressourcen außerhalb von Amazon EC2 mit dem Amazon Time Sync Service zu verbinden, können Sie den öffentlichen Amazon Time Sync Service verwenden, der sich unter time.aws.com befindet. 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

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:

Amazon Linux-AMIs, Windows-AMIs und die meisten Partner-AMIs konfigurieren Ihre Instance so, dass sie standardmäßig den NTP-IPv4-Endpunkt verwendet. Dies ist die empfohlene Einstellung für die meisten Kunden-Workloads. 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.

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

Anmerkung

Nur Linux-Instances können eine direkte PTP-Verbindung verwenden, um eine Verbindung zur lokalen PTP-Hardwareuhr herzustellen. Windows-Instanzen verwenden NTP, um eine Verbindung zur lokalen PTP-Hardwareuhr herzustellen.

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.

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

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, und Sie können das folgende Verfahren überspringen.

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. Hierzu muss der chrony-Konfigurationsdatei ein Servereintrag für den Amazon Time Sync Service hinzugefügt werden.

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

Amazon Linux
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.

Aber der Version von August 2018 nutzen Windows-AMIs den Amazon Time Sync Service standardmäßig. Für Instances, die von diesen AMIs aus gestartet werden, ist keine weitere Konfiguration erforderlich und Sie können die folgenden Verfahren überspringen.

Wenn Sie ein AMI verwenden, für das der Amazon Time Sync Service nicht standardmäßig konfiguriert ist, überprüfen Sie zunächst Ihre aktuelle NTP-Konfiguration. Wenn Ihre Instance bereits den IPv4-Endpunkt des Amazon Time Sync Service verwendet, ist keine weitere Konfiguration erforderlich. Wenn Ihre Instance den Amazon Time Sync Service nicht verwendet, schließen Sie das Verfahren ab, um den NTP-Server so zu ändern, dass er den Amazon Time Sync Service verwendet.

So überprüfen Sie die NTP-Konfiguration
  1. Öffnen Sie in Ihrer Instance ein Eingabeaufforderungsfenster.

  2. Mit folgendem Befehl zeigen Sie die derzeitige NTP-Konfiguration an:

    w32tm /query /configuration

    Dieser Befehl gibt die aktuellen Konfigurationseinstellungen für die Windows-Instance zurück und zeigt, ob eine Verbindung mit dem Amazon Time Sync Service besteht.

  3. Mit folgendem Befehl wird der Status der derzeitigen Konfiguration angezeigt (optional):

    w32tm /query /status

    Dieser Befehl gibt Informationen wie den Zeitpunkt der letzten Synchronisierung der Instance mit dem NTP-Server und das Abrufintervall zurück.

So stellen Sie den NTP-Server auf die Verwendung des Amazon Time Sync Service ein
  1. Führen Sie über das Eingabeaufforderungsfenster den folgenden Befehl aus:

    w32tm /config /manualpeerlist:169.254.169.123 /syncfromflags:manual /update
  2. Mit folgendem Befehl überprüfen Sie Ihre neuen Einstellungen:

    w32tm /query /configuration

    Vergewissern Sie sich in der zurückgegebenen Ausgabe, dass für NtpServer der IPv4-Endpunkt 169.254.169.123 angezeigt wird.

Standardmäßige Network Time Protocol (NTP)-Einstellungen für Amazon Windows-AMIs

Amazon Machine Images (AMIs) halten sich im Allgemeinen an die out-of-the-box Standardeinstellungen, außer in Fällen, in denen Änderungen erforderlich sind, um in der EC2-Infrastruktur zu funktionieren. Die folgenden Einstellungen funktionieren in einer virtualisierten Umgebung erwiesenermaßen gut. Zudem weicht die Uhrzeit nie um mehr als eine Sekunde ab:

  • Aktualisierungsintervall — Legt fest, wie oft der Zeitservice die Systemzeit an die Genauigkeit anpasst. AWS konfiguriert das Aktualisierungsintervall so, dass es alle zwei Minuten erfolgt.

  • NTP-Server: Ab dem Release vom August 2018 verwenden AMIs standardmäßig den Amazon Time Sync Service. Dieser Zeitdienst ist von jedem IPv4-Endpunkt aus zugänglich, der AWS-Region sich am 169.254.169.123 befindet. Zudem gibt das Flag 0x9 an, dass der Zeitdienst als Client fungiert und dass SpecialPollInterval verwendet werden soll, um zu ermitteln, wie häufig der Abgleich mit dem konfigurierten Zeitserver erfolgen soll.

  • Typ – „NTP“ bedeutet, dass der Service als eigenständiger NTP-Client und nicht als Teil einer Domain fungiert.

  • Aktiviert und InputProvider — Der Zeitdienst ist aktiviert und stellt dem Betriebssystem Zeit zur Verfügung.

  • Spezielles Abfrageintervall — Prüft alle 900 Sekunden (15 Minuten) den konfigurierten NTP-Server.

Registry-Pfad Tastenname Daten

HKL M:\System\\ servicesCurrentControlSet\ w32time\ Config

UpdateInterval

120

HKL M:\System\\ services\ CurrentControlSet w32time\ Parameter

NtpServer

169.254.169.123,0x9

HKL M:\System\\ services\ CurrentControlSet w32time\ Parameter

Typ

NTP

HKL M:\System\\ services\ CurrentControlSet w32time\\ TimeProviders NtpClient

Aktiviert

1

HKL M:\System\\ services\ CurrentControlSet w32time\\ TimeProviders NtpClient

InputProvider

1

HKL M:\System\\ services\ CurrentControlSet w32time\\ TimeProviders NtpClient

SpecialPollInterval

900

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.

Auf den IPv6-Endpunkt kann nur auf Instances zugegriffen werden, die auf dem Nitro-System basieren. AWS

Anmerkung

Wir empfehlen nicht, sowohl die IPv4- als auch die IPv6-Endpunkteinträge zusammen 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.

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

Je nachdem, welche Linux-Distribution Sie verwenden, verwenden Sie, wenn Sie den Schritt zur Bearbeitung der Datei chrony.conf erreichen, den IPv6-Endpunkt des Amazon Time Sync Service (fd00:ec2::123) und nicht den IPv4-Endpunkt (): 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.

Wenn Sie den Schritt erreicht haben, den NTP-Server so zu ändern, dass er den Amazon Time Sync Service verwendet, verwenden Sie den IPv6-Endpunkt des Amazon Time Sync Service (fd00:ec2::123) und nicht den IPv4-Endpunkt (): 169.254.169.123

w32tm /config /manualpeerlist:fd00:ec2::123 /syncfromflags:manual /update

Stellen Sie sicher, dass Ihre neuen Einstellungen den fd00:ec2::123 IPv6-Endpunkt zur Zeitsynchronisierung verwenden:

w32tm /query /configuration

Vergewissern Sie sich, dass in der Ausgabe der fd00:ec2::123 IPv6-Endpunkt NtpServer angezeigt wird.

Herstellen einer Verbindung mit der PTP-Hardware-Uhr

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-Hardwareuhr sind dieselben wie für den regulären Amazon Time Sync Service. Wenn Ihre Instance über eine PTP-Hardware-Uhr verfügt und Sie die NTP-Verbindung (entweder zum IPv4- oder IPv6-Endpunkt) konfiguriert haben, wird Ihre Instance-Zeit automatisch von der PTP-Hardwareuhr über NTP abgerufen.

Für Linux-Instances können Sie eine direkte PTP-Verbindung konfigurieren, wodurch Sie eine genauere Uhrzeit als die NTP-Verbindung erhalten. Windows-Instanzen unterstützen nur eine NTP-Verbindung zur PTP-Hardwareuhr.

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-Familien:

    • Allzweck: M7a, M7g, M7gd, M7i

    • Computeroptimiert: C7a, C7gd, C7i

    • Speicheroptimiert: R7a, R7g, R7gd, R7i

  • (Nur Linux) Die ENA-Treiberversion 2.10.0 oder höher ist auf einem unterstützten Betriebssystem installiert. Weitere Informationen zu unterstützten Betriebssystemen finden Sie in den Treibervoraussetzungen unter GitHub.

In diesem Abschnitt wird beschrieben, wie Sie Ihre Linux-Instance so konfigurieren, dass sie den lokalen Amazon Time Sync Service über die PTP-Hardwareuhr mithilfe einer direkten PTP-Verbindung verwendet. Dazu muss der Konfigurationsdatei ein Servereintrag für die PTP-Hardwareuhr hinzugefügt werden. chrony

Um eine direkte PTP-Verbindung zur PTP-Hardwareuhr zu konfigurieren (nur Linux-Instanzen)
  1. Connect zu Ihrer Linux-Instance her und gehen Sie wie folgt vor:

    1. Installieren Sie den Linux-Kernel-Treiber für Elastic Network Adapter (ENA) Version 2.10.0 oder höher.

    2. Aktivieren Sie die PTP-Hardware-Uhr.

    Die Installationsanweisungen finden Sie unter Linux-Kerneltreiber 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 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.

Anmerkung

Für eine optimale Leistung empfehlen wir, den lokalen Amazon Time Sync Service auf Ihren Instances zu verwenden und nur den öffentlichen Amazon Time Sync Service als Backup zu verwenden.

Verwenden Sie die Anweisungen für das Betriebssystem Ihrer Instance oder Ihres Geräts.

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

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 Sie die Zeitstempel für Ihre Linux-Instances

Wenn Sie den Amazon Time Sync Service verwenden, können Sie die Zeitstempel auf Ihren Amazon EC2 EC2-Linux-Instances mit vergleichen, ClockBound um den tatsächlichen Zeitpunkt eines Ereignisses zu ermitteln. ClockBound misst die Taktgenauigkeit Ihrer EC2-Instance und ermöglicht es Ihnen, zu überprüfen, ob ein bestimmter Zeitstempel in der Vergangenheit oder future in Bezug auf die aktuelle Uhr Ihrer Instance 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.

ClockBound wird nur für Linux-Instances unterstützt.

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. Um die vollständige Fehlergrenze zu messen, berechnet das Nitro-System die Fehlergrenze der PTP-Hardwareuhr und stellt sie Ihrer EC2-Instance über das ENA-Treiberdateisystem zur Verfügung. sysfs Sie können dies direkt als Wert in Nanosekunden ablesen.

Um den PTP-Hardware-Taktfehler abzurufen
  1. Rufen Sie zunächst mithilfe eines der folgenden Befehle den korrekten Standort der PTP-Hardware-Uhr ab. Der Pfad im Befehl unterscheidet sich je nach dem AMI, das zum Starten der Instance verwendet wurde.

    • Für Amazon Linux 2:

      cat /sys/class/net/eth0/device/uevent | grep PCI_SLOT_NAME
    • Für Amazon Linux 2023:

      cat /sys/class/net/ens5/device/uevent | grep PCI_SLOT_NAME

    Die Ausgabe ist der Name des PCI-Steckplatzes, der den Standort des PTP-Hardware-Uhrgeräts angibt. In diesem Beispiel lautet 0000:00:03.0 der Standort.

    PCI_SLOT_NAME=0000:00:03.0
  2. Führen Sie den folgenden Befehl aus, um den PTP-Hardware-Uhrfehler abzurufen. Geben Sie den Namen des PCI-Steckplatzes aus dem vorherigen Schritt an.

    cat /sys/bus/pci/devices/0000:00:03.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, müssen Sie den Zeitfehler hinzufügen, der von oder zu dem Zeitpunkt, zu dem die PTP-Hardwareuhr abgerufen wird, stammt chrony oder zu dem Zeitpunkt liegt, ClockBound zu dem die chrony PTP-Hardwareuhr abgerufen wird. 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 Sie die Zeitzone Ihrer Instance

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

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

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
So ändern Sie die Zeitzone für eine Windows-Instance
  1. Öffnen Sie in Ihrer Instance ein Eingabeaufforderungsfenster.

  2. Ermitteln Sie die Zeitzone, die in Ihrer Instance verwendet wird. Mit dem folgenden Befehl zeigen Sie eine Liste aller Zeitzonen an:

    tzutil /l

    Dieser Befehl gibt eine Liste mit allen verfügbaren Zeitzonen im folgenden Format zurück:

    display name time zone ID
  3. Ermitteln Sie die ID der Zeitzone, die Sie der Instance zuordnen möchten.

  4. Verwenden Sie für die Zuweisung zu einer anderen Zeitzone den folgenden Befehl:

    tzutil /s "Pacific Standard Time"

    Die neue Zeitzone sollte sofort übernommen werden.

Anmerkung

Die UTC-Zeitzone können Sie mithilfe des folgenden Befehls zuweisen:

tzutil /s "UTC"

Um zu verhindern, dass sich Ihre Zeitzone ändert, nachdem Sie sie für Windows Server festgelegt haben

Wenn Sie die Zeitzone für eine Windows-Instance ändern, müssen Sie sicherstellen, dass die Zeitzone bei Systemneustarts erhalten bleibt. Andernfalls ändert sich die Zeit beim Neustart einer Instance wieder in UTC. Sie können Ihre Zeitzoneneinstellung beibehalten, indem Sie einen RealTimeIsUniversal Registrierungsschlüssel hinzufügen. Dieser Schlüssel wird standardmäßig für alle Instances der aktuellen Generation festgelegt. Informationen zum Überprüfen, ob der Registrierungsschlüssel RealTimeIsUniversal festgelegt ist, finden Sie im folgenden Verfahren unter Schritt 4. Ist der Schlüssel nicht festgelegt, führen Sie die folgenden Schritte von Anfang an aus.

Um den RealTimeIsUniversal Registrierungsschlüssel festzulegen
  1. Öffnen Sie in der Instance ein Eingabeaufforderungsfenster.

  2. Verwenden Sie den folgenden Befehl, um den Registrierungsschlüssel hinzuzufügen:

    reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
  3. Wenn Sie ein Windows Server 2008-AMI (nicht Windows Server 2008 R2) verwenden, das vor dem 22. Februar 2013 erstellt wurde, empfehlen wir, auf das neueste AWS Windows-AMI zu aktualisieren. Wenn Sie ein AMI auf einem Windows Server 2008 R2 ausführen (nicht Windows Server 2008), stellen Sie sicher, dass der Microsoft-Hotfix KB2922223 installiert ist. Wenn dieser Hotfix nicht installiert ist, empfehlen wir, auf das neueste AWS Windows-AMI zu aktualisieren.

  4. Stellen Sie sicher, dass die Instance den Schlüssel erfolgreich gespeichert hat, bevor Sie folgenden Befehl ausführen (optional):

    reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /s

    Dieser Befehl gibt die Unterschlüssel für den Registrierungsschlüssel TimeZoneInformation zurück. Die Ausgabe des RealTimeIsUniversal-Schlüssels am Ende der Liste sollte ähnlich dem folgenden Beispiel aussehen:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation Bias REG_DWORD 0x1e0 DaylightBias REG_DWORD 0xffffffc4 DaylightName REG_SZ @tzres.dll,-211 DaylightStart REG_BINARY 00000300020002000000000000000000 StandardBias REG_DWORD 0x0 StandardName REG_SZ @tzres.dll,-212 StandardStart REG_BINARY 00000B00010002000000000000000000 TimeZoneKeyName REG_SZ Pacific Standard Time DynamicDaylightTimeDisabled REG_DWORD 0x0 ActiveTimeBias REG_DWORD 0x1a4 RealTimeIsUniversal REG_DWORD 0x1

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.