

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

# Sincronizzazione precisa dell'orologio e dell'ora sull'istanza EC2
<a name="set-time"></a>

Un riferimento temporale coerente e accurato sull'istanza Amazon EC2 è fondamentale per numerosi processi e attività del server. I timestamp nei log di sistema svolgono un ruolo essenziale nell'identificazione del momento in cui si sono verificati i problemi e dell'ordine cronologico degli eventi. Quando utilizzi l'SDK AWS CLI o un AWS SDK per effettuare richieste dalla tua istanza, questi strumenti firmano le richieste per tuo conto. Se le impostazioni di data e ora dell'istanza non sono accurate, può verificarsi una discrepanza tra la data riportata nella firma e la data della richiesta, con conseguente rifiuto delle richieste. AWS 

Per risolvere questo importante aspetto, Amazon offre il servizio di sincronizzazione oraria di Amazon, accessibile da tutte le istanze EC2 e utilizzabile con vari Servizi AWS. Il servizio utilizza una serie di orologi di riferimento atomici e connessi via satellite ciascuno Regione AWS per fornire letture dell'ora accurate e aggiornate dello standard globale UTC (Coordinated Universal Time).

Per prestazioni ottimali, consigliamo di utilizzare il [servizio di sincronizzazione oraria di Amazon locale](configure-ec2-ntp.md) sulle tue istanze EC2. Per eseguire un backup del servizio di sincronizzazione oraria di Amazon locale sulle tue istanze o per connettere risorse esterne ad Amazon EC2 al servizio di sincronizzazione oraria di Amazon, puoi utilizzare il [servizio di sincronizzazione oraria di Amazon pubblico](configure-time-sync.md) situato all'indirizzo `time.aws.com`. Il servizio di sincronizzazione oraria di Amazon pubblico spalma in modo automatico i secondi intercalari aggiunti all'orario UTC. Il servizio pubblico Amazon Time Sync è supportato a livello globale dalla nostra flotta di orologi di riferimento atomici e connessi via satellite in ciascuno di essi. Regione AWS

## Marcatura temporale dei pacchetti hardware
<a name="hardware-packet-timestamping"></a>

