View a markdown version of this page

Die Zeitreferenz auf Ihrer EC2 Instance so einstellen, dass der lokale Amazon Time Sync Service verwendet wird - 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.

Die Zeitreferenz auf Ihrer EC2 Instance so einstellen, dass der lokale Amazon Time Sync Service verwendet wird

Der Amazon Time Sync Service bietet verschiedene Methoden für die Synchronisierung Ihrer Amazon EC2 EC2-Instance mit einer lokalen Zeitquelle. Erstens kann jede Amazon EC2 EC2-Instance eine lokale Zeitquelle über das Network Time Protocol (NTP) erreichen. Darüber hinaus bietet der erweiterte Amazon Time Sync Service genauere Lokalzeitquellen für unterstützte Amazon EC2 EC2-Instances. Starten Sie Ihre unterstützte Instance in einer Platzierungsgruppe mit der precision-time Strategie, eine NTP-Quelle mit höherer Genauigkeit zu erreichen. Und schließlich haben Linux-Instances, die in einer Precision Time Placement-Gruppe gestartet werden, Zugriff auf ein PTP Hardware Clock (PHC) -Gerät und können Zeitstempel von Hardwarepaketen abrufen.

Jede Amazon EC2 EC2-Instance hat Zugriff auf die lokale NTP-Quelle. Sie können die NTP-Quelle über eine link-lokale IP-Adresse erreichen, wodurch dieser Datenverkehr auf Ihre VPC beschränkt wird, ohne dass spezifische VPC-Konfigurationsänderungen erforderlich sind. Ihr AMI hat Ihren Uhrsynchronisations-Daemon möglicherweise bereits so konfiguriert, dass er standardmäßig die lokale NTP-Quelle verwendet. Diese NTP-Quelle ist über die folgenden IP-Adressen verfügbar:

Unterstützte Amazon EC2 EC2-Instances haben Zugriff auf den erweiterten Amazon Time Sync Service. Um auf den erweiterten Amazon Time Sync Service zuzugreifen, starten Sie eine unterstützte Instance in einer Platzierungsgruppe mit der precision-time Strategie. Sie müssen Ihre Instance nicht konfigurieren, um von dieser Verbesserung zu profitieren, wenn Sie die verknüpfungslokalen NTP-IP-Adressen verwenden. Jedes Betriebssystem kann diese Erweiterung verwenden. Sie können überprüfen, ob Sie von der erweiterten NTP-Quelle profitieren, indem Sie den NTP-Client Ihrer Wahl verwenden.

Linux-based AMIs, die auf unterstützten Instance-Familien ausgeführt werden, bieten die zusätzliche Option, die Zeit von einem PHC-Gerät zu beziehen. Der ENA-Treiber macht dieses Gerät verfügbar. Sowohl die erweiterte NTP-Quelle als auch das PHC-Gerät verwenden dieselbe hochgenaue Zeitquelle. Der Zugriff auf die PHC-Zeitquelle ist optimiert, was zu einer genaueren Synchronisation Ihrer Amazon EC2 EC2-Instance führt.

Überlegungen

Greifen Sie auf den IPv4-Endpunkt des Amazon Time Sync Service zu

Ihr AMI hat den Amazon Time Sync Service möglicherweise bereits standardmäßig konfiguriert. Andernfalls verwenden Sie die folgenden Verfahren, um Ihre Instance für die Verwendung des lokalen Amazon Time Sync Service über den IPv4-Endpunkt zu konfigurieren.

Hilfe zur Behebung von Problemen finden Sie unter Fehlerbehebung bei NTP-Synchronisierungsproblemen auf Linux-Instances oder Fehlerbehebung bei Zeitproblemen auf Windows-Instances.

Amazon Linux

AL2023 und die neuesten Versionen von Amazon Linux 2 sind so konfiguriert, dass sie standardmäßig den IPv4-Endpunkt des Amazon Time Sync Service verwenden. Wenn Sie bestätigen, dass Ihre Instance bereits konfiguriert ist, können Sie das folgende Verfahren überspringen.

