Configuración de la referencia horaria en su instancia EC2 para que use el Servicio de sincronización temporal de Amazon local
El Servicio de sincronización temporal de Amazon proporciona varios métodos para que la instancia de Amazon EC2 se sincronice con un origen de hora local. En primer lugar, cualquier instancia de Amazon EC2 puede acceder a un origen de hora local mediante el Protocolo de tiempo de red (NTP). Además, la versión mejorada del Servicio de sincronización temporal de Amazon ofrece orígenes de hora locales de mayor precisión para las instancias de Amazon EC2 compatibles. Lance la instancia compatible en un grupo de ubicación con la estrategia precision-time para acceder a un origen de NTP de mayor precisión. Por último, las instancias de Linux lanzadas en un grupo de ubicación de tiempo de precisión tienen acceso a un dispositivo de reloj de hardware PTP (PHC) y la capacidad de recuperar marcas de tiempo de hardware de los paquetes.
Cualquier instancia de Amazon EC2 tiene acceso al origen de NTP local. Puede acceder al origen de NTP mediante una dirección IP de enlace local, lo que restringe este tráfico a la VPC sin necesidad de realizar cambios específicos en la configuración de la VPC. Es posible que la AMI ya tenga configurado el daemon de sincronización del reloj para utilizar el origen de NTP local de forma predeterminada. Este origen de NTP está disponible mediante las siguientes direcciones IP:
-
IPv4:
169.254.169.123 -
IPv6:
fd00:ec2::123(solo accesible en instancias basadas en Nitro).
Las instancias de Amazon EC2 compatibles tienen acceso al Servicio de sincronización temporal de Amazon. Para acceder a la versión mejorada del Servicio de sincronización temporal de Amazon, lance una instancia compatible en un grupo de ubicación con la estrategia precision-time. No necesita configurar la instancia para beneficiarse de esta mejora si utiliza las direcciones IP de enlace local de NTP. Cualquier sistema operativo puede utilizar esta mejora. Puede verificar que se beneficia del origen de NTP mejorado utilizando el cliente NTP de su elección.
Las AMI basadas en Linux que se ejecutan en familias de instancias compatibles tienen la opción adicional de obtener la hora desde un dispositivo PHC. El controlador ENA pone este dispositivo a disposición de la instancia. Tanto el origen de NTP mejorado como el dispositivo PHC utilizan la misma fuente de hora de alta precisión. El acceso al origen de hora PHC está optimizado, lo que permite una sincronización más precisa de la instancia de Amazon EC2.
Consideraciones
El origen de hora NTP ofrece una representación con suavización de segundos intercalares de la escala temporal UTC, mientras que el PHC no aplica dicha suavización. Para obtener más información, consulte Segundos intercalares.
Solo las instancias de Linux tienen acceso al reloj de hardware PTP local. Las instancias de Windows deben utilizar NTP para acceder a la versión mejorada del Servicio de sincronización temporal de Amazon.
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 de sincronización temporal de Amazon y las solicitudes del Servicio de licencias de Windows (para instancias basadas en Microsoft Windows)
.
Contenido
Acceder al punto de conexión 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
Acceder al punto de conexión IPv6 del Servicio de sincronización temporal de Amazon
En esta sección se explica en qué difieren los pasos descritos en Acceder al punto de conexión 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.
Acceder a la versión mejorada del Servicio de sincronización temporal de Amazon
La versión mejorada del Servicio de sincronización temporal de Amazon ofrece orígenes de hora locales de mayor precisión para las instancias de Amazon EC2 compatibles. Las instancias lanzadas en un grupo de ubicación con una estrategia precision-time pueden acceder a estos orígenes locales. Recomendamos utilizar grupos con ubicación de tiempo de precisión para las aplicaciones que requieren una hora más precisa, ya sea desde el origen de NTP de enlace local o desde un dispositivo de reloj de hardware PTP (PHC) en una instancia de Linux. Cuando lance instancias en un grupo de ubicación de tiempo de precisión, AWS las ubicará en hardware compatible con acceso directo a orígenes de hora de alta precisión de la infraestructura de AWS.
Ventajas principales
-
Origen de NTP mejorado de forma predeterminada: la instancia tiene acceso inmediato a un origen de hora NTP local mejorado si utiliza las direcciones IP de enlace local de NTP, tal como se describe en la sección anterior.
-
Sincronización del reloj con precisión de microsegundos: configure la instancia de Amazon EC2 con Linux para utilizar un dispositivo de reloj de hardware PTP y lograr una sincronización del reloj con precisión de microsegundos.
-
Implementación simplificada: una única estrategia de ubicación garantiza que todas las instancias dispongan de funcionalidades de tiempo de precisión.
-
Marcas de tiempo de hardware para paquetes: acceda a marcas de tiempo de bajo nivel de los paquetes para realizar mediciones de red.
-
Sin costo adicional: los grupos con ubicación de tiempo de precisión están disponibles sin costo adicional.
Reglas y limitaciones
-
Los grupos con ubicación de tiempo de precisión están disponibles en todas las regiones de AWS comerciales.
-
Los grupos con ubicación de tiempo de precisión admiten las siguientes familias de instancias de Amazon EC2 de séptima generación (Gen7) y posteriores:
-
Uso general: M7a, M7g, M7g-flex, M7gd, M7i, M7i-flex, M8a, M8g, M8g-flex
-
Optimizadas para la computación: C7a, C7gd, C7i, C7i-flex, C8g, C8g-flex, C8gd
-
Optimizadas para memoria: R7a, R7g, R7i, R7id, R8g, X8adez, X8adz-3tb, X8adz-6tb, X8adzs, X8aedez, X8aedz-3tb, X8aedz-6tb, X8aez, X8az, X8g, X8ge
-
Optimizadas para el almacenamiento: I8g, I8ge
-
-
Si inicia o lanza una instancia en un grupo de ubicación de tiempo de precisión y no hay suficiente hardware disponible para proporcionar acceso a la versión mejorada del Servicio de sincronización temporal de Amazon, la solicitud no se completará correctamente.
-
Si detiene una instancia en un grupo de ubicación de tiempo de precisión y luego la vuelve a iniciar, la instancia seguirá ejecutándose en el grupo de ubicación. Sin embargo, el inicio podría fallar si no hay suficiente hardware disponible para proporcionar acceso a la versión mejorada del Servicio de sincronización temporal de Amazon.
-
Amazon EC2 incorpora continuamente hardware compatible con la versión mejorada del Servicio de sincronización temporal de Amazon. Si la solicitud falla debido a que no hay capacidad suficiente, vuelva a intentarlo más tarde o pruebe con otra zona de disponibilidad. Para obtener más información, consulte Solución de problemas de inicialización de instancias de Amazon EC2.
-
Se aplican las reglas y limitaciones de los grupos de ubicación. Para obtener más información, consulte Grupos de ubicación para instancias de Amazon EC2
Crear un grupo de ubicación de tiempo de precisión
Puede crear un grupo de ubicación de tiempo de precisión mediante la CLI de AWS, la consola de administración de AWS o los SDK de AWS, especificando la estrategia precision-time.
Uso de la CLI de AWS
Use el siguiente comando:
aws ec2 create-placement-group \ --group-namemy-precision-time-pg\ --strategy precision-time
El comando devuelve un ARN del grupo de ubicación, que utilizará al crear reservas de capacidad, y un nombre o un ID de grupo, que utilizará al lanzar instancias y vincular grupos de ubicación.
Iniciar una instancia
Después de crear un grupo de ubicación de tiempo de precisión, especifíquelo al lanzar instancias para acceder a la versión mejorada del Servicio de sincronización temporal de Amazon:
aws ec2 run-instances \ --image-idami-0abcdef1234567890\ --instance-typer7g.2xlarge\ --placement GroupId=pg-0aaa1111111111111
Verificar el acceso a la versión mejorada del Servicio de sincronización temporal de Amazon
Después de lanzar la instancia en un grupo de ubicación de tiempo de precisión, se beneficiará de un origen de hora NTP mejorado.
Por ejemplo, si utiliza el daemon chronyd en la instancia, puede verificar que el origen de hora NTP ahora se identifica como un Stratum 1 y presenta métricas de precisión del reloj mejoradas:
[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
Verifique que chrony muestre las métricas de sincronización de hora.
[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
Acceder al reloj de hardware PTP (PHC)
El reloj de hardware PTP (PHC) forma parte de AWS Nitro System. Se puede acceder a él directamente desde las instancias bare metal y virtualizadas de Amazon EC2 compatibles que se lanzan en un grupo de ubicación de tiempo de precisión. Actualmente, el dispositivo PHC solo es accesible desde instancias de Linux. En las siguientes secciones se describe cómo configurar y verificar el dispositivo PHC en la instancia de Linux.
Requisitos
-
El controlador de ENA, versión 2.10.0 o posteriores, está instalado en un sistema operativo compatible.
-
Una instancia de Amazon EC2 que ejecuta Linux. Para obtener más información sobre los sistemas operativos compatibles, consulte los requisitos previos
del controlador en GitHub. -
Una instancia de Amazon EC2 lanzada en un grupo de ubicación de tiempo de precisión (consulte Acceder a la versión mejorada del Servicio de sincronización temporal de Amazon).
nota
La versión mejorada del Servicio de sincronización temporal de Amazon y el dispositivo PHC siguen estando disponibles sin un grupo de ubicación de tiempo de precisión en las siguientes regiones y para las familias de instancias específicas. Para obtener la mejor experiencia, recomendamos lanzar instancias de Amazon EC2 en grupos de ubicación de tiempo de precisión.
-
Regiones de AWS con acceso heredado compatible: 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 con acceso heredado compatible: Este de EE. UU. (Ciudad de Nueva York)
-
Familias de instancias con acceso heredado compatible:
-
De uso general: M7a, M7g, M7i
-
Optimizadas para la memoria: R7a, R7g, R7i
-
Optimizadas para el almacenamiento: I8g, I8ge
-
Compilar y habilitar el controlador ENA con compatibilidad para PHC
Consulte siempre las instrucciones más recientes de la versión más reciente del controlador Elastic Network Adapter (ENA) en la documentación del controlador ENA
Antes de comenzar, asegúrese de que la instancia cumpla los requisitos indicados en Requisitos.
Compilar y habilitar el controlador ENA con compatibilidad para PHC
-
Instale los requisitos previos.
[ec2-user ~]$sudo yum update[ec2-user ~]$sudo yum install kernel-devel-$(uname -r) git[ec2-user ~]$sudo reboot -
Cargue el módulo PTP requerido.
[ec2-user ~]$sudo modprobe ptp -
Recupere la versión más reciente del controlador ENA (versión 2.10.0 o posterior).
[ec2-user ~]$git clone https://github.com/amzn/amzn-drivers.git /tmp/amzn-drivers -
Cree el controlador ENA
ena.kocon compatibilidad para PHC.[ec2-user ~]$cd /tmp/amzn-drivers/kernel/linux/ena[ec2-user ~]$ENA_PHC_INCLUDE=1 make -
Vuelva a cargar el controlador ENA y habilite el dispositivo PHC.
[ec2-user ~]$sudo rmmod ena && sudo insmod ena.ko phc_enable=1 -
Verifique que el controlador ENA cargado tenga compatibilidad para PHC.
[ec2-user ~]$modinfo ena | grep -E "phc_enable"parm: phc_enable:Enable PHC. -
Verifique que la compatibilidad para PHC esté habilitada con el controlador ENA.
[ec2-user ~]$cat /sys/module/ena/parameters/phc_enable1
Para obtener instrucciones sobre cómo instalar el controlador y activar la opción phc_enable al reiniciar, consulte el archivo README del controlador ENA
Verificar la configuración del dispositivo PTP
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 slotlspci | 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 los pasos indicados en Compilar y habilitar el controlador ENA con compatibilidad para PHC.<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 está presente ejecutando 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/ptpes la ruta al dispositivo PTP.<index> -
/dev/ptp_enaes el enlace simbólico constante, que apunta al mismo dispositivo PTP.
Si el enlace simbólico /dev/ptp_ena está presente, continúe con Configurar el daemon chronyd para utilizar el dispositivo PHC. Si no aparece, realice una de las siguientes opciones:
Crear el enlace simbólico PTP
-
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 && sudo udevadm trigger
Configurar el daemon chronyd para utilizar el dispositivo PHC
El daemon de sincronización del reloj chronyd debe configurarse para utilizar el dispositivo PHC como un origen de hora adicional, mediante el enlace simbólico /dev/ptp_ena para identificar el dispositivo.
Configurar el daemon chronyd para utilizar el dispositivo PHC
-
Edite
/etc/chrony.confcon un editor de texto y agregue la siguiente línea:refclock PHC /dev/ptp_ena poll 0 delay 0.000010 prefer -
Reinicie chrony.
[ec2-user ~]$sudo systemctl restart chronyd -
Verifique que chrony esté utilizando el reloj de hardware PTP. El dispositivo PHC0 debe ser el origen de hora preferido con un valor de Stratum 0. El origen de hora NTP local (si está configurado) debe tener un valor de Stratum 1.
[ec2-user ~]$chronyc sourcesMS 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
Verificar las marcas de tiempo de hardware para paquetes
El controlador ENA cargado con compatibilidad para PHC proporciona acceso a las marcas de tiempo de hardware para paquetes. Puede verificar que esta funcionalidad sea compatible mediante el comando ethtool -T .interface
Para obtener más información sobre el uso de las marcas de tiempo de hardware para paquetes, consulte la documentación de Linux sobre el marcado temporal de paquetes
[ec2-user ~]$sudo ethtool -Tens5
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
Si el resultado muestra hardware-receive en la lista de capacidades, las marcas de tiempo de hardware para paquetes están disponibles en la instancia.