Puoi abilitare la marcatura temporale dei pacchetti hardware sull’istanza per aggiungere una marcatura temporale con precisione in nanosecondi a 64 bit a ogni pacchetto di rete in ingresso. Poiché la marcatura temporale dei pacchetti hardware avviene a livello hardware, prima che il pacchetto raggiunga il kernel, il socket o il livello dell’applicazione, si evitano i ritardi aggiunti dalla marcatura temporale del software. L’orologio di riferimento sottostante per la marcatura temporale dell’hardware è [l’orologio hardware PTP](configure-ec2-ntp.md#connect-to-the-ptp-hardware-clock) del servizio di sincronizzazione oraria di Amazon.

**Vantaggi**

La marcatura temporale dei pacchetti hardware fornisce i seguenti vantaggi:
+ Migliora l’ordinamento degli eventi, che può essere utilizzato anche per determinare l’ordine effettivo in cui i pacchetti arrivano all’istanza EC2, garantendo un’elaborazione corretta dei pacchetti.
+ Misura la latenza di rete unidirezionale.
+ Aumenta la velocità delle transazioni distribuite con maggiore precisione e accuratezza rispetto alla maggior parte delle soluzioni on-premises.

**Prerequisiti e configurazione**

Per abilitare la marcatura temporale dei pacchetti hardware, l’istanza deve soddisfare i seguenti prerequisiti:
+ Deve essere un’istanza Linux.
+ Soddisfa i [requisiti per supportare l’orologio hardware PTP](configure-ec2-ntp.md#ptp-hardware-clock-requirements).

Per le istruzioni di configurazione, consulta la pagina [Hardware Packet Timestamping](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#hardware-packet-timestamping) sul **driver del kernel Linux per la famiglia Elastic Network Adapter** (ENA) su. *GitHub*

## Secondi intercalari
<a name="leap-seconds"></a>

I secondi intercalari, introdotti nel 1972, sono regolazioni occasionali di un secondo dell'ora UTC per tenere conto delle irregolarità nella rotazione terrestre al fine di compensare le differenze tra l'ora atomica internazionale (TAI) e l'ora solare (Ut1). Per gestire i secondi intercalari per conto dei clienti, abbiamo progettato Leap Second Smearing all'interno del servizio di sincronizzazione oraria di Amazon. Per ulteriori informazioni, consulta [Guarda prima di saltare: il secondo salto in arrivo e AWS](https://aws.amazon.com/blogs/aws/look-before-you-leap-the-coming-leap-second-and-aws/).

I secondi intercalari stanno scomparendo e appoggiamo pienamente la decisione presa alla [27a conferenza generale sui pesi e le misure di abbandonare i secondi intercalari entro il 2035](https://www.bipm.org/en/cgpm-2022/resolution-4).

Per supportare questa transizione, prevediamo comunque di risparmiare tempo durante un secondo intercalare quando si accede al servizio di sincronizzazione oraria di Amazon tramite la connessione NTP locale o i nostri pool NTP pubblici (`time.aws.com`). Il clock hardware PTP, tuttavia, non offre l'opzione dei tempi spalmati. In caso di secondo intercalare, il clock hardware PTP aggiungerà il secondo intercalare secondo gli standard UTC. Le sorgenti temporali "spalmate" e "secondi intercalari" sono le stesse nella maggior parte dei casi. Tuttavia, poiché differiscono durante un evento di secondo intercalare, si sconsiglia di utilizzare contemporaneamente sorgenti temporali spalmate e non spalmate nella configurazione del client orario durante un evento di secondo intercalare.

 

**Topics**
+ [Marcatura temporale dei pacchetti hardware](#hardware-packet-timestamping)
+ [Secondi intercalari](#leap-seconds)
+ [Configurazione del rifermento temporale sull'istanza EC2 per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale](configure-ec2-ntp.md)
+ [Impostazione del riferimento temporale sull'istanza EC2 o su qualsiasi dispositivo connesso a Internet per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico](configure-time-sync.md)
+ [Confronto dei timestamp per le istanze Linux](compare-timestamps-with-clockbound.md)
+ [Modifica del fuso orario dell'istanza](change-time-zone-of-instance.md)

 

**Risorse correlate**
+ AWS Blog di Compute: [È ora: orologi accurati in microsecondi sulle istanze Amazon EC2](https://aws.amazon.com/blogs/compute/its-about-time-microsecond-accurate-clocks-on-amazon-ec2-instances/)
+ AWS Blog sulle operazioni e le migrazioni sul cloud: [Gestisci la precisione dell'orologio delle istanze Amazon EC2 utilizzando Amazon Time Sync Service e CloudWatch Amazon](https://aws.amazon.com/blogs/mt/manage-amazon-ec2-instance-clock-accuracy-using-amazon-time-sync-service-and-amazon-cloudwatch-part-1/) — Parte 1
+ (Linux) [https://chrony-project.org/](https://chrony-project.org/)

# Configurazione del rifermento temporale sull'istanza EC2 per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale
<a name="configure-ec2-ntp"></a>

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](#ptp-hardware-clock-requirements). 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](set-time.md#leap-seconds).

Le tue istanze possono accedere al servizio di sincronizzazione oraria di Amazon locale nel modo seguente:
+ Tramite NTP nei seguenti endpoint di indirizzi IP:
  + IPv4: `169.254.169.123`
  + IPv6: `fd00:ec2::123` (Accessibile solo su istanze [basate su Nitro](instance-types.md#instance-hypervisor-type))
+ (Solo Linux) Tramite una connessione PTP diretta per la connessione a un orologio hardware PTP locale:
  + `PHC0`

Amazon Linux AMIs AMIs, Windows e la maggior parte dei partner AMIs configurano l'istanza per utilizzare l' IPv4 endpoint NTP per 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 questi, AMIs a meno che non si desideri utilizzare l' IPv6 endpoint o connettersi direttamente all'orologio 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](using-instance-addressing.md#link-local-addresses). Questo limite include l'aggregato di [query DNS del risolutore Route 53](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html#vpc-dns-limits), richieste del [servizio di metadati di istanza (IMDS)](instancedata-data-retrieval.md), richieste Network Time Protocol (NTP) del servizio orario di Amazon e richieste [Windows Licensing Service](https://aws.amazon.com/windows/resources/licensing/) (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.

**Topics**
+ [Connettiti all' IPv4 endpoint del servizio Amazon Time Sync](#configure-amazon-time-service-IPv4)
+ [Connettiti all' IPv6 endpoint del servizio Amazon Time Sync](#configure-amazon-time-service-IPv6)
+ [Connect all'orologio hardware PTP](#connect-to-the-ptp-hardware-clock)

## Connettiti all' IPv4 endpoint del servizio Amazon Time Sync
<a name="configure-amazon-time-service-IPv4"></a>

Il tuo AMI potrebbe aver già configurato il servizio di sincronizzazione oraria di Amazon per impostazione predefinita. Altrimenti, utilizza le seguenti procedure per configurare l'istanza in modo che utilizzi il servizio Amazon Time Sync locale tramite l' IPv4 endpoint.

Per assistenza nella risoluzione dei problemi, consulta [Troubleshoot NTP synchronization issues on Linux instances](https://repost.aws/knowledge-center/linux-troubleshoot-ntp-synchronization) o [Risoluzione dei problemi di impostazione dell’ora sulle istanze Windows](https://repost.aws/knowledge-center/ec2-windows-time-service).

------
#### [ Amazon Linux ]

AL2023 e le versioni recenti di Amazon Linux 2 sono configurate per utilizzare l' IPv4 endpoint Amazon Time Sync Service 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**  
Eseguire il seguente 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 la connessione all' IPv4 endpoint su versioni precedenti di Amazon Linux 2**

1. Connetti l'istanza e disinstalla il servizio NTP.

   ```
   [ec2-user ~]$ sudo yum erase 'ntp*'
   ```

1. Installare il pacchetto `chrony`.

   ```
   [ec2-user ~]$ sudo yum install chrony
   ```

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

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

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

   ```
   [ec2-user ~]$ sudo chkconfig chronyd on
   ```

1. Verifica che `chrony` stia utilizzando l'`169.254.169.123` IPv4 endpoint per sincronizzare l'ora.

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

1. 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 connettersi all'endpoint su Ubuntu IPv4**

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

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

1. Riavvia il servizio `chrony`.

   ```
   ubuntu:~$ sudo /etc/init.d/chrony restart
   ```

   ```
   Restarting chrony (via systemctl): chrony.service.
   ```

1. Verifica che `chrony` stia utilizzando l'`169.254.169.123` IPv4 endpoint per sincronizzare l'ora.

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

1. 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 la connessione all' IPv4 endpoint su SUSE Linux**

1. Aprire il file `/etc/chrony.conf` tramite un editor di testo (ad esempio **vim** o **nano**).

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

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

1. Apri YaST e abilita il servizio chrony.

------
#### [ Windows ]

A partire dalla versione di agosto 2018, Windows AMIs utilizza Amazon Time Sync Service per impostazione predefinita. Non sono necessarie ulteriori configurazioni per le istanze avviate da queste AMIs e puoi 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' IPv4 endpoint di Amazon Time Sync Service, 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.

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

1. (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
   ```

1. Verificare le nuove impostazioni tramite il comando seguente:

   ```
   w32tm /query /configuration
   ```

   Nell'output restituito, verifica che venga `NtpServer` visualizzato l'`169.254.169.123` IPv4 endpoint.

**Impostazioni NTP predefinite per Amazon Windows AMIs**

Le Amazon Machine Images (AMI) generalmente rispettano le out-of-the-box impostazioni predefinite, tranne nei casi in cui sono necessarie modifiche per funzionare 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**: regola la frequenza con cui il servizio aggiusterà l'ora del 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, AMIs utilizza Amazon Time Sync Service per impostazione predefinita. Questo servizio orario è accessibile da qualsiasi endpoint Regione AWS 169.254.169.123 IPv4 . 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 orario è 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).
**Nota**  
Per Windows Server 2025 AMIs, il `SpecialPollInterval` valore è 1024 secondi anziché 900 secondi.


| Percorso Registro di sistema | Nome chiave | Dati | 
| --- | --- | --- | 
|  HKL M:\$1System\$1\$1 servicesCurrentControlSet\$1 w32time\$1 Config  |  UpdateInterval  | 120 | 
| HKL M:\$1System\$1\$1 services\$1 w32timeCurrentControlSet\$1 Parametri | NtpServer | 169.254.169.123,0x9 | 
| HKL M:\$1System\$1\$1 services\$1 w32timeCurrentControlSet\$1 Parametri | Tipo | NTP | 
| HKL M:\$1System\$1\$1 services\$1 CurrentControlSet w32time\$1\$1 TimeProviders NtpClient | Abilitato | 1 | 
| HKL M:\$1System\$1\$1 services\$1 CurrentControlSet w32time\$1\$1 TimeProviders NtpClient | InputProvider | 1 | 
| HKL M:\$1System\$1\$1 services\$1 CurrentControlSet w32time\$1\$1 TimeProviders NtpClient | SpecialPollInterval | 900 (Windows Server 2016, 2019 e 2022) o 1024 (Windows Server 2025) | 

------

## Connettiti all' IPv6 endpoint del servizio Amazon Time Sync
<a name="configure-amazon-time-service-IPv6"></a>

Questa sezione spiega in che modo i passaggi descritti [Connettiti all' IPv4 endpoint del servizio Amazon Time Sync](#configure-amazon-time-service-IPv4) differiscono se configuri l'istanza per utilizzare il servizio Amazon Time Sync locale tramite l' IPv6 endpoint. Non viene illustrato l'intero processo di configurazione di Amazon Time Sync Service.

[L' IPv6 endpoint è accessibile solo su istanze basate su Nitro.](instance-types.md#instance-hypervisor-type)

Non è consigliabile utilizzare entrambe le voci IPv4 e quelle relative all' IPv6 endpoint insieme. I pacchetti IPv4 e IPv6 NTP provengono dallo stesso server locale dell'istanza. La configurazione di entrambi gli IPv4 IPv6 endpoint non è necessaria e non migliorerà la precisione dell'ora sull'istanza.

------
#### [ Linux ]

A seconda della distribuzione Linux che stai utilizzando, quando raggiungi la fase di modifica del `chrony.conf` file, utilizzerai l' IPv6 endpoint di Amazon Time Sync Service (`fd00:ec2::123`) anziché l' IPv4 endpoint (`169.254.169.123`):

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

Salva il file e verifica che chrony stia utilizzando l'`fd00:ec2::123` IPv6 endpoint per sincronizzare l'ora: 

```
[ec2-user ~]$ chronyc sources -v
```

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

------
#### [ Windows ]

Quando raggiungi la fase di modifica del server NTP per utilizzare Amazon Time Sync Service, utilizzerai l' IPv6 endpoint di Amazon Time Sync Service (`fd00:ec2::123`) anziché l' IPv4 endpoint (): `169.254.169.123`

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

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

```
w32tm /query /configuration
```

Nell'output, verifica che venga `NtpServer` visualizzato l'`fd00:ec2::123` IPv6 endpoint.

------

## Connect all'orologio hardware PTP
<a name="connect-to-the-ptp-hardware-clock"></a>

L'orologio hardware PTP fa parte del [sistema Nitro AWS](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html), quindi è direttamente accessibile sulle [istanze EC2 bare metal e virtualizzate supportate](#ptp-hardware-clock-requirements) 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 all' IPv6 endpoint), l'ora dell'istanza viene ricavata automaticamente dall'orologio hardware PTP tramite 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
<a name="ptp-hardware-clock-requirements"></a>

Il clock hardware PTP è disponibile su un'istanza quando vengono soddisfatti i seguenti requisiti:
+ Supportato Regioni AWS: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Asia Pacifico (Malesia), 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*](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#prerequisites)

### (Solo Linux) Configurazione di una connessione PTP diretta all'orologio hardware PTP
<a name="connect-to-the-ptp-hardware-clock-linux"></a>

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.

   1. Abilita l'orologio hardware PTP.

   Per le istruzioni di installazione, consulta il [driver del kernel Linux per la famiglia Elastic Network Adapter (ENA)](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#linux-kernel-driver-for-elastic-network-adapter-ena-family) su. *GitHub*

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

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

   L'ultima versione di Amazon Linux 2023 AMIs include una `udev` regola che crea il `/dev/ptp_ena` collegamento simbolico, che punta alla `/dev/ptp` voce 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
      ```

   1. Ricarica la regola `udev`, riavviando l’istanza o eseguendo il comando seguente.

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

1. **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
      ```

   1. Riavvia chrony.

      ```
      [ec2-user ~]$ sudo systemctl restart chronyd
      ```

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

# Impostazione del riferimento temporale sull'istanza EC2 o su qualsiasi dispositivo connesso a Internet per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico
<a name="configure-time-sync"></a>

Puoi configurare la tua istanza, o qualsiasi dispositivo connesso a Internet, come il computer locale o un server on-premises, per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico, accessibile via Internet a `time.aws.com`. Puoi utilizzare il servizio pubblico Amazon Time Sync come backup per il servizio Amazon Time Sync locale e per connettere risorse esterne al servizio Amazon Time Sync. AWS 

**Nota**  
Per prestazioni ottimali, consigliamo di utilizzare il servizio di sincronizzazione oraria di Amazon *locale* sulle tue istanze e di utilizzare il servizio di sincronizzazione oraria di Amazon *pubblico* solo come backup.

Consulta le istruzioni relative al sistema operativo della tua istanza o del tuo dispositivo.

## Linux
<a name="configure-time-sync-linux"></a>

**Configurazione dell'istanza o del dispositivo Linux per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico tramite chrony o ntpd**

1. Utilizzando un editor di testo, modifica `/etc/chrony.conf` (se usi chrony) o `/etc/ntp.conf` (se usi ntpd) come segue:

   1. Per evitare che l'istanza o il dispositivo tenti di mischiare server "spalmati" e server non "spalmati", rimuovi o commenta le righe che iniziano con `server`, ad eccezione di qualsiasi connessione esistente al servizio di sincronizzazione oraria di Amazon locale.
**Importante**  
Se stai configurando la tua istanza EC2 per connettersi al servizio di sincronizzazione oraria di Amazon pubblico, non rimuovere la seguente riga che imposta l'istanza per connettersi al servizio di sincronizzazione oraria di Amazon locale. Il servizio di sincronizzazione oraria di Amazon locale è una connessione più diretta e fornirà una migliore precisione di clock. Il servizio di sincronizzazione oraria di Amazon pubblico deve essere usato solo come backup.  

      ```
      server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
      ```

   1. Aggiungi la seguente riga per connetterti al servizio di sincronizzazione oraria di Amazon pubblico.

      ```
      pool time.aws.com iburst
      ```

1. Riavvia il daemon utilizzando uno dei seguenti comandi.
   + chrony

     ```
     sudo service chronyd force-reload
     ```
   + ntpd

     ```
     sudo service ntp reload
     ```

## macOS
<a name="configure-time-sync-macos"></a>

**Configurazione dell'istanza o del dispositivo macOS per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico**

1. Apri **Preferenze di Sistema**. 

1. Scegli **Date & Time** (Data e ora), quindi scegli la scheda **Date & Time** (Data e ora).

1. Per apportare modifiche, scegli l'icona del lucchetto e inserisci la password quando richiesto.

1. In **Imposta data e ora automaticamente**, inserisci **time.aws.com**.

## Windows
<a name="configure-time-sync-windows"></a>

**Configurazione dell'istanza o del dispositivo Windows per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico**

1. Apri il **Pannello di controllo**. 

1. Scegli l'icona **Date and Time** (Data e ora).

1. Scegli la scheda **Internet Time** (Ora Internet). Questa scheda non sarà disponibile se il PC fa parte di un dominio. In tal caso, sincronizzerà l'ora con il controller di dominio. Puoi configurare il controller per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico.

1. Scegli **Change settings** (Cambia impostazioni). 

1. Seleziona la casella di controllo **Sincronizza con un server orario su Internet**. 

1. Accanto a **Server**, inserisci **time.aws.com**.

**Configurazione dell'istanza o del dispositivo Windows Server per utilizzare il servizio di sincronizzazione oraria di Amazon pubblico**
+ Segui le [istruzioni di Microsoft](https://support.microsoft.com/en-us/kb/816042) per aggiornare il registro. 

# Confronto dei timestamp per le istanze Linux
<a name="compare-timestamps-with-clockbound"></a>

Se utilizzi il servizio Amazon Time Sync, puoi confrontare i timestamp delle tue istanze Amazon EC2 Linux ClockBound con per determinare l'ora reale di un evento. ClockBound misura la precisione dell'orologio della tua istanza EC2 e ti consente di verificare se un determinato timestamp è passato o futuro rispetto all'orologio corrente dell'istanza. Queste informazioni sono utili per determinare l'ordine e la coerenza degli eventi e delle transazioni tra le istanze EC2, indipendentemente dalla posizione geografica di ciascuna istanza.

ClockBound è un demone e una libreria open source. Per ulteriori informazioni ClockBound, comprese le istruzioni di installazione, vedere [ClockBound](https://github.com/aws/clock-bound)su. *GitHub*

ClockBound è supportato solo per le istanze Linux.

Se utilizzi la connessione PTP diretta al clock hardware PTP, il tuo daemon orario, ad esempio chrony, sottovaluterà il limite di errore del clock. Questo perché un clock hardware PTP non trasmette le informazioni corrette relative all'errore a chrony come invece fa NTP. Di conseguenza, il daemon di sincronizzazione del clock presuppone che il clock sia preciso rispetto all'UTC e quindi abbia un limite di errore pari a `0`. Per misurare l'intero limite di errore, Nitro System calcola il limite di errore dell'orologio hardware PTP e lo rende disponibile all'istanza EC2 tramite il file system `sysfs` del driver ENA. Puoi leggerlo direttamente come valore, in nanosecondi.

**Recupero del limite di errore dell'orologio hardware PTP**

1. Per prima cosa ottieni la posizione corretta del dispositivo dell'orologio hardware PTP utilizzando uno dei seguenti comandi. Il percorso nel comando è diverso a seconda dell'AMI utilizzata per avviare l'istanza.
   + Per Amazon Linux 2:

     ```
     cat /sys/class/net/eth0/device/uevent | grep PCI_SLOT_NAME
     ```
   + Per Amazon Linux 2023:

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

   l'output è il nome dello slot PCI, che è la posizione dell'orologio hardware PTP. In questo esempio la posizione è `0000:00:03.0`.

   ```
   PCI_SLOT_NAME=0000:00:03.0
   ```

1. Per recuperare l'errore dell'orologio hardware PTP associato, esegui il seguente comando. Includi il nome dello slot PCI della fase precedente.

   ```
   cat /sys/bus/pci/devices/0000:00:03.0/phc_error_bound
   ```

   L'output è il limite di errore del clock hardware PTP, espresso in nanosecondi.

Per calcolare l'errore di clock corretto associato a un determinato momento quando si utilizza la connessione PTP diretta all'orologio hardware PTP, è necessario aggiungere l'errore di clock associato ClockBound a chrony o all'ora in cui viene eseguito il chrony polling dell'orologio hardware PTP. Per ulteriori informazioni sulla misurazione e il monitoraggio della precisione dell'orologio, consulta [Gestire la precisione dell'orologio delle istanze Amazon EC2 utilizzando Amazon Time Sync Service e Amazon CloudWatch — Parte](https://aws.amazon.com/blogs/mt/manage-amazon-ec2-instance-clock-accuracy-using-amazon-time-sync-service-and-amazon-cloudwatch-part-1/) 1.

# Modifica del fuso orario dell'istanza
<a name="change-time-zone-of-instance"></a>

Le istanze Amazon EC2 vengono impostate sul fuso orario UTC (Coordinated Universal Time) per impostazione predefinita. È possibile modificare l'ora di un'istanza all'ora locale o a un altro fuso orario della rete.

Consulta le istruzioni relative al sistema operativo della tua istanza.

## Linux
<a name="change_time_zone"></a>

**Importante**  
Queste informazioni si applicano ad Amazon Linux. Per informazioni su altre distribuzioni, consulta la documentazione specifica.

**Per modificare il fuso orario in Amazon Linux**

1. Visualizzare l'impostazione del fuso orario corrente del sistema.

   ```
   [ec2-user ~]$ timedatectl
   ```

1. Elencare i fusi orari disponibili.

   ```
   [ec2-user ~]$ timedatectl list-timezones
   ```

1. Impostare il fuso orario scelto.

   ```
   [ec2-user ~]$ sudo timedatectl set-timezone America/Vancouver
   ```

1. (Facoltativo) Verificare che il fuso orario corrente venga aggiornato al nuovo fuso orario eseguendo di nuovo il comando **timedatectl**.

   ```
   [ec2-user ~]$ timedatectl
   ```

## Windows
<a name="windows-changing-time-zone"></a>

**Modifica del fuso orario su un'istanza Windows**

1. Dall'istanza, aprire una finestra del prompt dei comandi.

1. Identificare il fuso orario da utilizzare sull'istanza. Per ottenere un elenco dei fusi orari, utilizzare il comando seguente:

   ```
   tzutil /l
   ```

   Questo comando restituisce un elenco di tutti i fusi orari disponibili nel seguente formato:

   ```
   display name
   time zone ID
   ```

1. Individuare l'ID del fuso orario da assegnare all'istanza.

1. Esempio: assegnare il fuso orario UTC:

   ```
   tzutil /s "UTC"
   ```

   Esempio: assegnare l’ora standard del Pacifico:

   ```
   tzutil /s "Pacific Standard Time"
   ```

Quando modifichi il fuso orario su un'istanza Windows, è necessario assicurarsi che il fuso orario venga mantenuto a seguito dei riavvii del sistema. In caso contrario, al riavvio dell'istanza, viene ripristinato l'orario in formato UTC. Puoi mantenere l'impostazione del fuso orario aggiungendo una chiave di registro **RealTimeIsUniversal**. Questa chiave è impostata per impostazione predefinita su tutte le istanze della generazione attuale. Per verificare se la chiave di **RealTimeIsUniversal** registro è impostata, consulta il passaggio 3 della procedura seguente. Se la chiave non è impostata attieniti alla seguente procedura dall'inizio.

**Per impostare la chiave RealTimeIsUniversal di registro**

1. Dall'istanza, aprire una finestra del prompt dei comandi.

1. Utilizzare il comando seguente per aggiungere la chiave di registro:

   ```
   reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
   ```

1. (Opzionale) Verificare che il salvataggio della chiave da parte dell'istanza sia riuscito tramite il comando seguente:

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

   Questo comando restituisce le sottochiavi per la chiave di registro **TimeZoneInformation**. Alla fine dell'elenco dovrebbe essere visualizzata una chiave **RealTimeIsUniversal** simile alla seguente:

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