So überprüfen Sie, ob chrony für die Verwendung des IPv4-Endpunkts konfiguriert ist

Führen Sie den folgenden Befehl aus. In der Ausgabe, zeigt die Zeile, die mit ^* beginnt, die bevorzugte Zeitquelle.

[ec2-user ~]$ chronyc sources -v | grep -F ^*
^* 169.254.169.123 3 4 377 13 -4325ns[-9201ns] +/- 401us
So konfigurieren Sie chrony für die Verbindung mit dem IPv4-Endpunkt auf älteren Versionen von Amazon Linux 2
  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. Fügen Sie die folgende Zeile vor beliebigen anderen server- oder pool-Anweisungen ein, die bereits in der Datei vorhanden sind, und speichern Sie Ihre Änderungen:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  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 | grep -F ^*

    In der Ausgabe gibt ^* die bevorzugte Zeitquelle an.

    ^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us
  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 May 06 00:39:14 2026 System time : 0.000002191 seconds fast of NTP time Last offset : +0.000002164 seconds RMS offset : 0.000082968 seconds Frequency : 3.710 ppm slow Residual freq : +0.002 ppm Skew : 0.504 ppm Root delay : 0.000362541 seconds Root dispersion : 0.000225028 seconds Update interval : 16.1 seconds Leap status : Normal
