我和一个同事一起工作,他给了我 EC2 凭证以便登录他的 EC2 控制台。但是我不是那个设置它的人。有些实例显示公共 DNS 名称,而其他实例则没有。我想要连接到没有公共 DNS 的实例上。我一直没能找出为什么会这样。
我和一个同事一起工作,他给了我 EC2 凭证以便登录他的 EC2 控制台。但是我不是那个设置它的人。有些实例显示公共 DNS 名称,而其他实例则没有。我想要连接到没有公共 DNS 的实例上。我一直没能找出为什么会这样。
我曾经遇到了同样的问题并解决了它。请查看以下逐步说明:
实际上,VPC 中有一个名为“DNS 主机名”的设置。您可以修改 EC2 实例所在的 VPC,并将其更改为“是”。那应该就可以解决问题了。
昨天我遇到了这个问题,并尝试了 Manny 提供的答案,但它并没有起作用。然而,VPC 设置对我有效。
最终,我添加了一个 EIP 并使用它进行连接。
DNS 主机名:是
,在 my-pvc 上没有分配公共 IP(只有私有 IP)。
确定要设置 自动分配公共 IP 为
启用
.
如果未选择,则默认设置为使用子网设置(禁用)
。
这是解决无法工作问题的提示:
提示- 如果您的实例没有公共DNS名称,请打开VPC控制台,选择VPC并检查摘要选项卡。如果DNS解析或DNS主机名任一项显示“否”,请单击“编辑”并将该值更改为“是”。
假设您已经完成了上述操作但仍未获得公共IP,则转到VPC管理屏幕中相关的子网,您可能会发现“自动分配公共IP”未设置为“是”。 修改该设置,然后(我知道您不想听)在该子网中创建一个新实例。据我所知,您无法在主机上修改此设置,我尝试了很多次,只能终止它。
最终您将获得公共 DNS。
这与VPC的名为“DNS主机名”的功能相关。您可以启用或禁用它。转到VPC,在操作菜单下选择“编辑DNS主机名”项,然后选择“是”。这样做后,EC2实例的公共DNS应该会显示出来。
在这里,我将总结最常见的问题:
当您创建自定义VPC时,如果您希望AWS资源(例如EC2实例)获取公共IP地址以便互联网可以与它们通信,则首先必须确保EC2实例与自定义VPC的公共子网相关联。这意味着该子网具有与之关联的Internet网关。此外,您需要确保与EC2实例相关联的VPC的安全组具有允许入站流量到所需端口(如ssh、http和https)的规则。但是以下是一些常见的疏忽:
1)您必须确保为VPC启用了DNS主机名
2)您必须确保与EC2实例链接的公共子网启用了其“自动分配公共IP”标志
3)如果实例已经创建,则您可能需要终止它并创建一个新的实例,以便填充公共IP和公共DNS字段。
只需启动另一个实例(如果该实例无用,请将其删除),并确保这次勾选“自动分配公共 IP 地址给您的实例”。如果没有,就像 slayedbylucifer 建议的那样;为实例分配弹性 IP(EIP),然后使用该 IP 登录。但要小心,如果您正在运行免费的 AWS 层,则 EIP 将花费您的资金 - 这是完全另一回事。
DNS主机名:是
,但只有在启动实例时才是私有ID。只有在使用弹性IP时,我才能获取公共IP。 - eQ19