El Servicio local de sincronización temporal de Amazon utiliza el protocolo de tiempo de redes (NTP) o proporciona un reloj de hardware local del protocolo de tiempo de precisión (PTP) en las instancias compatibles. El reloj de hardware PTP admite una conexión NTP (instancias de Linux y Windows) o una conexión PTP directa (solo instancias de Linux). La conexión NTP y la conexión PTP directa utilizan el mismo origen horaria de alta precisión, pero la conexión PTP directa es más precisa que la conexión NTP. La conexión NTP al Servicio de sincronización temporal de Amazon admite la difuminación temporal, mientras que la conexión PTP al reloj de hardware de PTP no extiende la hora. Para obtener más información, consulte Segundos intercalares.
Sus instancias pueden acceder al Servicio de sincronización temporal de Amazon local de la siguiente manera:
-
A través de NTP en los siguientes puntos de conexión de direcciones IP:
-
IPv4:
169.254.169.123
-
IPv6:
fd00:ec2::123
(solo accesible en instancias basadas en Nitro).
-
-
(Solo Linux) A través de una conexión PTP directa para conectarse a un reloj de hardware de PTP local:
-
PHC0
-
Las AMI de Amazon Linux, las AMI de Windows y la mayoría de las AMI de socios configuran la instancia para que utilice el punto de conexión IPv4 NTP de forma predeterminada. Esta es la configuración recomendada para la mayoría de las cargas de trabajo de clientes. No se requiere ninguna configuración adicional para las instancias iniciadas desde estas AMI, a menos que desee utilizar el punto de conexión IPv6 o conectarse directamente al reloj de hardware de PTP.
Las conexiones NTP y PTP no requieren ningún cambio en la configuración de la VPC y la instancia no requiere acceso a Internet.
Consideraciones
Hay un límite de 1024 paquetes por segundo (PPS) para los servicios que utilizan direcciones locales de enlace. Este límite incluye la suma de las consultas de DNS de Route 53 Resolver, las solicitudes del servicio de metadatos de instancias (IMDS), las solicitudes del protocolo de tiempo de red (NTP) del servicio temporal de Amazon y las solicitudes del Servicio de licencias de Windows (para instancias basadas en Microsoft Windows)
. Solo las instancias de Linux pueden utilizar una conexión PTP directa para conectarse a un reloj de hardware de PTP local. Las instancias de Windows utilizan NTP para conectarse al reloj de hardware de PTP local.
Contenido
Conexión al punto de conexión de IPv4 del Servicio de sincronización temporal de Amazon
Es posible que su AMI ya haya configurado el Servicio de sincronización temporal de Amazon de forma predeterminada. De lo contrario, utilice los siguientes procedimientos para configurar su instancia de modo que use el Servicio de sincronización temporal de Amazon local a través del punto de conexión IPv4.
Para obtener ayuda sobre la resolución de problemas, consulte Solución de problemas de sincronización NTP en instancias Linux
AL2023 y las versiones recientes de Amazon Linux 2 están configuradas para utilizar el punto de conexión IPv4 del Servicio de sincronización temporal de Amazon de forma predeterminada. Si confirma que su instancia ya está configurada, puede omitir el siguiente procedimiento.
Para verificar que chrony está configurado para usar el punto de conexión IPv4
Ejecute el siguiente comando. En la salida, en la línea que empieza por ^*
, se indica el origen de la hora preferido.
chronyc sources -v | grep -F ^*
^* 169.254.169.123 3 4 377 14 +12us[+9653ns] +/- 290us
Para configurar chrony para que se conecte al punto de conexión IPv4 en versiones anteriores de Amazon Linux 2
-
Conéctese a su instancia y desinstale el servicio NTP.
[ec2-user ~]$
sudo yum erase 'ntp*'
-
Instale el paquete
chrony
.[ec2-user ~]$
sudo yum install chrony
-
Abra el archivo
/etc/chrony.conf
con cualquier editor de texto (como vim o nano). Agregue la siguiente línea antes de cualquier otra instrucciónserver
opool
que pueda estar presente en el archivo y guarde los cambios:server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
-
Reinicie daemon
chrony
(chronyd
).[ec2-user ~]$
sudo service chronyd restart
Starting chronyd: [ OK ]
nota
En RHEL y CentOS (hasta la versión 6), el nombre del servicio es
chrony
en lugar dechronyd
. -
Para configurar que
chronyd
se inicie cada vez que arranque el sistema, utilice el comandochkconfig
.[ec2-user ~]$
sudo chkconfig chronyd on
-
Verifique que
chrony
esté usando el punto de conexión IPv4169.254.169.123
para sincronizar la hora.[ec2-user ~]$
chronyc sources -v | grep -F ^*
En la salida,
^*
indica el origen de hora preferido.^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us
-
Verifique que
chrony
muestre las métricas de sincronización de hora.[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
Conexión al punto de conexión de IPv6 del Servicio de sincronización temporal de Amazon
En esta sección se explica en qué difieren los pasos descritos en Conexión al punto de conexión de IPv4 del Servicio de sincronización temporal de Amazon si configura su instancia de modo que use el Servicio de sincronización temporal de Amazon local a través del punto de conexión IPv6. No se explica todo el proceso de configuración de Servicio de sincronización temporal de Amazon.
Solo se puede acceder al punto de conexión IPv6 en instancias integradas en Nitro.
No se recomienda utilizar juntas las entradas del punto de conexión IPv4 e IPv6. Los paquetes NTP de IPv4 e IPv6 provienen del mismo servidor local para su instancia. No es necesario configurar los puntos de conexión de IPv4 e IPv6 y esto no mejorará la precisión de la hora de la instancia.
En función de la distribución de Linux que utilice, cuando llegue al paso para editar el archivo chrony.conf
, utilizará el punto de conexión IPv6 del Servicio de sincronización temporal de Amazon (fd00:ec2::123
) en lugar del punto de conexión IPv4 (169.254.169.123
):
server fd00:ec2::123 prefer iburst minpoll 4 maxpoll 4
Guarde el archivo y verifique que chrony esté utilizando el punto de conexión IPv6 fd00:ec2::123
para sincronizar la hora:
[ec2-user ~]$
chronyc sources -v
Si ve el punto de conexión IPv6 fd00:ec2::123
en la salida, la configuración está completa.
Conexión al reloj de hardware de PTP
El reloj de hardware de PTP forma parte del AWS Nitro System, por lo que se puede acceder a él directamente en las instancias de EC2 virtualizadas y bare metal admitidas sin necesidad de utilizar ningún recurso del cliente.
Los puntos de conexión NTP del reloj de hardware de PTP son los mismos que los de la conexión normal del Servicio de sincronización temporal de Amazon. Si la instancia tiene un reloj de hardware de PTP y configuró la conexión NTP (al punto de conexión IPv4 o IPv6), la hora de la instancia se obtiene automáticamente del reloj de hardware de PTP por sobre NTP.
Para las instancias de Linux, puede configurar una conexión PTP directa, lo que proporcionará una hora más precisa que la conexión NTP. Las instancias de Windows solo admiten una conexión NTP al reloj de hardware de PTP.
Requisitos
El reloj de hardware de PTP está disponible en una instancia cuando se cumplen los siguientes requisitos:
-
Regiones de AWS compatibles: Este de EE. UU. (Norte de Virginia), Este de EE. UU. (Ohio), Asia-Pacífico (Malasia), Asia-Pacífico (Tailandia), Asia-Pacífico (Tokio) y Europa (Estocolmo)
-
Zonas locales compatibles: Este de EE. UU. (Ciudad de Nueva York)
-
Familias de instancias admitidas:
-
De uso general: M7a, M7g, M7gd, M7i, M8g
-
Optimizadas para la computación: C7a, C7gd, C7i, C8g
-
Optimizadas para la memoria: R7a, R7g, R7gd, R7i, R8g, X8g
-
Optimizadas para el almacenamiento: I8g
-
De computación de alto rendimiento: Hpc7a
-
-
(Solo Linux) El controlador de ENA, versión 2.10.0 o posteriores, está instalado en un sistema operativo compatible. Para obtener más información sobre los sistemas operativos compatibles, consulte los requisitos previos
del controlador en GitHub.
En esta sección, se describe cómo configurar la instancia de Linux para que utilice el Servicio de sincronización temporal de Amazon local a través del reloj de hardware de PTP mediante una conexión PTP directa. Es necesario agregar una entrada de servidor para el reloj de hardware PTP al archivo de configuración chrony
.
Para configurar una conexión PTP directa al reloj de hardware de PTP (solo para instancias de Linux)
-
Requisitos previos de instalación
Conéctese a la instancia de Linux y haga lo siguiente:
-
Instale el controlador del kernel de Linux para la versión 2.10.0 o posteriores de Elastic Network Adapter (ENA).
-
Habilite el reloj de hardware de PTP.
Para ver las instrucciones de instalación, consulte Linux kernel driver for Elastic Network Adapter (ENA) family
en GitHub. -
-
Verificación del dispositivo PTP de ENA
Compruebe que el dispositivo del reloj de hardware PTP de ENA aparezca en su instancia.
[ec2-user ~]$
for file in /sys/class/ptp/*; do echo -n "$file: "; cat "$file/clock_name"; done
Resultado previsto
/sys/class/ptp/ptp
<index>
: ena-ptp-<PCI slot>
Donde:
-
es el índice de reloj de hardware PTP registrado en el kernel.index
-
es la ranura PCI del controlador Ethernet de ENA. Es la misma ranura que se muestra enPCI slot
lspci | grep ENA
.
Ejemplo de resultado
/sys/class/ptp/
ptp0
: ena-ptp-05
Si
ena-ptp-
no está en la salida, significa que el controlador de ENA no se instaló correctamente. Revise el paso 1 de este procedimiento para instalar el controlador.<PCI slot>
-
-
Configuración el enlace simbólico PTP
Los dispositivos PTP suelen tener el nombre
/dev/ptp0
,/dev/ptp1
, etc., y su índice depende del orden de inicialización del hardware. La creación de un enlace simbólico garantiza que aplicaciones como chrony hagan referencia de forma coherente al dispositivo correcto, independientemente de los cambios de índice.Las AMI más recientes de Amazon Linux 2023 incluyen una regla
udev
que crea el enlace simbólico/dev/ptp_ena
y apunta a la entrada/dev/ptp
correcta asociada al host de ENA.En primer lugar, compruebe que el enlace simbólico se haya instalado con el siguiente comando.
[ec2-user ~]$
ls -l /dev/ptp*
Ejemplo de resultado
crw------- 1 root root 245, 0 Jan 31 2025 /dev/ptp0 lrwxrwxrwx 1 root root 4 Jan 31 2025 /dev/ptp_ena -> ptp0
Donde:
-
/dev/ptp
es la ruta al dispositivo PTP.<index>
-
/dev/ptp_ena
es el enlace simbólico constante, que apunta al mismo dispositivo PTP.
Si el enlace simbólico
/dev/ptp_ena
está presente, vaya al paso 4 de este procedimiento. Si no aparece, realice una de las siguientes opciones:-
Agregue la siguiente regla
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
-
Reinicie la instancia o ejecute el siguiente comando para volver a cargar la regla
udev
.[ec2-user ~]$
sudo udevadm control --reload-rules && udevadm trigger
-
-
Configuración de chrony
chrony debe configurarse para usar el enlace simbólico
/dev/ptp_ena
en lugar de hacer referencia directa a /dev/ptp
.<index>
-
Edite
/etc/chrony.conf
con un editor de texto y agregue la siguiente línea en cualquier parte del archivo.refclock PHC /dev/ptp_ena poll 0 delay 0.000010 prefer
-
Reinicie chrony.
[ec2-user ~]$
sudo systemctl restart chronyd
-
-
Verificación de la configuración de chrony
Compruebe que chrony utilice el reloj de hardware de PTP para sincronizar la hora en esta instancia.
[ec2-user ~]$
chronyc sources
Resultado previsto
MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #* PHC0 0 0 377 1 +2ns[ +1ns] +/- 5031ns
En la respuesta obtenida,
*
indica el origen de hora preferido.PHC0
corresponde al reloj de hardware de PTP. Puede que tenga que esperar unos segundos después de reiniciar chrony para que aparezca el asterisco.