7

我只是尝试与 EC2 实例上的 NTP-Server 同步时间:

服务器 0.amazon.pool.ntp.org iburst
服务器 1.amazon.pool.ntp.org iburst
服务器 2.amazon.pool.ntp.org iburst
服务器 3.amazon.pool.ntp.org iburst

不幸的是,我无法与 NTP-Server 同步。我的问题是:

  1. 我们是否必须在安全组中打开端口以允许 NTP-Server 连接到 EC2 实例?
  2. 如果是,那么我们如何知道哪个 IP 是amazon.pool.ntp.org它会随着时间而变化)并且我们无法打开所有流量

在此先感谢,
Toan Dao

4

4 回答 4

7

根据 AWS 的文件

Amazon Linux 实例上默认配置网络时间协议 (NTP);但是,实例需要访问 Internet 才能使标准 NTP 配置正常工作。您的实例的安全组还必须允许端口 123 (NTP) 上的出站 UDP 流量
来源:http ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

因此,我们需要允许安全组上端口 123 上 0.0.0.0/0 的出站流量,以使 NTP 正常工作

于 2016-03-08T09:31:18.493 回答
7

您需要允许安全组上端口 123 上的 0.0.0.0/0 的出站流量才能使 NTP 正常工作。

如果您的 EC2 实例位于公有子网中,则您只需在您的安全组上允许此操作。

但是,如果您的 EC2 实例位于私有子网中,则您需要允许端口 123 上的入站和出站流量,以便您的 NAT 传递请求和响应。您的 EC2 实例(而不是世界)需要入站。

于 2016-03-08T05:26:56.317 回答
4

对于最近访问的任何人,AWS 现在都有自己的时间服务器:https ://aws.amazon.com/blogs/aws/keeping-time-with-amazon-time-sync-service/ (也只是为了重新迭代:您确实需要在 AWS 虚拟机上进行时间同步,否则几个月后它们会出现明显的偏差)。

要使用它们,您需要将 NTP 服务器(ntpd 或 chronyd)配置为使用 server 169.254.169.123,当然还需要在端口 123/udp 上为出站打开安全组。这个神奇的 IP 在 AWS 内,因此不会离开 VPC 或进入 Internet。

请注意,通常包含多个服务器并让您的客户端从所有服务器中计算出时间。在 AWS 的情况下,即使它只是一个 IP,您也正在与多个服务器通信,因此不需要特别使用多个 IP。如果您被允许使用 Internet NTP 服务器以及 AWS 一台,那么配置多个服务器并没有什么坏处,也许在 AWS 一台服务器上有一个prefer选项。

于 2019-09-09T14:10:21.383 回答
-3

不需要为 NTP 开放入站流量,只需要出站访问。只要你的实例能上网,就可以解析ntp池地址。

因此,请打开您的出站地址/端口,并确保您的实例可以直接或通过 NAT 或通过其他方式访问互联网。

于 2016-03-08T04:53:17.887 回答