Configuración de la referencia horaria en su instancia EC2 para que use el Servicio de sincronización temporal de Amazon local - Amazon Elastic Compute Cloud

Configuración de la referencia horaria en su instancia EC2 para que use el Servicio de sincronización temporal de Amazon local

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:

  • (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.

nota

Conexión al punto de conexión de IPv4 del Servicio de sincronización temporal de Amazon

En esta sección se describe cómo 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.

Consulte las instrucciones del sistema operativo de su instancia.

AL2023 y las últimas versiones de las AMI de Amazon Linux 2 y Amazon Linux se configuran para utilizar el punto de conexión IPv4 del Servicio de sincronización temporal de Amazon de forma predeterminada. No se requiere ninguna configuración adicional para las instancias iniciadas desde estas AMI y puede omitir los siguientes procedimientos.

Si utiliza una AMI que no tiene el Servicio de sincronización temporal de Amazon configurado de forma predeterminada, utilice uno de los siguientes procedimientos para configurar el Servicio de sincronización temporal de Amazon en su instancia mediante el cliente chrony. Es necesario agregar una entrada de servidor para el Servicio de sincronización temporal de Amazon al archivo de configuración chrony.

Consulte las instrucciones del sistema operativo de su instancia.

Amazon Linux
Conexión al punto de conexión IPv4 del Servicio de sincronización temporal de Amazon en Amazon Linux mediante chrony
  1. Conéctese a su instancia y desinstale el servicio NTP.

    [ec2-user ~]$ sudo yum erase 'ntp*'
  2. Instale el paquete chrony.

    [ec2-user ~]$ sudo yum install chrony
  3. Abra el archivo /etc/chrony.conf con cualquier editor de texto (como vim o nano). Verifique que el archivo incluya la siguiente línea:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

    Si la línea existe, el Servicio de sincronización temporal de Amazon ya está configurado para usar el punto de conexión IPv4 del Servicio de sincronización temporal de Amazon y puede continuar con el siguiente paso. Si no, añada la línea después de cualquier otra instrucción server o pool que ya se encuentre en el archivo y guarde los cambios.

  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 de chronyd.

  5. Para configurar que chronyd se inicie cada vez que arranque el sistema, utilice el comando chkconfig.

    [ec2-user ~]$ sudo chkconfig chronyd on
  6. Verifique que chrony esté usando el punto de conexión IPv4 169.254.169.123 para sincronizar la hora.

    [ec2-user ~]$ chronyc sources -v
    210 Number of sources = 7 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us ^- ec2-12-34-231-12.eu-west> 2 6 17 43 -388us[ -388us] +/- 11ms ^- tshirt.heanet.ie 1 6 17 44 +178us[ +25us] +/- 1959us ^? tbag.heanet.ie 0 6 0 - +0ns[ +0ns] +/- 0ns ^? bray.walcz.net 0 6 0 - +0ns[ +0ns] +/- 0ns ^? 2a05:d018:c43:e312:ce77:> 0 6 0 - +0ns[ +0ns] +/- 0ns ^? 2a05:d018:dab:2701:b70:b> 0 6 0 - +0ns[ +0ns] +/- 0ns

    En la respuesta obtenida, ^* indica el origen de hora preferido.

  7. 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
Ubuntu
Conexión al punto de conexión IPv4 del Servicio de sincronización temporal de Amazon en Ubuntu mediante chrony
  1. Conecte su instancia y use apt para instalar el paquete chrony.

    ubuntu:~$ sudo apt install chrony
    nota

    De ser necesario, ejecute primero para actualizar su instancia sudo apt update.

  2. Abra el archivo /etc/chrony/chrony.conf con cualquier editor de texto (como vim o nano). Añada la siguiente línea antes de cualquier otra instrucción server o pool que ya se encuentre en el archivo y guarde los cambios:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  3. Reinicie el servicio chrony.

    ubuntu:~$ sudo /etc/init.d/chrony restart
    Restarting chrony (via systemctl): chrony.service.
  4. Verifique que chrony esté usando el punto de conexión IPv4 169.254.169.123 para sincronizar la hora.

    ubuntu:~$ chronyc sources -v
    210 Number of sources = 7 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 3 6 17 12 +15us[ +57us] +/- 320us ^- tbag.heanet.ie 1 6 17 13 -3488us[-3446us] +/- 1779us ^- ec2-12-34-231-12.eu-west- 2 6 17 13 +893us[ +935us] +/- 7710us ^? 2a05:d018:c43:e312:ce77:6 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? 2a05:d018:d34:9000:d8c6:5 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? tshirt.heanet.ie 0 6 0 10y +0ns[ +0ns] +/- 0ns ^? bray.walcz.net 0 6 0 10y +0ns[ +0ns] +/- 0ns

    En la salida que se devuelve, en la línea que empieza por ^*, se indica el origen de la hora preferido.

  5. Verifique que chrony muestre las métricas de sincronización de hora.

    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 partir de SUSE Linux Enterprise Server 15, chrony es la implementación predeterminada de NTP.

Conexión al punto de conexión IPv4 del Servicio de sincronización temporal de Amazon en SUSE Linux mediante chrony
  1. Abra el archivo /etc/chrony.conf con cualquier editor de texto (como vim o nano).

  2. Verifique que el archivo contenga la siguiente línea:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

    Si esta línea no existe, añádala.

  3. Comente el resto de líneas de servidores o grupos.

  4. Abra yaST y habilite el servicio chrony.

A partir de la versión de agosto de 2018, las AMI de Windows utilizan el Servicio de sincronización temporal de Amazon de forma predeterminada. No se requiere ninguna configuración adicional para las instancias iniciadas desde estas AMI y puede omitir los siguientes procedimientos.

Si utiliza una AMI que no tiene el Servicio de sincronización temporal de Amazon de forma predeterminada, compruebe primero su configuración de NTP actual. Si la instancia ya utiliza el punto de conexión de IPv4 del Servicio de sincronización temporal de Amazon, no es necesario realizar ninguna otra configuración. Si la instancia no utiliza el Servicio de sincronización temporal de Amazon, complete el procedimiento para cambiar el servidor NTP para que utilice el Servicio de sincronización temporal de Amazon.

Para verificar la configuración de NTP
  1. Desde la instancia, abra una ventana del símbolo del sistema.

  2. Para obtener la configuración de NTP actual, escriba el siguiente comando:

    w32tm /query /configuration

    Este comando devuelve los valores de configuración actuales para la instancia de Windows y mostrará si está conectado al Servicio de sincronización temporal de Amazon.

  3. (Opcional) Para obtener el estado de la configuración actual, escriba el siguiente comando:

    w32tm /query /status

    Este comando devuelve información como la última vez que la instancia se sincronizó con el servidor NTP y el intervalo de sondeo.

Cómo cambiar el servidor NTP de modo que use el Servicio de sincronización temporal de Amazon
  1. Desde la ventana del símbolo del sistema, ejecute el siguiente comando:

    w32tm /config /manualpeerlist:169.254.169.123 /syncfromflags:manual /update
  2. Para comprobar la nueva configuración, use el comando siguiente:

    w32tm /query /configuration

    En la salida que devuelve, verifique que NtpServer muestra el punto de conexión IPv4 169.254.169.123.

Configuración predeterminada de protocolo de tiempo de redes (NTP) para las AMI de Amazon Windows

Generalmente, las imágenes de máquinas de Amazon (AMI) se ajustan a los valores predeterminados de fábrica, salvo en los casos en que se requieren cambios para que funcione en la infraestructura de EC2. Se ha determinado que las siguientes configuraciones funcionan bien en un entorno virtual, así como para mantener cualquier desfase del reloj en un segundo de precisión:

  • Intervalo de actualización: controla la frecuencia con la que el servicio de hora ajustará la hora del sistema para que sea exacta. AWS configura el intervalo de actualización para que se produzca una vez cada dos minutos.

  • Servidor NTP: a partir de la versión de agosto de 2018, las AMI ahora utilizan de forma predeterminada el Servicio de sincronización temporal de Amazon. Se puede acceder a este servicio de hora desde cualquier Región de AWS en el punto de conexión IPv4 169.254.169.123. Además, el indicador 0x9 muestra que el servicio de hora está actuando como cliente, y que se debe usar SpecialPollInterval para determinar con qué frecuencia debe registrarse en el servidor de hora configurado.

  • Tipo: “NTP” significa que el servicio actúa como cliente NTP independiente en lugar de actuar como parte de un dominio.

  • Habilitado e InputProvider: el servicio de hora está habilitado y proporciona la hora al sistema operativo.

  • Intervalo de sondeo especial: hace comprobaciones en el servidor NTP configurado cada 900 segundos (15 minutos).

Ruta de registro Nombre de la clave Datos

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

Habilitado

1

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

InputProvider

1

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

SpecialPollInterval

900

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.

nota

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.

Consulte las instrucciones del sistema operativo de su 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.

Cuando llegue al paso para cambiar el servidor NTP para que utilice el Servicio de sincronización temporal de Amazon, 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):

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

