gpt4 book ai didi

linux - 即使公共(public) IP 地址可能发生变化,Amazon EC2 实例能否拥有静态公共(public) DNS?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:49 26 4
gpt4 key购买 nike

关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。












想改进这个问题?更新问题,使其成为 Stack Overflow 的 on-topic

6年前关闭。




Improve this question




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

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

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

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

我曾假设有一个选项可以获得一个固定的公共(public) DNS,亚马逊可以在内部解析到正确的实例,就像我想象的例子:
ec2-myinstance1-112233445566.ap-location-1.compute.amazonaws.com

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

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

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

但无论如何,Amazon AWS 应该能够在内部进行管理(因为实例标识符是 amazonaws.com 的子子域),而实例操作系统本身绝对没有变化。

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

最佳答案

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

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

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

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

关于linux - 即使公共(public) IP 地址可能发生变化,Amazon EC2 实例能否拥有静态公共(public) DNS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com