EC2实例没有公共DNS

use*_*508 277 amazon-ec2 amazon-web-services amazon-vpc

我工作的人给了我EC2凭证登录他的EC2控制台.我不是那个设置它的人.一些实例显示公共DNS名称,而其他实例显示空白公共DNS.我希望能够连接到具有空白公共DNS的实例.我无法弄清楚为什么这些显示为空白.

小智 568

我有同样的问题解决了它.看一下分步说明:

  • 转到console.aws.amazon.com
  • 转到服务 - > VPC
  • 打开你的VPC
  • 选择连接到EC2和的VPC
  • 选择Actions => Edit DNS Hostnames ---> Change DNS hostnames:to YES

希望这可以帮助!

干杯

  • +1您现在还需要设置子网以允许自动分配公共IP.右键单击子网>修改自动分配公共IP>选中此框 (72认同)
  • 这是最好的答案.应该检查! (5认同)
  • @Vignesh我没有为现有实例获取公共IP或DNS。停止和重新启动并没有什么改变。唯一有效的方法是终止并重新创建实例。 (3认同)
  • 包含VPC的部分现在称为网络.要进行编辑,请右键单击VPC. (2认同)
  • 即使当我尝试添加弹性 Ip 时,它也无法正常工作,直到更改 dns 主机名的选项设置为 yes。 (2认同)

Mik*_*e T 54

VPC中实际存在一个名为"DNS主机名"的设置.您可以修改EC2实例所在的VPC,并将其更改为"是".这应该够了吧.

我昨天遇到了这个问题,并尝试了Manny的上述答案,但没有奏效.VPC的设置,但是,确实为我工作.

最后我添加了一个EIP,我用它来连接.

  • 我认为您应该能够为该节点添加一个弹性 IP,不是吗? (2认同)

sla*_*fer 37

听起来这个实例是在VPC中启动的,当这样做时,Automatically assign a public IP address to your instances没有选中复选框.因此,该实例没有公共IP

您可以为此实例分配弹性IP,然后使用该IP登录.

  • 事后是否有办法分配公共知识产权?我没有看到编辑实例详细信息设置的方法. (3认同)
  • @DavidBalažic,同样.对于实例的生命周期,您无法附加pub IP.Pub IP只能在发布时附加. (3认同)
  • @slayedbylucifer停止的实例怎么样? (2认同)

Che*_*ana 26

在我的情况下,我发现slayedbylucifer和其他人指出相同的答案是有效的.
即使设置DNS hostname: yesmy-pvc(仅Privat IP)也没有分配公共IP .

绝对必须设置自动分配公共IPEnable.
如果未选中,则默认设置为Use subnet setting (Disable)

分配公共IP


小智 23

  1. 转到AWS控制台.
  2. 转到"服务"并选择"VPC"
  3. 点击vpc.
  4. 选择实例,然后单击"操作".
  5. 选择"编辑DNS主机名",单击"是".

最后,你将得到你的公共dns.


小智 21

这是为解决不起作用的问题而提供的提示:

提示 - 如果您的实例没有公共DNS名称,请打开VPC控制台,选择VPC,然后选中"摘要"选项卡.如果DNS解析或DNS主机名为否,请单击"编辑"并将值更改为"是".

假设您已完成此操作并且仍未获得公共IP,则在VPC管理屏幕中转到相关子网,您可能会发现"自动分配公共IP"未设置为"是".然后修改该设置,我知道你不想在这里,在该子网中创建一个新实例.据我所知,你不能在主机上修改它,我试过试过,只是终止它.


Nef*_*nic 20

对我来说问题出在子网设置中.

  1. 打开https://console.aws.amazon.com/vpc
  2. 转到左侧菜单中的子网
  3. 选择你的子网
  4. 修改自动分配IP设置以启用


Don*_*ato 14

在这里,我将总结最常见的问题:

创建自定义 VPC 时,如果您希望 ec2 实例等 aws 资源获取公有 IP 地址,以便 Internet 可以与它​​们通信,那么您首先必须确保 ec2 实例与自定义 VPC 的公有子网相关联。这意味着子网有一个与之关联的 Internet 网关。此外,您需要确保与 ec2 实例关联的 VPC 的安全组具有允许入站流量到达所需端口的规则,例如 ssh、http 和 https。但这里有一些常见的疏忽仍然发生:

1) 您必须确保为 VPC 启用 DNS 主机名

2) 您必须确保链接到 EC2 实例的公有子网启用了“公有 ip 自动分配”标志

3) 如果实例已经创建,那么您可能需要终止它并为要填充的公共 IP 和公共 DNS 字段创建一个新实例。


小智 10

只需启动另一个实例(如果没有用,也删除有问题的实例)并确保这次检查"自动为您的实例分配公共IP地址".如果不是那么slayedbylucifer建议; 为实例分配弹性IP(EIP),然后使用该IP登录.但要小心,如果您正在运行免费的AWS层,那么EIP将花费您的钱 - 这是一个完整的'其他主题..


小智 9

它与VPC的“ DNS主机名”功能有关。您可以启用或禁用它。转到VPC,在“操作”菜单下,选择“编辑DNS主机名”项,然后选择“是”。这样做之后,应显示EC2实例的公共DNS。


Ben*_*enR 7

验证 VPC 和子网设置后,我的 EC2 实例仍然没有公共 DNS。经过一天的寻找解决方案,我终于想通了。

我必须创建一个新的弹性 IP 地址,然后将其关联到我的实例。

从 EC2 仪表板:

转到弹性 IP从侧边栏。

单击分配新地址,然后分配

返回 EC2 仪表板。转到网络接口

选择没有公有 DNS 的 EC2 实例。然后操作 - 关联地址

地址字段中,选择新的弹性 IP 地址。

关联到私有 IP 地址字段中,选择没有公共 DNS 的私有 IP 地址。

单击关联地址

您的 EC2 实例现在应该有一个公共 DNS。


Pat*_*k R 5

首先,可能有两个原因:

  1. 您已创建自己的VPC并忘记启用公共DNS.

要解决这个问题:

i)转到AWS VPC控制台并选择您创建的VPC.

ii)然后单击"操作",然后启用"DNS解析".

            OR
Run Code Online (Sandbox Code Playgroud)
  1. 您尚未在EC2配置中启用public ip-assign选项.

在这里你不能改变设置; 所以创建一个ami图像,然后从中重新创建实例.