Definir a referência de horas na instância do EC2 para usar o Serviço de Sincronização Temporal da Amazon local
O Serviço de Sincronização Temporal da Amazon local usa o Network Time Protocol (NTP) ou fornece um relógio físico Precision Time Protocol (PTP) nas instâncias compatíveis. O relógio físico PTP permite uma conexão NTP (instâncias Linux e Windows) ou uma conexão PTP direta (apenas instâncias Linux). As conexões NTP e PTP diretas usam a mesma fonte de hora extremamente exata, mas a conexão PTP direta é mais precisa do que a conexão NTP. A conexão NTP com o Serviço de Sincronização Temporal da Amazon usa a difusão de segundos bissextos, enquanto a conexão PTP com o relógio PTP físico não usa. Para ter mais informações, consulte Segundos bissextos.
As instâncias podem acessar o Serviço de Sincronização Temporal da Amazon da seguinte forma:
-
Por NTP nos seguintes endpoints de endereço IP:
-
IPv4:
169.254.169.123
-
IPv6:
fd00:ec2::123
(Acessível somente em instâncias baseadas em Nitro.)
-
-
(Somente para o Linux) Por meio de uma conexão PTP direta para se conectar a um relógio de hardware PTP local:
-
PHC0
-
As AMIs do Amazon Linux, as AMIs do Windows e a maioria das AMIs de parceiros configuram a instância para usar o endpoint do protocolo NTP para IPv4 por padrão. Esta é a configuração recomendada para a maioria das workloads do cliente. Nenhuma configuração adicional é necessária para instâncias iniciadas dessas AMIs, a menos que você queira usar o endpoint IPv6 ou se conectar diretamente ao relógio PTP físico.
As conexões NTP e PTP não exigem nenhuma alteração na configuração da VPC e a instância não requer acesso à Internet.
nota
Há um limite de 1024 pacotes por segundo (PPS) para serviços que usam endereços locais de link. Esse limite inclui o agregado de consultas ao DNS do Route 53 Resolver, solicitações do Serviço de metadados de instância (IMDS), solicitações do Amazon Time Service Network Time Protocol (NTP) e solicitações do Windows Licensing Service (para instâncias baseadas no Microsoft Windows)
. Somente as instâncias do Linux podem usar uma conexão PTP direta para se conectar ao relógio de hardware PTP local. As instâncias do Windows usam o protocolo NTP para se conectar ao relógio de hardware PTP local.
Tópicos
Conectar-se ao endpoint IPv4 do Serviço de Sincronização Temporal da Amazon
Esta seção descreve como configurar a instância para usar o Serviço de Sincronização Temporal da Amazon local por meio do endpoint IPv4.
Use as instruções para o sistema operacional da sua instância.
O AL2023 e as versões mais recentes das AMIs do Amazon Linux 2 e do Amazon Linux são configuradas para usar o endpoint IPv4 do Serviço de Sincronização Temporal da Amazon por padrão. Nenhuma configuração adicional é necessária para as instâncias iniciadas usando essas AMIs, e você pode ignorar o procedimento apresentado a seguir.
Se estiver usando uma AMI que não tem o Amazon Time Sync Service configurado por padrão, use um dos seguintes procedimentos para configurar o Serviço de Sincronização Temporal da Amazon na instância usando o cliente chrony
. É necessário adicionar uma entrada de servidor para o Serviço de Sincronização Temporal da Amazon no arquivo de configuração chrony
.
Use as instruções para o sistema operacional da sua instância.
A versão das AMIs do Windows de agosto de 2018 em diante usam o Amazon Time Sync Service por padrão. Nenhuma configuração adicional é necessária para instâncias iniciadas dessas AMIs e você pode ignorar os procedimentos a seguir.
Se você estiver usando uma AMI que não tenha o Serviço de Sincronização Temporal da Amazon configurado por padrão, primeiro verifique sua configuração atual do protocolo NTP. Se a instância já estiver usando o endpoint IPv4 do Serviço de Sincronização Temporal da Amazon, nenhuma configuração adicional será necessária. Se a instância não estiver usando o Serviço de Sincronização Temporal da Amazon, faça o procedimento para alterar o servidor NTP para que use o Serviço de Sincronização Temporal da Amazon.
Para verificar a configuração de NTP
-
Na instância, abra uma janela de prompt de comando.
-
Obtenha a configuração de NTP atual digitando o seguinte comando:
w32tm /query /configuration
Esse comando retorna as definições de configuração atuais para a instância do Windows e mostrará se você está conectado ao Serviço de Sincronização Temporal da Amazon.
-
(Opcional) Obtenha o status da configuração atual digitando o seguinte comando:
w32tm /query /status
Esse comando retorna informações, como o último horário em que a instância foi sincronizada com o servidor NTP e o intervalo de sondagem.
Para alterar o servidor NTP para usar o Amazon Time Sync Service
-
Na janela de prompt de comando, execute o seguinte comando:
w32tm /config /manualpeerlist:169.254.169.123 /syncfromflags:manual /update
-
Verifique suas novas configurações usando o seguinte comando:
w32tm /query /configuration
Na saída retornada, verifique se
NtpServer
exibe o endpoint IPv4169.254.169.123
.
Configurações de NTP (Network Time Protocol) padrão para AMIs do Windows da Amazon
As Imagens de máquina da Amazon (AMIs) geralmente aderem aos padrões prontos para uso, exceto em casos em que alterações são necessárias para que funcionem na infraestrutura do EC2. As seguintes configurações foram determinadas para funcionar de maneira adequada em um ambiente virtual, bem como manter qualquer desvio de relógio dentro um segundo de precisão:
-
Intervalo de atualização: rege a frequência com que o serviço de hora acertará a hora do sistema para garantir sua precisão. A AWS configura o intervalo de atualização para ocorrer uma vez a cada dois minutos.
-
Servidor NTP: a partir da versão de agosto de 2018, as AMIs usam o Serviço de Sincronização Temporal da Amazon por padrão. Esse serviço de horário pode ser acessado em qualquer Região da AWS no endpoint IPv4 169.254.169.123. Além disso, o sinalizador 0x9 indica que o serviço de horário está atuando como um cliente e utiliza o
SpecialPollInterval
para determinar a frequência com a qual realizar verificações com o servidor de horário configurado. -
Tipo – "NTP" significa que o serviço atua como um cliente NTP autônomo em vez de agir como parte de um domínio.
-
Habilitado e InputProvider: o serviço de hora está habilitado e fornece a hora ao sistema operacional.
-
Intervalo de pesquisa especial: verifica o servidor NTP configurado a cada 900 segundos (15 minutos).
Caminho de registro | Nome da chave | Dados |
---|---|---|
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 |
Enabled |
1 |
HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient |
InputProvider |
1 |
HKLM:\System\CurrentControlSet\services\w32time\TimeProviders\NtpClient |
SpecialPollInterval |
900 |
Conectar-se ao endpoint IPv6 do Serviço de Sincronização Temporal da Amazon
Esta seção explica como as etapas descritas no Conectar-se ao endpoint IPv4 do Serviço de Sincronização Temporal da Amazon diferem se você estiver configurando a instância para usar o Serviço de Sincronização Temporal da Amazon local por meio do endpoint IPv6. Ela não explica todo o processo de configuração do Amazon Time Sync Service.
O endpoint IPv6 só é acessível em instâncias baseadas em Nitro.
nota
Não recomendamos usar as entradas de endpoint IPv4 e IPv6 em conjunto. Os pacotes IPv4 e IPv6 NTP vêm do mesmo servidor local para a sua instância. Configurar ambos os endpoints IPv4 e IPv6 é desnecessário e não melhorará a precisão da hora na instância.
Use as instruções para o sistema operacional da sua instância.
Dependendo da distribuição do Linux que está usando, ao chegar à etapa de edição do arquivo chrony.conf, você estará usando o endpoint IPv6 do Serviço de Sincronização Temporal da Amazon (fd00:ec2::123
) em vez do endpoint IPv4 (169.254.169.123
):
server fd00:ec2::123 prefer iburst minpoll 4 maxpoll 4
Salve o arquivo e confirme que o chrony
está usando o endpoint IPv6 fd00:ec2::123
para sincronizar a hora:
[ec2-user ~]$
chronyc sources -v
Na saída, se você vir o endpoint IPv6 fd00:ec2::123
, a configuração estará concluída.
Ao chegar à etapa de alteração do servidor NTP para usar o Serviço de Sincronização Temporal da Amazon, você estará usando o endpoint IPv6 do Serviço de Sincronização Temporal da Amazon (fd00:ec2::123
) em vez do endpoint IPv4 (169.254.169.123
):
w32tm /config /manualpeerlist:fd00:ec2::123 /syncfromflags:manual /update
Verifique se as novas configurações estão usando o endpoint IPv6 fd00:ec2::123
para sincronizar o horário:
w32tm /query /configuration
Na saída, verifique se NtpServer
exibe o endpoint IPv6 fd00:ec2::123
.
Conectar-se ao relógio PTP físico
O relógio de hardware baseado em PTP faz parte do AWS Nitro System, portanto, pode ser acessado diretamente em instâncias bare metal e virtualizadas do EC2 com suporte, sem a necessidade de usar recursos do cliente.
Os endpoints NTP para o relógio de hardware PTP são os mesmos do Serviço de Sincronização Temporal da Amazon normal. Se a instância tiver um relógio de hardware PTP e você tiver configurado a conexão NTP (com o endpoint IPv4 ou IPv6), a hora da instância será automaticamente obtida do relógio de hardware PTP via NTP.
Para instâncias do Linux, é possível configurar uma conexão PTP direta, o que fornecerá uma hora mais precisa do que a conexão NTP. As instâncias do Windows só são compatíveis com uma conexão NTP para o relógio de hardware PTP.
Requisitos
O relógio PTP físico está disponível em uma instância quando os seguintes requisitos são atendidos:
-
Regiões da AWS com suporte: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Ásia-Pacífico (Malásia), Ásia-Pacífico (Tóquio) e Europa (Estocolmo)
-
Famílias de instâncias suportadas:
-
Uso geral: M7a, M7g, M7gd, M7i, M8g
-
Otimizada para computação: C7a, C7gd, C7i, C8g
-
Otimizada para memória: R7a, R7g, R7gd, R7i, R8g, X8g
-
-
(Somente Linux) Driver do ENA, na versão 2.10.0 ou em versões posteriores, instalado em um sistema operacional compatível. Para obter mais informações sobre os sistemas operacionais compatíveis, consulte os pré-requisitos
do driver no GitHub.
Esta seção descreve como configurar a instância do Linux para usar o Serviço de Sincronização Temporal da Amazon local por meio do relógio de hardware PTP usando uma conexão PTP direta. É necessário adicionar uma entrada do servidor para o relógio de hardware PTP ao arquivo de configuração do chrony
.
Para configurar uma conexão PTP direta com o relógio de hardware PTP (somente instâncias do Linux)
-
Conecte-se à sua instância do Linux e faça o seguinte:
-
Instale o driver do kernel Linux para o Adaptador de Rede Elástica (ENA) versão 2.10.0 ou posterior.
-
Habilite o relógio de hardware PTP.
Para obter as instruções de instalação, consulte Linux kernel driver for Elastic Network Adapter (ENA) family
no GitHub. -
-
Verifique se o dispositivo
/dev/ptp0
aparece na instância.[ec2-user ~]$
ls /dev/ptp0
A saída esperada é mostrada a seguir. Se
/dev/ptp0
não estiver na saída, o driver ENA não foi instalado corretamente. Revise a etapa 1 desse procedimento para instalar o driver./dev/ptp0
-
Edite o
/etc/chrony.conf
o usando um editor de texto e adicione a linha a seguir em qualquer ponto no arquivo.refclock PHC /dev/ptp0 poll 0 delay 0.000010 prefer
-
Reinicie o chrony.
[ec2-user ~]$
sudo systemctl restart chronyd
-
Verifique se o chrony está usando o relógio PTP físico para sincronizar a hora nessa instância.
[ec2-user ~]$
chronyc sources
Saída esperada
MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #* PHC0 0 0 377 1 +2ns[ +1ns] +/- 5031ns
Na saída retornada,
*
indica a fonte de hora preferida.PHC0
corresponde ao relógio PTP físico. Pode ser necessário esperar alguns segundos após reiniciar o chrony para que o asterisco apareça.