Configurazione del rifermento temporale sull'istanza EC2 per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione del rifermento temporale sull'istanza EC2 per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale

Il servizio di sincronizzazione oraria di Amazon locale utilizza il Network Time Protocol (NTP) o fornisce un orologio hardware locale Precision Time Protocol (PTP) sulle istanze supportate. L'orologio hardware PTP supporta una connessione NTP (istanze Linux e Windows) o una connessione PTP diretta (solo istanze Linux). Le connessioni NTP e PTP dirette utilizzano la stessa sorgente temporale estremamente precisa, ma la connessione PTP diretta è più accurata della connessione NTP. La connessione NTP al servizio di sincronizzazione oraria di Amazon supporta il leap smearing, mentre la connessione PTP al clock hardware PTP non spalma i tempi. Per ulteriori informazioni, consulta Secondi intercalari.

Le tue istanze possono accedere al servizio di sincronizzazione oraria di Amazon locale nel modo seguente:

  • Tramite NTP nei seguenti endpoint di indirizzi IP:

  • (Solo Linux) Tramite una connessione PTP diretta per la connessione a un orologio hardware PTP locale:

    • PHC0

le AMI Amazon Linux, le AMI Windows e la maggior parte delle AMI dei partner configurano l'istanza per utilizzare l'endpoint NTP IPv4 come impostazione predefinita. Questa è l'impostazione consigliata per la maggior parte dei carichi di lavoro dei clienti. Non sono necessarie ulteriori configurazioni per le istanze avviate da queste AMI, a meno che non si desideri utilizzare l'endpoint IPv6 o connettersi direttamente al clock hardware PTP.

Le connessioni NTP e PTP non richiedono alcuna modifica alla configurazione del VPC e l'istanza non richiede l'accesso a Internet.

Considerazioni
  • Esiste un limite di 1024 pacchetti al secondo (PPS) per i servizi che utilizzano indirizzi link-local. Questo limite include l'aggregato di query DNS del risolutore Route 53, richieste del servizio di metadati di istanza (IMDS), richieste Network Time Protocol (NTP) del servizio orario di Amazon e richieste Windows Licensing Service (per istanze basate su Microsoft Windows).

  • Solo le istanze Linux possono utilizzare una connessione PTP diretta per la connessione a un orologio hardware PTP locale. Le istanze Windows utilizzano NTP per connettersi all'orologio hardware PTP locale.

Connessione all'endpoint IPv4 del servizio di sincronizzazione oraria di Amazon

Il tuo AMI potrebbe aver già configurato il servizio di sincronizzazione oraria di Amazon per impostazione predefinita. In caso contrario, utilizza le seguenti procedure per configurare l’istanza per l’utilizzo del servizio di sincronizzazione oraria di Amazon locale tramite l’endpoint IPv4.

Per assistenza nella risoluzione dei problemi, consulta Troubleshoot NTP synchronization issues on Linux instances o Risoluzione dei problemi di impostazione dell’ora sulle istanze Windows.

Amazon Linux

AL2023 e le recenti versioni di Amazon Linux 2 sono configurati per utilizzare l’endpoint IPv4 del servizio di sincronizzazione oraria di Amazon per impostazione predefinita. Se confermi che l’istanza è già configurata, puoi ignorare la seguente procedura.

Per verificare che chrony sia configurato per l’utilizzo dell’endpoint IPv4

Esegui il comando seguente. Nell’output, la riga che inizia con ^* indica l’origine di orario preferita.

