AWS 实例时钟是否以分钟精度同步?

Are AWS instances clocks synchronized with minute precision?

我的问题是: AWS worker(例如 EC2、Lambdas 等)之间的时间在分钟级别同步(即 Unix Time它们之间最多可以相差 1 分钟)?

为什么我需要这个:我正在 AWS 中创建一个系统,其中系统定期(每 5 分钟不少于 1 个)将以下工作安排给池中的工作人员:

  1. 获取本地 Unix Time 作为 jobTime
  2. 从源数据存储读取。
  3. 做改造。
  4. 如果 jobTime 晚于目标数据存储中存储的内容,则写入目标数据存储。

很简单,嗯?这种方法在 Target 数据存储上保证 Monotonic Reads(这是我们要求的一部分),条件是跨 worker 的 Unix 时间是 "sufficiently" synchronized/reliable(这是我需要知道的).

一致且准确的时间参考对于许多服务器任务和进程至关重要。大多数系统日志都包含一个时间戳,您可以使用它来确定问题发生的时间以及事件发生的顺序。如果您使用 AWS CLI 或 AWS 开发工具包从您的实例发出请求,这些工具会代表您签署请求。如果您的实例的日期和时间设置不正确,签名中的日期可能与请求的日期不匹配,AWS 会拒绝该请求。

Amazon 提供 Amazon Time Sync Service,可以从所有 EC2 实例访问,也可以被其他 AWS 服务使用。该服务在每个区域使用一组卫星连接的原子参考时钟,通过网络时间协议 (NTP) 提供协调世界时 (UTC) 全球标准的准确当前时间读数。 Amazon Time Sync Service 自动平滑添加到 UTC 的任何闰秒。

Amazon 时间同步服务可通过 NTP 在 VPC 中的任何实例 运行 的 169.254.169.123 IP 地址上使用。您的实例不需要访问互联网,并且您不必配置安全组规则或网络 ACL 规则来允许访问。最新版本的 Amazon Linux 2 和 Amazon Linux AMI 默认与 Amazon Time Sync Service 同步。

使用以下过程使用 chrony 客户端在您的实例上配置 Amazon 时间同步服务。 ...

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

该服务建立在亚马逊经过验证的网络基础设施之上,利用 AWS 区域中的一组冗余卫星连接和原子参考时钟来提供协调世界时 (UTC) 全球标准的当前时间读数。该服务旨在通过持续监控的时间基础设施实现高可用性,并提供低方差参考时间源。

https://aws.amazon.com/about-aws/whats-new/2017/11/introducing-the-amazon-time-sync-service/