了解 Amazon 为 EC2 实例分配的公共 DNS 的使用以及弹性 IP 的重要性

Posted

技术标签:

【中文标题】了解 Amazon 为 EC2 实例分配的公共 DNS 的使用以及弹性 IP 的重要性【英文标题】:Understanding usage of Public DNS assigned by Amazon for an EC2 Instance and importance of Elastic IPs 【发布时间】:2017-10-15 03:09:25 【问题描述】:

在我的 Amazon EC2 实例中,我有以下详细信息。这些值只是一个示例:

公共 DNS (IPv4) - ec2-1-2-3-4.compute-1.amazonaws.com IPv4 公共 IP - 1.2.3.4 弹性 IP - 1.2.3.4

我了解,当您拥有弹性 IP 时,每次重启实例时,您都会收到与弹性 IP 相同的公共 IP。但问题是,我在这里获得了一个公共 DNS。所以,我的问题是

    如果我提供了公共 DNS,那我为什么需要弹性 IP? 如果我没有弹性 IP,公共 DNS 是否会与公共 IP 一起更改? 如果公共 DNS 发生变化,那它还有什么用?

【问题讨论】:

【参考方案1】:

与公有 IPv4 地址关联的公有 DNS 名称采用以下形式:ec2-1-2-3-4.compute-1.amazonaws.com 其中1.2.3.4 是与实例关联的 IP 地址当它启动并运行时!这意味着当您的实例关闭并重新启动(未重新启动)时,您获得具有新 DNS 名称的新公共 IPv4 地址。 考虑后者:

    因为您无法预测您将获得的 DNS 名称 确实 很方便,如果您要创建一个将向 Route53 注册的动态 DNS 系统,将其用作 CNAME 目标可能会很有趣

【讨论】:

【参考方案2】:

只是要分享一下为什么如果您是认真的,您确实需要 ElasticIP。无论您的 DNS 是什么。

在创建依赖于特定最终用户向服务器发送数据和从服务器接收数据的系统的情况下。如果你需要扩展面向世界的服务器,(更不用说网关后面的那些),那么突然当你扩展时,你花了 10 分钟,你会发现自己有很多愤怒的人突然不能进入服务器,因为他们拥有的 IP 地址不再有效。

这就是 ElasticIP 的用途。永远不必担心IP。

还有很多其他场景可以布局我认为 ElasticIP 不仅仅是方便。对于任何严肃的系统来说,它都是必不可少的。 MHO

【讨论】:

以上是关于了解 Amazon 为 EC2 实例分配的公共 DNS 的使用以及弹性 IP 的重要性的主要内容,如果未能解决你的问题,请参考以下文章

从 JAVA API 获取 Amazon EC2 实例的公共 DNS

如何从 Amazon EC2 实例中找出“公共 DNS 名称”?

在 Amazon EC2 实例上阻止与 GeoServer 的公共连接

如何在 Amazon EC2 上获取所有公共 IP 及其实例名称的列表

使用 Route 53 服务将 DNS 名称分配给 EC2 实例的最简单方法是啥?

在 Amazon EC2 上,是不是可以将密钥对重新分配给已运行的实例?