Compruebe que la nueva configuración utilice el punto de conexión IPv6 fd00:ec2::123 para sincronizar la hora:

w32tm /query /configuration

En la salida, verifique que NtpServer muestra el punto de conexión IPv6 fd00:ec2::123.

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) y Asia-Pacífico (Tokio)

  • Familias de instancias admitidas:

    • De uso general: M7a, M7g, M7gd, M7i

    • Optimizadas para la computación: C7a, C7gd, C7i

    • Optimizadas para la memoria: R7a, R7g, R7gd, R7i, R8g

  • (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)
  1. Conéctese a la instancia de Linux y haga lo siguiente:

    1. Instale el controlador del kernel de Linux para la versión 2.10.0 o posteriores de Elastic Network Adapter (ENA).

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

  2. Compruebe que el dispositivo /dev/ptp0 aparezca en su instancia.

    [ec2-user ~]$ ls /dev/ptp0

    El resultado esperado es el siguiente. Si /dev/ptp0 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.

    /dev/ptp0
  3. Edite /etc/chrony.conf con un editor de texto y agregue la siguiente línea en cualquier parte del archivo.

    refclock PHC /dev/ptp0 poll 0 delay 0.000010 prefer
  4. Reinicie chrony.

    [ec2-user ~]$ sudo systemctl restart chronyd
  5. 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.