【问题标题】:Can Amazon EC2 instance have a static public DNS even if public IP address may change? [closed]即使公共 IP 地址可能发生变化,Amazon EC2 实例是否可以拥有静态公共 DNS? [关闭]
【发布时间】:2016-04-06 10:21:24
【问题描述】:

请注意,我确实希望 AWS 为我的 EC2 实例分配静态 IP 地址。请花点时间阅读问题。

每次我停止和启动我的 EC2 实例时,Amazon AWS 都会分配一个新的 IP 地址,我对此很满意。但是,Amazon AWS 还基于此 IP 地址分配一个公共 DNS 主机名。这完全违背首先拥有主机名的目的,因为主机名应该可以帮助您找到服务器,即使其 IP 地址已更改。

例如,如果 IP 地址是 12.34.56.78,AWS 会分配一个公有 DNS 名称,如下所示:

ec2-12-34-56-78.ap-location-1.compute.amazonaws.com

我曾假设有一个选项可以获得一个固定的公共 DNS,亚马逊可以在内部解析到正确的实例,就像我想象的例子:

ec2-myinstance1-112233445566.ap-location-1.compute.amazonaws.com

myinstance1 是我在 EC2 控制台中定义的实例名称,112233445566 是我的账户 ID。

这样,即使公共 IP 地址更改为 23.45.67.89,公共 DNS 仍将与基于固定详细信息的完全相同。

我注意到,使用名为"No-IP" 的外部第三方服务可以进行类似的设置。但这会产生外部依赖性,并且需要在实例中的操作系统级别进行配置,以启动守护程序服务来进行更新。听起来AWS端的IP地址更改和No-IP端的相应更新之间可能存在延迟。 (试过了,它给出了一个简短而简洁的地址,例如myhostname.ddns.net。现在应该可以了,操作系统级别的配置非常简单明了。)

但无论如何,Amazon AWS 应该能够在内部进行管理(因为实例标识符是amazonaws.comsub-sub-sub-domain),而实例操作系统绝对没有变化自己。

他们为什么不提供这个选项? 使用 No-IP 或类似的第三方服务是唯一的方法吗?还是我没有找到隐藏的宝藏?

【问题讨论】:

  • ec2-myinstance1-112233445566 不是唯一的。您希望 AWS 如何解决它?您可以拥有多个名称为 myinstance1 的实例。
  • 为什么不想使用弹性 IP 地址?
  • helloV, 我认为如果我想要一个固定的公共 DNS,AWS 可以轻松地在具有给定账户 ID 的账户中强制实施唯一的实例名称,即使他们不需要从现在开始这样做。 MattHouser, 弹性 IP 地址不是付费服务吗?此外,如果您真的不需要它,他们警告您不要使用它,因为 IPv4 地址是一种稀缺资源。而且我这里不需要静态 IP 地址。
  • 弹性 IP 仅在持有但未使用时支付。因此,如果您在实例上使用 IP 地址,它是免费的。或者,您可以使用 Route 53 以及一个小的操作系统级脚本。

标签: linux amazon-web-services amazon-ec2 dns noip


【解决方案1】:

我永远无法理解人们何时提出问题,而问题的前提是“我知道这个问题的解决方案是什么,但我不想使用它”——解决方案是分配一个弹性 IP - 这就是弹性 IP 将为您做的事情 - 即为您提供一个您可以分配和使用的 IP,无论底层实例如何......也就是说,一般来说,我经常听到 AWS 演讲者使用您需要处理的类比您的服务器就像养鸡农对待他们的鸡,而不是像家人对待宠物一样。

宠物有名字,当宠物生病时,您可以将它们带到兽医处,让它们恢复健康。养鸡者(无论如何都是大的),不要给他们的鸡起名字,他们生病时也不会把它们带到兽医那里 - 他们让它们死去,并在它们的位置放上一个新的(我知道,残酷的类比,但这一点是正确的)。

您无需命名您的服务器 - 它们是一次性的。 Web 服务器(例如)通常位于负载均衡器之后,它们在自动缩放组内启动和停止,并且当实例成为或离开 ASG 的一部分时,负载均衡器会收到通知 - 这就是您管理服务器的方式,它们不需要有名字。

如果您绝对肯定必须像对待宠物一样对待您的服务器并为其命名,那么请使用 AWS 提供的设施 - 一个弹性 IP,这是最简单的解决方案。 (是的,EIP 是一项付费服务​​,就像所有其他 AWS 服务一样——它们毕竟是一项业务),如果您真的不想使用 EIP 选项,那么在您的实例开始使用新的 IP 地址更新您的 route-53/dns 记录。

【讨论】:

  • 对负载平衡器部分的深入了解,这很有意义。但是我的用例很小,我不需要负载均衡器。我只有一个实例(是的,pet)。无论如何,现在,我将只使用 No-IP。顺便说一句,我已经说明了我不喜欢使用弹性 IP 的原因。咆哮是没有必要的。
  • 投了反对票,因为它没有回答所提出的问题。
  • 这个答案并没有多大意义。对“牛不是宠物”的陈词滥调的整个引用并不真正相关。问题是问为什么 AWS 会使用稀缺的 IPv4 地址,而不是允许人们使用 DNS 来实现它的目的。它仍然没有答案,我想你必须问 AWS 的人。
猜你喜欢
  • 1970-01-01
  • 2021-08-13
  • 2020-02-28
  • 1970-01-01
  • 2014-01-23
  • 2017-06-25
  • 2016-03-21
  • 2016-03-18
  • 1970-01-01
相关资源
最近更新 更多