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


当前回答

这是解决这个问题的技巧,它不起作用:

提示—如果您的实例没有公共DNS名称,请在VPC控制台,选择VPC,在“概要”页签。如果“DNS解析”或“DNS主机名”中有一个为“否”,单击“编辑”,修改为“是”。

假设你已经这样做了,你仍然没有得到一个公共IP,然后在VPC管理屏幕转到有问题的子网,你可能会发现“自动分配公共IP”没有设置为yes。修改这个设置,我知道你不想在子网中创建一个新实例。据我所知,你不能在主机上修改这个,我试了又试,只是终止它。

其他回答

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

When you create a custom VPC, if you want aws resources such as ec2 instances to acquire public IP addresses so that the internet can communicate with them, then you first must ensure that the ec2 instance is associated with a public subnet of the custom VPC. This means that subnet has an internet gateway associated with it. Also, you need to ensure that the security group of the VPC associated with ec2 instance has rules allowing inbound traffic to the desired ports, such as ssh, http and https. BUT here are some common oversights that still occur:

1)确保VPC已启用DNS主机名

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

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

实际上,在VPC中有一个叫做“DNS主机名”的设置。可修改EC2实例所在的VPC,将该选项修改为“是”。这样应该可以了。

我昨天遇到了这个问题,尝试了曼尼的上述答案,但没有奏效。不过,VPC的设置对我很有用。

最终我添加了一个EIP,我用它来连接。

问题是删除了VPC中的DNS主机名。你可以像这样轻松地启用它:

进入控制台中您的实例,然后单击您的VPC ID。 在VPC中,勾选“编辑DNS主机名” 将其设置为启用并保存更改。 现在,在您的EC2实例窗口中,您可以找到DNS:

首先,这可能有两个原因:

已创建VPC,但忘记开启“公共DNS”。

要解决这个问题:

i)进入“AWS VPC控制台”,选择已创建的VPC。

ii)然后单击“操作”,然后启用DNS解析。

            OR

您没有在EC2配置中启用公共ip-assign选项。

这里你不能改变设置;因此,创建一个ami映像,然后从中重新创建实例。

我试图修复“没有公共DNS” 一旦EC2启动并运行,我就无法添加公共DNS

这甚至是在按照上述步骤制作VPC或子网的mod之后

所以,在启动另一个实例之前,我必须对子网和vpc进行修改,然后再启动一个新实例。

新实例有一个公共DNS。这就是我的工作方式。