AWS的169.254.169.254 IP地址有何特别之处?[关闭]


76

该IP似乎正在运行一项为实例提供大量有用元数据的服务,但是我想知道为什么169.254.169.254吗?该IP地址有什么特别之处?并且还想知道是否该IP被该服务占用的事实是否让我错过了通过Internet连接到具有该IP的服务器的机会吗?


Answers:


139

169.254.169.254是保留的IPv4链接本地地址空间169.254.0.0/16中的IP地址(169.254.0.0至169.254.255.255)。类似于RFC-1918中的专用地址范围(10.0.0.0/8、172.16.0.0/12和192.168.0.0/16),在某种意义上,该块也不能在Internet上使用,因此“链接本地”功能更进一步。限制为无法通过任何路由器¹访问-根据设计,它们仅存在于直接连接的网络中。

AWS需要创建可从任何系统访问的服务端点,并且在此块中选择地址会导致它与不常用的IP地址空间发生冲突。明智的选择。

大概是因为其美观性或易于记忆而选择了该块中的此特定地址。


有趣的事实!相邻地址169.254.169.25 3VPC中的DNS解析器,除了您可能熟悉的地址之外,它与VPC超级网络的基准偏移量为2。这对于配置独立于操作系统进行自己的DNS查找的软件(例如HAProxy)非常方便,因此,当将软件部署在不同的VPC中时,无需修改软件中的DNS解析器配置。没有记录的理由相信该地址代表的地址解析器与您地址块中的解析器“不同”,只是访问同一事物的一种不同方式。


但是,等等,还有更多!169.254.169。123提供了第3层NTP时间源,允许实例从Amazon Time Sync Service中使用ntpd或chrony维护其系统时钟时间,而无需访问Internet 。该服务还使用Amazon的leap秒逻辑在发生的每一天分配所有leap秒,而不是将时钟从23:59:59推进到23:59:60到00:00:00,这可能是有问题的。


¹在大多数IP协议栈中,通过任何路由器都不可达不是硬性约束,因为链接本地地址可能是静态路由的对象,但是通常认为这些地址不可路由。


3
>独立于操作系统的DNS查找(例如HAProxy)正是我的用例!
罗里·哈特

为了强调它与AWS无关,其他一些云提供商的文档: Vultr ; 数字海洋; 天蓝色; (谷歌使用metadata.google.internal,我怀疑可以解决这个问题,但是我没有使用它,因此无法验证。)
OJFord

1
@OJFord是正确的,metadata.google.internal进一步解析为169.254.169.254,返回的api metadata.google.internal / computeMetadata / v1 / instance /…的值确实是169.254.169.254
rupert160 '19

2
@ rupert160是的,但是最初的问题是关于AWS的。据我所知,其他云提供商都遵循了AWS在使用此特定地址方面建立的领导地位,但没有内在含义。在其他情况下也发生了从AWS复制的情况,例如Google Cloud Storage,其XML API与S3如此“兼容”,以至GCS“迁移”文档中 都有一个包含凭证范围的请求签名示例20190301/us-east-1/s3/aws4_request
Michael-sqlbot
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.