Ubuntu
So konfigurieren Sie chrony für die Verbindung mit dem IPv4-Endpunkt unter Ubuntu
  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 | grep -F ^*

    In der Ausgabe, zeigt die Zeile, die mit ^* beginnt, die bevorzugte Zeitquelle.

    ^* 169.254.169.123 3 6 17 12 +15us[ +57us] +/- 320us
  5. Überprüfen Sie die von chrony gemeldeten Zeitsynchronisierungsmetriken.

    ubuntu:~$ chronyc tracking
    Reference ID : A9FEA97B (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed May 06 00:39:14 2026 System time : 0.000002191 seconds fast of NTP time Last offset : +0.000002164 seconds RMS offset : 0.000082968 seconds Frequency : 3.710 ppm slow Residual freq : +0.002 ppm Skew : 0.504 ppm Root delay : 0.000362541 seconds Root dispersion : 0.000225028 seconds Update interval : 16.1 seconds Leap status : Normal
SUSE Linux

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

So konfigurieren Sie chrony für die Verbindung mit dem IPv4-Endpunkt unter SUSE Linux
  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.

Windows

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.

Überprüfen Sie zunächst Ihre aktuelle NTP-Konfiguration, wenn Sie eine AMI verwenden, für die der Amazon Time Sync Service nicht standardmäßig konfiguriert ist. 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 NTP-Einstellungen für Amazon-Windows-AMIs

Amazon Machine Images (AMIs) entsprechen in der Regel den werksseitigen Standards, es sei denn, Änderungen an der Funktion der EC2-Infrastruktur sind erforderlich. 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 Abrufintervall – Fragt den konfigurierten NTP-Server alle 900 Sekunden (15 Minuten) ab.

    Anmerkung

    Für Windows Server 2025-AMIs beträgt der SpecialPollInterval Wert 1024 Sekunden statt 900 Sekunden.

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 (Windows Server 2016, 2019 und 2022) oder 1024 (Windows Server 2025)

Greifen Sie auf den IPv6-Endpunkt des Amazon Time Sync Service zu

In diesem Abschnitt erfahren Sie, inwiefern sich die unter Greifen Sie auf den IPv4-Endpunkt des Amazon Time Sync Service zu 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 Nitro-based Instances zugänglich.

Es wird nicht empfohlen, die IPv4- und 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.

Linux

Je nach der Linux-Distribution verwenden Sie, wenn Sie den Schritt zum Bearbeiten der chrony.conf-Datei 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.

Windows

Wenn Sie den Schritt erreichen, den NTP-Server für die Verwendung des Amazon Time Sync Service zu ändern, verwenden Sie den IPv6-Endpunkt des Amazon Time Sync Service (fd00:ec2::123) anstelle des IPv4-Endpunkts (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 in der Ausgabe, dass NtpServer den fd00:ec2::123-IPv6-Endpunkt anzeigt.

Greifen Sie auf den erweiterten Amazon Time Sync Service zu

Der erweiterte Amazon Time Sync Service bietet genauere Lokalzeitquellen für unterstützte Amazon EC2 EC2-Instances. Instances, die in einer Platzierungsgruppe mit einer precision-time Strategie gestartet wurden, können auf diese lokalen Quellen zugreifen. Wir empfehlen Precision Time Placement-Gruppen für Anwendungen, die eine genauere Uhrzeit entweder von der link-lokalen NTP-Quelle oder von einem PTP Hardware Clock (PHC) -Gerät auf einer Linux-Instance benötigen. Wenn Sie Instances in einer Precision Time Placement-Gruppe starten, AWS platziert Sie sie auf unterstützter Hardware mit direktem Zugriff auf hochpräzise Zeitquellen in der Infrastruktur. AWS

Wichtigste Vorteile
  • Standardmäßig verbesserte NTP-Quelle — Ihre Instance hat sofortigen Zugriff auf eine erweiterte lokale NTP-Zeitquelle, wenn Sie die verknüpfungslokalen NTP-IP-Adressen wie im vorherigen Abschnitt beschrieben verwenden.

  • Microsecond-accurate Uhrsynchronisierung — Konfigurieren Sie Ihre Amazon EC2 Linux-Instance so, dass sie ein PTP-Hardware-Clock-Gerät verwendet und eine Mikrosekunden-genaue Uhrsynchronisation erreicht.

  • Vereinfachte Bereitstellung — Die Single-Placement-Strategie stellt sicher, dass alle Instances über präzise Zeitvorgaben verfügen.

  • Zeitstempel für Hardwarepakete — Greifen Sie für Netzwerkmessungen auf niedriger Ebene auf Paket-Zeitstempel zu.

  • Keine zusätzlichen Kosten — Precision Time Placement-Gruppen sind ohne Aufpreis erhältlich.

Regeln und Einschränkungen
  • Precision Time Placement-Gruppen sind in allen AWS Handelsregionen erhältlich.

  • Precision Time Placement-Gruppen unterstützen die folgenden Amazon EC2 EC2-Instance-Familien der Generation 7 und höher:

    • Allgemeiner Zweck: M7a, M7g, M7GD, M7i M7g-flex, M8a, M8g, M7i-flex M8g-flex

    • Computeroptimiert: C7a, C7gd, C7i, C8g, C8gd C7i-flex C8g-flex

    • Speicheroptimiert: R7a, R7g, R7i, R7id, R8g, X8adez,,, X8adZs, X8aeDez,,, X8aEZ, X8az, X8G, X8ge X8adz-3tb X8adz-6tb X8aedz-3tb X8aedz-6tb

    • Speicheroptimiert: I8g, I8ge

  • Wenn Sie eine Instance in einer Precision Time Placement-Gruppe starten oder starten und nicht genügend Hardware vorhanden ist, um Zugriff auf den erweiterten Amazon Time Sync Service zu gewähren, schlägt die Anfrage fehl.

  • Wenn Sie eine Instance in einer Precision Time Placement-Gruppe beenden und dann erneut starten, läuft sie weiterhin in der Placement-Gruppe. Der Start kann jedoch fehlschlagen, wenn nicht genügend Hardware vorhanden ist, um Zugriff auf den erweiterten Amazon Time Sync Service zu gewähren.

  • Amazon EC2 fügt kontinuierlich Hardware hinzu, die den erweiterten Amazon Time Sync Service unterstützt. Wenn Ihre Anfrage aufgrund unzureichender Kapazität fehlschlägt, versuchen Sie es später erneut oder versuchen Sie es mit einer anderen Availability Zone. Weitere Informationen finden Sie unter Fehlerbehebung bei Amazon-EC2-Instances.

  • Es gelten die Regeln und Einschränkungen der Platzierungsgruppen. Weitere Informationen finden Sie unter Platzierungsgruppen für Ihre Amazon-EC2-Instances.

Erstellen Sie eine Placement-Gruppe mit genauer Zeitangabe

Sie können mithilfe der AWS CLI, der AWS Management Console oder AWS SDKs eine Precision Time Placement-Gruppe erstellen, indem Sie die precision-time Strategie angeben.

Verwenden AWS CLI

Führen Sie den folgenden Befehl aus:

aws ec2 create-placement-group \ --group-name my-precision-time-pg \ --strategy precision-time

Der Befehl gibt einen Platzierungsgruppen-ARN zurück, den Sie beim Erstellen von Kapazitätsreservierungen verwenden, und einen Gruppennamen oder eine Gruppen-ID, die Sie beim Starten von Instances und beim Verknüpfen von Platzierungsgruppen verwenden.

Starten einer -Instance

Nachdem Sie eine Precision Time Placement-Gruppe erstellt haben, geben Sie sie an, wenn Sie Instances starten, um auf den erweiterten Amazon Time Sync Service zuzugreifen:

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r7g.2xlarge \ --placement GroupId=pg-0aaa1111111111111

Überprüfen Sie den Zugriff auf den erweiterten Amazon Time Sync Service

Nachdem Sie Ihre Instance in einer Precision Time Placement-Gruppe gestartet haben, profitieren Sie von einer erweiterten NTP-Zeitquelle.

Wenn Sie beispielsweise den Chronyd-Daemon auf Ihrer Instance verwenden, können Sie überprüfen, ob die NTP-Zeitquelle jetzt als Stratum 1 bezeichnet wird und verbesserte Messwerte für die Taktgenauigkeit aufweist:

[ec2-user ~]$ chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 1 4 377 3 +3477ns[+4689ns] +/- 91us

Überprüfen Sie die von chrony gemeldeten Zeitsynchronisierungsmetriken.

[ec2-user ~]$ chronyc tracking
Reference ID : A9FEA97B (169.254.169.123) Stratum : 2 Ref time (UTC) : Wed May 06 01:33:43 2026 System time : 0.000000276 seconds fast of NTP time Last offset : +0.000000331 seconds RMS offset : 0.000001929 seconds Frequency : 2.870 ppm fast Residual freq : +0.000 ppm Skew : 0.031 ppm Root delay : 0.000107584 seconds Root dispersion : 0.000036476 seconds Update interval : 16.2 seconds Leap status : Normal

Greifen Sie auf die PTP-Hardware-Uhr (PHC) zu

Die PTP-Hardware-Uhr (PHC) ist Teil des Nitro-Systems.AWS Es ist direkt auf unterstützten Bare-Metal- und virtualisierten Amazon EC2 EC2-Instances zugänglich, die in einer Precision Time Placement-Gruppe gestartet wurden. Auf das PHC-Gerät kann derzeit nur auf Linux-Instances zugegriffen werden. In den folgenden Abschnitten wird beschrieben, wie Sie das PHC-Gerät auf Ihrer Linux-Instance einrichten und verifizieren.

Voraussetzungen

  • Installation der ENA-Treiberversion 2.10.0 (oder höher) für ein unterstütztes Betriebssystem.

  • Eine Amazon EC2 EC2-Instance, auf der Linux ausgeführt wird. Weitere Informationen zu unterstützten Betriebssystemen finden Sie in den Treibervoraussetzungen unter GitHub.

  • Eine Amazon EC2 EC2-Instance, die in einer Precision Time Placement-Gruppe gestartet wurde (sieheGreifen Sie auf den erweiterten Amazon Time Sync Service zu).

Anmerkung

Der erweiterte Amazon Time Sync Service und das PHC-Gerät bleiben in den folgenden Regionen und für die jeweiligen Instance-Familien auch ohne eine Precision Time Placement-Gruppe zugänglich. Für ein optimales Erlebnis empfehlen wir, Amazon EC2 EC2-Instances stattdessen in Precision Placement-Gruppen zu starten.

  • Legacy-Zugriff unterstützt AWS-Regionen: USA Ost (Nord-Virginia), USA Ost (Ohio), Asien-Pazifik (Malaysia), Asien-Pazifik (Thailand), Asien-Pazifik (Tokio) und Europa (Stockholm)

  • Unterstützte Local Zones mit Legacy-Zugriff: USA Ost (New York City)

  • Von Legacy Access unterstützte Instance-Familien:

    • Allzweck: M7a, M7g, M7i

    • Arbeitsspeicheroptimiert: R7a, R7g, R7i

    • Speicheroptimiert: I8g, I8ge

Kompilieren und aktivieren Sie den ENA-Treiber mit PHC-Unterstützung

Lesen Sie immer die neuesten Anweisungen der neuesten Elastic Network Adapter (ENA) -Treiberversion in der ENA-Treiberdokumentation unter GitHub, um spezifische Informationen zu Ihrem Betriebssystem zu erhalten. Im Folgenden finden Sie eine Übersicht der Schritte für Amazon Linux.

Bevor Sie beginnen, stellen Sie sicher, dass Ihre Instance die Anforderungen erfülltVoraussetzungen.

Um den ENA-Treiber mit PHC-Unterstützung zu kompilieren und zu aktivieren
  1. Installieren Sie die erforderlichen Komponenten.

    [ec2-user ~]$ sudo yum update [ec2-user ~]$ sudo yum install kernel-devel-$(uname -r) git [ec2-user ~]$ sudo reboot
  2. Laden Sie das erforderliche ptp-Modul.

    [ec2-user ~]$ sudo modprobe ptp
  3. Rufen Sie die neueste ENA-Treiberversion ab (Version 2.10.0 oder höher).

    [ec2-user ~]$ git clone https://github.com/amzn/amzn-drivers.git /tmp/amzn-drivers
  4. Erstellen Sie den ENA-Treiber ena.ko mit PHC-Unterstützung.

    [ec2-user ~]$ cd /tmp/amzn-drivers/kernel/linux/ena [ec2-user ~]$ ENA_PHC_INCLUDE=1 make
  5. Laden Sie den ENA-Treiber neu und aktivieren Sie das PHC-Gerät.

    [ec2-user ~]$ sudo rmmod ena && sudo insmod ena.ko phc_enable=1
  6. Stellen Sie sicher, dass der geladene ENA-Treiber PHC-Unterstützung bietet.

    [ec2-user ~]$ modinfo ena | grep -E "phc_enable"
    parm: phc_enable:Enable PHC.
  7. Stellen Sie sicher, dass die PHC-Unterstützung mit dem ENA-Treiber aktiviert ist.

    [ec2-user ~]$ cat /sys/module/ena/parameters/phc_enable
    1

Anweisungen zur Installation des Treibers und zur Aktivierung der Option phc_enable beim Neustart finden Sie in der README-Datei des ENA-Treibers. GitHub

Überprüfen Sie die PTP-Gerätekonfiguration

Vergewissern Sie sich, dass das ENA-PTP-Hardware-Uhr-Gerät in Ihrer Instance angezeigt wird.

[ec2-user ~]$ for file in /sys/class/ptp/*; do echo -n "$file: "; cat "$file/clock_name"; done

Erwartete Ausgabe

/sys/class/ptp/ptp<index>: ena-ptp-<PCI slot>

Wobei Folgendes gilt:

  • index ist der im Kernel registrierte Index für die PTP-Hardware-Uhr.

  • PCI slot ist der PCI-Steckplatz des ENA-Ethernet-Controllers. Dies ist derselbe Steckplatz wie unter lspci | grep ENA gezeigt.

Beispielausgabe

/sys/class/ptp/ptp0: ena-ptp-05

Sollte ena-ptp-<PCI slot> nicht in der Ausgabe enthalten sein, wurde der ENA-Treiber nicht korrekt installiert. Überprüfen Sie die Schritte unterKompilieren und aktivieren Sie den ENA-Treiber mit PHC-Unterstützung.

PTP-Geräte werden normalerweise /dev/ptp0, /dev/ptp1 usw. benannt, wobei ihr Index von der Reihenfolge der Hardware-Initialisierung abhängt. Durch das Erstellen eines Symlinks wird sichergestellt, dass Anwendungen wie chrony unabhängig von Indexänderungen konsistent auf das richtige Gerät verweisen.

Die neuesten AMIs von Amazon Linux 2023 enthalten eine udev-Regel, die den Symlink /dev/ptp_ena erstellt und auf den richtigen /dev/ptp-Eintrag verweist, der dem ENA-Host zugeordnet ist.

Überprüfen Sie zunächst, ob der Symlink vorhanden ist, indem Sie den folgenden Befehl ausführen.

[ec2-user ~]$ ls -l /dev/ptp*

Beispielausgabe

crw------- 1 root root 245, 0 Jan 31 2025 /dev/ptp0 lrwxrwxrwx 1 root root 4 Jan 31 2025 /dev/ptp_ena -> ptp0

Wobei Folgendes gilt:

  • /dev/ptp<index> ist der Pfad zum PTP-Gerät.

  • /dev/ptp_ena ist der konstante Symlink, der auf dasselbe PTP-Gerät zeigt.

Wenn der /dev/ptp_ena Symlink vorhanden ist, fahren Sie mit fort. Konfigurieren Sie den Chronyd-Daemon so, dass er das PHC-Gerät verwendet Falls es fehlt, gehen Sie wie folgt vor:

Um den PTP-Symlink zu erstellen
  1. Fügen Sie die folgende udev-Regel hinzu.

    [ec2-user ~]$ echo "SUBSYSTEM==\"ptp\", ATTR{clock_name}==\"ena-ptp-*\", SYMLINK += \"ptp_ena\"" | sudo tee -a /etc/udev/rules.d/53-ec2-network-interfaces.rules
  2. Laden Sie die udev-Regel neu, indem Sie entweder die Instance neu starten oder den folgenden Befehl ausführen.

    [ec2-user ~]$ sudo udevadm control --reload-rules && sudo udevadm trigger

Konfigurieren Sie den Chronyd-Daemon so, dass er das PHC-Gerät verwendet

Der Chronyd Clock Synchronization Daemon muss so konfiguriert sein, dass er das PHC-Gerät als zusätzliche Zeitquelle verwendet, wobei der Symlink zur Identifizierung des Geräts verwendet wird/dev/ptp_ena.

Um den Chronyd-Daemon für die Verwendung des PHC-Geräts zu konfigurieren
  1. Bearbeiten Sie /etc/chrony.conf mit einem Texteditor und fügen Sie die folgende Zeile hinzu:

    refclock PHC /dev/ptp_ena poll 0 delay 0.000010 prefer
  2. Starten Sie chrony erneut.

    [ec2-user ~]$ sudo systemctl restart chronyd
  3. Stellen Sie sicher, dass Chrony die PTP-Hardware-Uhr verwendet. Das PHC0-Gerät muss die bevorzugte Zeitquelle mit einem Stratum 0-Wert sein. Die lokale NTP-Zeitquelle (falls konfiguriert) muss einen Stratum 1-Wert haben.

    [ec2-user ~]$ chronyc sources
    MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #* PHC0 0 0 377 0 +184ns[ +198ns] +/- 5032ns ^- 169.254.169.123 1 4 377 8 -18us[ -18us] +/- 115us

Überprüfen Sie die Zeitstempelung der Hardwarepakete

Der ENA-Treiber, der mit der PHC-Unterstützung geladen ist, bietet Zugriff auf die Zeitstempelung von Hardwarepaketen. Mithilfe des Befehls können Sie überprüfen, ob diese Funktionalität unterstützt wird. ethtool -T interface

Weitere Informationen zur Verwendung von Hardware-Zeitstempeln für Pakete finden Sie in der Linux-Dokumentation zu Paket-Zeitstempeln.

[ec2-user ~]$ sudo ethtool -T ens5
Time stamping parameters for ens5: Capabilities: software-transmit hardware-receive software-receive software-system-clock PTP Hardware Clock: 0 Hardware Transmit Timestamp Modes: none Hardware Receive Filter Modes: none all

Wenn die Ausgabe hardware-receive in der Capabilities-Liste angezeigt wird, ist Hardware-Paket-Timestamping auf Ihrer Instance verfügbar.