chronyc sources -v | grep -F ^* ^* 169.254.169.123 3 4 377 14 +12us[+9653ns] +/- 290us
Per configurare chrony per collegarlo all’endpoint IPv4 su versioni precedenti di Amazon Linux 2
  1. Connetti l'istanza e disinstalla il servizio NTP.

    [ec2-user ~]$ sudo yum erase 'ntp*'
  2. Installare il pacchetto chrony.

    [ec2-user ~]$ sudo yum install chrony
  3. Aprire il file /etc/chrony.conf tramite un editor di testo (ad esempio vim o nano). Aggiungi la riga seguente prima di qualsiasi altra istruzione server o pool già presente nel file, quindi salva le modifiche:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  4. Avvia di nuovo il daemon chrony (chronyd).

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

    In RHEL e CentOS (fino alla versione 6), il nome del servizio è chrony anziché chronyd.

  5. Per configurare chronyd in modo da avviarlo a ogni avvio del sistema, utilizza il comando chkconfig.

    [ec2-user ~]$ sudo chkconfig chronyd on
  6. Verifica che chrony utilizzi l'endpoint IPv4 169.254.169.123 per sincronizzare l'orario.

    [ec2-user ~]$ chronyc sources -v | grep -F ^*

    Nell’output, ^* indica l’origine temporale preferita.

    ^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us
  7. Verifica i parametri di sincronizzazione dell'orario indicati da chrony.

    [ec2-user ~]$ chronyc tracking
    Reference ID : A9FEA97B (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed Nov 22 13:18:34 2017 System time : 0.000000626 seconds slow of NTP time Last offset : +0.002852759 seconds RMS offset : 0.002852759 seconds Frequency : 1.187 ppm fast Residual freq : +0.020 ppm Skew : 24.388 ppm Root delay : 0.000504752 seconds Root dispersion : 0.001112565 seconds Update interval : 64.4 seconds Leap status : Normal
Ubuntu
Per configurare chrony per collegarlo all’endpoint IPv4 su Ubuntu
  1. Connettiti all'istanza e utilizza apt per installare il pacchetto chrony.

    ubuntu:~$ sudo apt install chrony
    Nota

    Se necessario, prima aggiorna l'istanza eseguendo sudo apt update.

  2. Aprire il file /etc/chrony/chrony.conf tramite un editor di testo (ad esempio vim o nano). Aggiungi la riga seguente prima di qualsiasi altra istruzione server o pool già presente nel file, quindi salva le modifiche:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  3. Riavvia il servizio chrony.

    ubuntu:~$ sudo /etc/init.d/chrony restart
    Restarting chrony (via systemctl): chrony.service.
  4. Verifica che chrony utilizzi l'endpoint IPv4 169.254.169.123 per sincronizzare l'orario.

    ubuntu:~$ chronyc sources -v | grep -F ^*

    Nell’output, la riga che inizia con ^* indica l’origine di orario preferita.

    ^* 169.254.169.123 3 6 17 12 +15us[ +57us] +/- 320us
  5. Verifica i parametri di sincronizzazione dell'orario indicati da chrony.

    ubuntu:~$ chronyc tracking
    Reference ID : 169.254.169.123 (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed Nov 29 07:41:57 2017 System time : 0.000000011 seconds slow of NTP time Last offset : +0.000041659 seconds RMS offset : 0.000041659 seconds Frequency : 10.141 ppm slow Residual freq : +7.557 ppm Skew : 2.329 ppm Root delay : 0.000544 seconds Root dispersion : 0.000631 seconds Update interval : 2.0 seconds Leap status : Normal
SUSE Linux

A partire da SUSE Linux Enterprise Server 15, chrony è l'implementazione predefinita di NTP.

Per configurare chrony per collegarlo a un endpoint IPv4 su SUSE Linux
  1. Aprire il file /etc/chrony.conf tramite un editor di testo (ad esempio vim o nano).

  2. Verificare che il file contenga la riga seguente:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

    Aggiungere questa riga se non è presente.

  3. Commentare le altre righe del server o del pool.

  4. Apri YaST e abilita il servizio chrony.

Windows

A partire dal rilascio di agosto 2018, le AMI di Windows utilizzano Amazon Time Sync Service per impostazione predefinita. Non è richiesta alcuna ulteriore configurazione per le istanze avviate da queste AMI ed è possibile saltare le seguenti procedure.

Se utilizzi un'AMI che non ha il servizio di sincronizzazione oraria di Amazon configurato per impostazione predefinita, verifica innanzitutto la configurazione NTP corrente. Se la tua istanza utilizza già l'endpoint IPv4 del servizio di sincronizzazione oraria di Amazon, non è richiesta alcuna ulteriore configurazione. Se la tua istanza non utilizza il servizio di sincronizzazione oraria di Amazon, completa la procedura per modificare il server NTP in modo da utilizzare il servizio.

Per verificare la configurazione di NTP
  1. Dall'istanza, aprire una finestra del prompt dei comandi.

  2. Ottenere la configurazione attuale di NTP digitando il comando seguente:

    w32tm /query /configuration

    Questo comando restituisce le impostazioni della configurazione corrente dell'istanza Windows e mostra se sei connesso al servizio di sincronizzazione oraria di Amazon.

  3. (Opzionale) Ottenere lo stato della configurazione attuale digitando il comando seguente:

    w32tm /query /status

    Questo comando restituisce informazioni come l'ultima sincronizzazione dell'istanza con il server NTP e l'intervallo di polling.

Modifica del server NTP per l'utilizzo di Amazon Time Sync Service
  1. Dalla finestra del prompt dei comandi, esegui il comando seguente:

    w32tm /config /manualpeerlist:169.254.169.123 /syncfromflags:manual /update
  2. Verificare le nuove impostazioni tramite il comando seguente:

    w32tm /query /configuration

    Nell'output restituito, verifica che NtpServer visualizzi l'endpoint IPv4 169.254.169.123.

Impostazioni NTP predefinite per le AMI Windows Amazon

Le Amazon Machine Image (AMI) aderiscono generalmente alle impostazioni predefinite, ad eccezione dei casi in cui è necessario apportare modifiche alla funzione sull'infrastruttura EC2. Le impostazioni seguenti sono state stabilite per il corretto funzionamento in un ambiente virtuale, nonché per mantenere qualsiasi scostamento dell'orologio entro un secondo di accuratezza:

  • Intervallo di aggiornamento: gestisce la frequenza con cui il servizio orario regolerà il tempo di sistema in base alla precisione. AWS configura l'intervallo di aggiornamento in modo che si verifichi una volta ogni due minuti.

  • Server NTP: a partire dalla versione di agosto 2018, le AMI utilizzeranno il servizio di sincronizzazione oraria di Amazon per impostazione predefinita. Questo servizio orario è accessibile da qualsiasi regione Regione AWS sull'endpoint IPv4 169.254.169.123. Inoltre, il flag 0x9 indica che il servizio ora funziona da client e indica di utilizzare SpecialPollInterval per stabilire la frequenza di check-in nel server di riferimento ora configurato.

  • Type – "NTP" indica che il servizio funzionerà come client NTP standalone invece che come parte di un dominio.

  • Abilitato e InputProvider: il servizio ora è abilitato e fornisce l'ora al sistema operativo.

  • Intervallo di polling speciale: esegue controlli a fronte del server NTP configurato ogni 900 secondi (15 minuti).

Percorso Registro di sistema Nome chiave Dati

HKLM:\System\CurrentControlSet\services\w32time\Config

UpdateInterval

120

HKLM:\System\CurrentControlSet\services\w32time\Parameters

NtpServer

169.254.169.123,0x9

HKLM:\System\CurrentControlSet\services\w32time\Parameters

Tipo

NTP

HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient

Abilitato

1

HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient

InputProvider

1

HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient

SpecialPollInterval

900

Connessione all'endpoint IPv6 del servizio di sincronizzazione oraria di Amazon

In questa sezione viene descritto come differisce la procedura riportata in Connessione all'endpoint IPv4 del servizio di sincronizzazione oraria di Amazon nel caso della configurazione dell'istanza per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale tramite l'endpoint IPv6. Non viene illustrato l'intero processo di configurazione di Amazon Time Sync Service.

L'endpoint IPv6 è accessibile solo su istanze basate su Nitro.

Non è consigliabile utilizzare le voci di endpoint IPv4 e IPv6 insieme. I pacchetti NTP IPv4 e IPv6 provengono dallo stesso server locale per l'istanza. La configurazione degli endpoint IPv4 e IPv6 non è necessaria e non migliorerà la precisione dell'ora sull'istanza.

Linux

A seconda della distribuzione Linux utilizzata, quando raggiungi il passaggio per modificare il file chrony.conf, utilizzerai l’endpoint IPv6 del servizio di sincronizzazione oraria di Amazon (fd00:ec2::123) piuttosto che l’endpoint IPv4 (169.254.169.123):

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

Salva il file e verifica che chrony utilizzi l’endpoint IPv6 fd00:ec2::123 per sincronizzare l’orario:

[ec2-user ~]$ chronyc sources -v

Nell'output, se compare l'endpoint IPv6 fd00:ec2::123, la configurazione è completa.

Windows

Quando raggiungi il passaggio per modificare il server NTP in modo da utilizzare il servizio di sincronizzazione oraria di Amazon, utilizzerai l'endpoint IPv6 del servizio di sincronizzazione oraria di Amazon (fd00:ec2::123) piuttosto che l'endpoint IPv4 (169.254.169.123):

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

Verifica che le nuove impostazioni utilizzino l'endpoint IPv6 fd00:ec2::123 per sincronizzare l'ora:

w32tm /query /configuration

nell'output, verifica che NtpServer visualizzi l'endpoint IPv6 fd00:ec2::123.

Connect all'orologio hardware PTP

L'orologio hardware PTP fa parte del sistema Nitro AWS, quindi è direttamente accessibile sulle istanze EC2 bare metal e virtualizzate supportate senza utilizzare le risorse del cliente.

Gli endpoint NTP sull'orologio hardware PTP sono gli stessi del normale servizio di sincronizzazione oraria di Amazon. Se l'istanza ha un orologio hardware PTP e hai configurato la connessione NTP (all'endpoint IPv4 o IPv6), l'ora dell'istanza viene automaticamente ricavata dall'orologio hardware PTP sull'NTP.

Per le istanze Linux, puoi configurare una connessione PTP diretta, che ti fornirà un orario più preciso rispetto alla connessione NTP. Le istanze Windows supportano solo una connessione NTP all'orologio hardware PTP.

Requisiti

Il clock hardware PTP è disponibile su un'istanza quando vengono soddisfatti i seguenti requisiti:

  • Regioni AWS supportate: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Asia Pacifico (Thailandia), Asia Pacifico (Tokyo) ed Europa (Stoccolma)

  • Zone locali supportate: Stati Uniti orientali (New York)

  • Famiglie di istanza supportate:

    • Uso generico: M7a, M7g, M7i

    • Memoria ottimizzata: R7a, R7g, R7i

    • Archiviazione ottimizzata: I8g, I8ge

  • (Solo linux) Driver ENA versione 2.10.0 o successiva installato su un sistema operativo supportato. Per ulteriori informazioni sui sistemi operativi supportati, consulta i prerequisiti dei driver su GitHub.

In questa sezione viene descritto come configurare l'istanza Linux per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale tramite l'orologio hardware PTP mediante una connessione PTP diretta. Richiede l'aggiunta di una voce del server per l'orologio hardware PTP al file di configurazione di chrony.

Configurazione di una connessione PTP diretta all'orologio hardware PTP (solo istanze Linux)
  1. Prerequisiti di installazione

    Connettiti alla tua istanza Linux ed esegui le operazioni descritte di seguito:

    1. Installa il driver del kernel Linux per l'Adattatore elastico di rete (ENA) versione 2.10.0 o successiva.

    2. Abilita l'orologio hardware PTP.

    Per le istruzioni di installazione, consulta Driver del kernel Linux per la famiglia dell'Adattatore elastico di rete (ENA) su GitHub.

  2. Verifica il dispositivo ENA PTP

    Verifica che il dispositivo dell’orologio hardware ENA PTP sia presente sulla tua istanza.

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

    Output previsto

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

    Dove:

    • index è l’indice dell’orologio hardware PTP registrato nel kernel.

    • PCI slot è lo slot PCI del controller Ethernet ENA. Si tratta dello stesso slot mostrato in lspci | grep ENA.

    Output di esempio

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

    Se ena-ptp-<PCI slot> non è presente nell'output, significa che il driver ENA non è stato installato correttamente. Rivedi il passaggio 1 di questa procedura per l'installazione del driver.

  3. Configurazione di collegamento simbolico PTP

    Tipicamente, i dispositivi PTP sono denominati /dev/ptp0, /dev/ptp1 e così via, e il loro indice dipende dall’ordine di inizializzazione dell’hardware. La creazione di un collegamento simbolico garantisce che applicazioni come chrony facciano costantemente riferimento al dispositivo corretto, indipendentemente dalle modifiche all’indice.

    Le ultime AMI Amazon Linux 2023 includono una regola udev che crea il collegamento simbolico /dev/ptp_ena, che punta alla voce /dev/ptp corretta associata all’host ENA.

    Innanzitutto verifica se il collegamento simbolico è presente eseguendo il comando seguente.

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

    Output di esempio

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

    Dove:

    • /dev/ptp<index> è il percorso del dispositivo PTP.

    • /dev/ptp_ena è il collegamento simbolico costante, che punta allo stesso dispositivo PTP.

     

    Se il collegamento simbolico /dev/ptp_ena è presente, passa al passaggio 4 di questa procedura. Se manca, effettua quanto segue:

    1. Aggiungi la seguente regola udev.

      [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. Ricarica la regola udev, riavviando l’istanza o eseguendo il comando seguente.

      [ec2-user ~]$ sudo udevadm control --reload-rules && udevadm trigger
  4. Configurazione di chrony

    chrony deve essere configurato per utilizzare il collegamento simbolico /dev/ptp_ena, invece di fare riferimento direttamente/dev/ptp<index>.

    1. Modifica /etc/chrony.conf con un editor di testo e aggiungi la seguente riga in qualsiasi punto del file.

      refclock PHC /dev/ptp_ena poll 0 delay 0.000010 prefer
    2. Riavvia chrony.

      [ec2-user ~]$ sudo systemctl restart chronyd
  5. Verifica della configurazione di chrony

    Verifica che chrony stia utilizzando il clock hardware PTP per sincronizzare l'ora su questa istanza.

    [ec2-user ~]$ chronyc sources

    Output previsto

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

    Nell'output restituito, * indica la fonte dell'ora preferita. PHC0 corrisponde al clock hardware PTP. Potrebbe essere necessario attendere qualche secondo dopo il riavvio di chrony per la visualizzazione dell'asterisco.